 Well I can only describe a very lightning talk on tales of the not-so-successful dev arts short session my name is Debbie Ren I'm an agile coach with JP Morgan and our talk today is really some of our experiences around bridging the gap between development and operations and I'm Ashish Mediratha I'm also an agile coach in JP Morgan so we kind of collated all our experience and whatever we've seen in the film and trying to bring it together in this condensed form for you guys today hopefully we can take something from us. So when we look at agile and we look across the years the message that's come across loud and clear is the promise of agility the promise of agility better faster cheaper happier all four dimensions which most organizations when they're looking at improving and closing the gap between the various parts of the organization that are trying to deliver software are all aspiring to these various elements. As we talk about the promise of agility right but you have to talk about and session is focusing on the DevOps state today right so what is the state of DevOps it's a long journey it's a long road right all of us are on that journey some are far ahead some are a little behind and some are still even to get started right and we all understand that there are many challenges and we are still all figuring out our solution so hopefully some of the things we'll talk about next will help you understand our perspective and maybe you can relate to them. So some of the challenges that we have seen are how do you how are the teams structured today right from purely a structural point of view so you'll have mostly the build teams which is your scum team right or feature teams and then you have your ops team which are completely separate right they are like in two different worlds they don't look eye to eye they don't see each other right they don't talk to each other so it's the separation boundaries are today in the sense you really don't even know sometimes who's my ops guy who's actually deploying my code so those are some of the ways or the challenges which are there right now for us right the teams are not just separated by distance but they're also separated by the fact the way they work right so there is from the build side of the world there is we gotta roll out these features every two weeks we gotta we have this chunk of functionality coming every two weeks or whatever your cycle is right and then the ops guys are hold on hold on I gotta keep my system stable right I can't take every two weeks I can't take things right so that whole mindset is in a conflict right so you have one folk throwing things on the other side of the wall and the other guy saying I can't take it I can't take it it's because I have to support the customers have to make sure whatever you're throwing doesn't bring the system down and so I have my own ways my own policies my own rules set for me while this other side of the fence you have this now whole movement where we are saying yeah we can deliver whenever we want right then sometimes in organizations like us we have not just few choices but large choices right now we have so many groups so many programs and at varying levels of complexity and different technologies so this you're actually spoiled there in the sense that which ones are the right ones to use which ones are the right ones you want to take forward maybe based on your technology roadmap or your strategy and then there are the ones which probably they are gaining traction but you really haven't wetted them out right so maybe and then there's some you want to drop completely the other key challenge is about transparency right so transparency is about how much can I see what's happening in the ops world and how much can I see what's happening in my building right can the ops guys look across the wall can the dev guys look across the wall so again the transparency both on the upstream downstream systems is extremely low in many cases many projects and all this comes back to the culture or the fact that how much do you trust the other one the other team yeah so let's when you ask this question to teams and they're like yeah we've seen some of them I'm sure everybody in this room anybody seen any of these challenges raise your hand yeah alright so what we've seen is that although they've seen the challenge when you ask them what are you going to do about it are you doing something about it even are you thinking about changing anything and they say you know we're too busy we don't have the luxury I got my delivery pressure to do I gotta install this latest greatest patch and I can't go and look at how I am going to look for this longer term thing I just don't have the bandwidth right so so those are the ways we have found teams working out in various programs yeah so so some of the things that we have tried and I'll talk a bit about that in our solution is we are trying to break that wall basically so when we said there's a wall in the dev side and the upside you want to drill a hole through that wall so that people start to see each other right they start to see what the other person is doing what the other team is doing and you get that communication flowing freely right so it's about building your cross-functional collaboration between the two silos right and some of the things you'll find us doing we'll ask the teams to go and see the system so if you are in the dev team why don't you go and sit with the ops guy and say how are you actually doing your day-to-day work what do you really do when a customer when a server goes down what you do so just by seeing that improves and brings that empathy right on the other side the ops guys are also spending now time with the dev teams and saying yeah let's see what you guys do so there are many things that the ops can also learn right from the devs probably like version control how do you do automation so many other things in other engineering techniques right so there's so many avenues where people can collaborate with each other right so we're trying to make sure that people see the system and then you focus on the flow which is like I have this functionality it flows through the system which is I build it and then I've got to deploy it right so all of us have heard of the three amigos right so but I like to add that we have to have this fourth amigo in at least large organizations where you have this deployment person probably part of that group right so you have them coming to your stand-ups or your sprint reviews so kind of inviting and making that collaboration happen right which all leads to building trust for all this collaboration to happen what is the biggest roadblock if you ask the teams what are you being measured on right what is your success factor right and you'll find that those are conflicting really right there is the team which has to build the functionality and there is a team which has to make sure things are running as smoothly as they are and they should continue to run smoothly right so the key thing was to make sure that the goals are aligned right right at the top which is and the goals are goals are the business metrics right which is are we meeting the business needs whether it's making sure you are getting more market share where you are making more profit margins whatever it is your business goal is what the overarching goal is for both the group so that's a key thing for you as a group to go back and say what is our goal is it in conflict with this other group and what is the commonality that you want to drive for and usually those are business metrics so how do you get to do that also what we have seen is that teams have so many things which are working extremely well so the ops guys will have some great utilities written down right and they'll have some secret cheat sheets right which they only know in their team only right and then you'll have so many ops teams who each one of them may themselves may have so many other tricks up their sleeve one and on how to make sure they best optimize their reach their ability to function in that area right whether it's bringing up bringing up servers putting on new patches and all those things right and similarly on the build teams right you'll have again similar hidden gems if I may call them right so what we want is and what you've encouraged is teams to bring that all that learning forward right bring those practices forward whether it's tooling whether it's processes whether it's anything else any ideas that you are doing in your group in your small small teams kind of build that knowledge base and have that wide widely shared across the whole team and team in this case again is the build and the ops team and talking about learning here so again key message so like we said so folks are now interacting and when you interact you learn so many new things so the developers now realize the importance of what does it take for me to make sure that the system is reliable it is a high availability system what kind of log messages should I put in what kind of format so that it can be consumed by the ops tools in a consistent format so again lot of learning for developers when I say developers it's developer testers everybody on the team and on the offside again they are learning how they can influence some of those early decisions whether it's even at architectural or a design level and even look at how I can then say yeah for us to work better these are things we are looking for and they pick up a lot of like I said earlier a lot of the engineering practices know how I can manage you've heard some talks today on infrastructure as code right so now they have to start learning on the offside how I can how I need to do version control of my infra scripts right whether it's puppet chef and so on right and how I can then build quality into that part of my role and kind of make it more strategic rather than simply plugging network cables or changing hard disk drives right so again lot of emphasis on tooling and tooling is key for sharing and building on each other strength yeah yeah yeah I think we mentioned that yeah so we are encouraging them to do that and also the longer term may be to get them embedded in the teams if you can get to that direction