The DevOps Silver Bullet
When adopting DevOps, it's easy to get distracted when downturns occur after the easy wins. You need grit in order to be successful in the DevOps world.
Join the DZone community and get the full member experience.Join For Free
If you've worked in the DevOps space long enough, you'll have been offered many “silver bullets” over the years — everything from a specific tool for putting the Dev and Ops team together to specific practices like Continuous Delivery. Of course, the truth is, there is no silver bullet. Last year at the DevOps Enterprise Summit, I sat together with some of the brightest in this space. We spoke about what the potential silver bullet could be. It was surprising how quickly we all agreed what the one thing is that predicts success for DevOps in an organization.
Unfortunately, it is a silver bullet that requires a lot of discipline and work: continuous improvement.
When we surveyed the room to see what the one characteristic of companies that end up being successful with their DevOps transformation is, we all agreed that the ability to drive a mature continuous improvement program is the best indicator of success.
What Does This Mean?
For starters, it means that these companies know what they are optimizing for. There is plenty anecdotal evidence that optimizing for speed will improve quality and reduce cost in the long run (as both of those influence speed negatively otherwise). On the flip side, trying to optimize for cost does not improve quality or speed. Neither does a focus on quality, which often introduces additional expensive and time-consuming steps. If you want to be fast, you cannot afford rework. You will remove any unnecessary steps and automate wherever possible. Speed is the prime directive for your continuous improvement program.
In my view, it’s all about visibility and transparency. To improve, we need to know where we should start improving. After all, systems thinking and theory of constraints have taught us that we only improve when we improve the bottleneck — and nowhere else. Hence, the first activity should be a value stream mapping exercise where representation from across the IT and business come together to visualize the overall process of IT delivery (and run).
I like to refer to the seven wastes of software engineering when doing value stream mapping to highlight areas of interest. This map, with the “hotspots,” creates a target rich environment of bottlenecks you can improve.
The key for improvement is to use what basically comes down to the scientific method. Make a prediction of what will improve when you make a specific change, make the change, and measure the change to see whether you have in fact improved it. Too often, people don’t have the right rigor in the continuous improvement program. As a result, changes aren't implemented — or, if they do get implemented, no one can say whether it was successful or not. Avoid this by having the right rigor up front.
The other challenge with continuous improvement is that it, unfortunately, is not linear. It follows a slightly adjusted J-curve. Initially, you will find easy wins and things will look splendid — but then, things get harder and often regress a little. You could jump ship here, but that would be a bad choice. If you stick to it, you will see real improvements above and beyond easy wins later.
As a result, the goal of continuous improvement needs to be to find many smaller J-curves rather than working on one huge transformation-type J-curve. When I saw this concept explained at the DevOps Enterprise Summit by Damon Edwards, it was quite a revelation. Such a simple graphical representation explains so well why many DevOps adoptions struggle. It is too easy to assume a straight line and then get distracted when the initial downturn occurs after the easy wins.
I can tell you from experience that the curve is real and that no matter how much experience I gather, there are always context specific challenges that mean we have that dip. This requires us to stay strong and stick with it. You need grit in order to be successful in the DevOps world.
So, the silver bullet that I promised you does exist. Unfortunately, it requires discipline and hard work. It was very encouraging to see that some of the most experienced enterprise coaches and change agents agree that the existence of a rigorous continuous improvement culture.
Look around and see whether you are in a place with such a culture. If not, what can you do tomorrow to start changing the culture for the better?
Published at DZone with permission of Mirco Hering, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.