Fueling DevOps with Continuous Delivery
How to create a software development assembly line that never stops.
You’ve heard of the application economy and the idea that software is eating the world. How Nike is no longer just a shoe company but a digital powerhouse. How banks now think of themselves as software companies who just happen to have banking licenses. How Uber created an app that has changed the way we use transportation. Being able to create great software quickly is the root of it all.
The folks at Puppet Labs put out a fantastic State of DevOps Report annually. Since 2014, each category — deployment frequency, lead time for changes, mean time to recovery, and change failure rate — has had a positive trend. This solidifies the stance DevOps plays on today’s software stage. Indeed, the 2016 report revealed that high-performing organizations have demonstrated code deployments that are over 200 times more frequent, lead times that are 2,500 times faster, a mean time to recovery that is 24 times faster, and a change failure rate that is three times lower than their competition.
With Continuous Delivery, the software assembly line never stops
If DevOps is a set of philosophies, then Continuous Delivery is the practical application of the teachings of DevOps. I think of it as DevTestOps. A CTO at a manufacturing company once told me that the line should never stop. In the world of DevOps, think of the software development lifecycle (SDLC) as the line, and the software itself as the car being built. Continuous Delivery is a way to keep that line moving. We must move from being the machine to engineering the machine.
These are the rituals that I see high-performing teams following to take the principles of agile and put them into a practice that supports Continuous Delivery:
Following these practices leads to:
Attaining agility in the delivery of applications lets you be flexible and pivot directly on feedback from end users. The overhead of making changes should have an insignificant impact on the overall effort. Instead of going through time-consuming approval and requirement development processes, feedback is taken directly from the users, prototyped, and released for feedback from the users.
The ultimate payoff
Like many things in life, hard work and perseverance pay off. Why do I mention this? Because the journey of DevOps and Continuous Delivery requires not only a shift in the way we develop, test and deploy, it also requires a shift in culture and how we think about software.
It takes some time to nurture all of these philosophies. You may slow down at first, but eventually the investment will pay off, and your company will be transformed into an innovative and agile organization that is able to compete in the new digital world.
Learn more in my original article “DevOps Rituals with Continuous Delivery” at http://bit.ly/2byoUCg.