My productivity for any given day is determined by a three-step process. It may sound a bit odd, but hear me out. Every day I have to do the following (in this particular order):
- Fill my coffee cup.
- Put my headphones on.
- Listen to John Coltrane’s “Blue Train” in its entirety.
You could call it OCD or the effect that Coltrane’s legendary jazz stylings have on the human brain (I think it’s the latter), but there is a method to my madness. My routine allows me to settle in and mentally prepare for the day ahead. Without it, I guarantee my productivity will suffer.
The same thinking applies to the software development process. The right methodology – the approach you take to developing the solution – impacts the success of the solution. In this case, I’m talking specifically about Continuous Delivery (CD) and how applying its principles to the software development process affects the overall success of your solution.
Continuous Delivery & the science of success
In the groundbreaking book, “Accelerate: Building and Scaling High Performing Technology Organizations,” researchers studied thousands of software teams over a period of four years to determine what makes some DevOps organizations more successful than others.
While one DevOps team’s “Blue Train” is another’s “Party in the USA”, research now confirms that the teams implementing specific DevOps capabilities consistently outperform those who don’t. Continuous Delivery is one of those key capabilities.
As the research shows, CD helps high-performing teams achieve:
- 46x more frequent code deployments
- 440x faster lead time from commit to deploy
- 170x faster mean time to recover from downtime
- 5x lower change failure rates
Translation? A DevOps team effectively implementing Continuous Delivery ensures a faster, cheaper, higher-quality solution.
How Continuous Delivery impacts success
Continuous Delivery is the ability to get all manner of code and environment changes quickly and safely to users in a predictable, on-demand fashion.
Applying each of CD’s five principles to the software development process ensures a high-quality result from the get-go. Here’s how:
1. Building quality in catches potential problems early.
Most software management methods rely on inspection to achieve quality. CD turns this common approach on its head by building in quality from the ground up.
Bugs in custom software are inevitable. It’s a matter of who finds them and when that determines the cost and impact of those defects. Catching problems earlier in the development process saves countless hours of work and delivers a far superior, more cost-effective end product.
2. Working in small batches delivers the product faster.
The traditional method of developing software comes in the form of whole releases, resulting in months of work and delayed release times. CD, on the other hand, prioritizes working in small batches in order to strategically deliver the solution.
Focusing on and delivering smaller chunks of work more frequently adds value to customers because it allows us to implement feedback more regularly, to increase productivity and produce deliverables faster.
3. When computers perform repetitive tasks, people can focus on solving problems.
By investing in automation, particularly at deployment, the humans comprising your development team are free to do higher value work. CD eliminates the complexity of deploying software, allowing us to focus on what matters: finding creative solutions to seemingly unsolvable issues.
4. Relentlessly pursuing continuous improvement ensures perpetual excellence.
Striving for excellence means never being satisfied with the status quo. Sure, the solution may be “complete”, but it can always be better. When CD drives the process, developers are forever finding ways to make the solution better than it was the day before. It’s simply part of the process.
5. When everyone is responsible, everyone is successful.
When Continuous Delivery drives an organization, no one can ever say, “Not my problem.” Everything is, in fact, everyone’s problem. Whether it’s the developers responsible for building a solid structure or the operations teams responsible for helping them do so, CD dictates that the success of one is the success of all. This results in a unified team dedicated to delivering the highest quality outcome possible.
A winning methodology
While software development processes may vary across organizations, empirical data now tells us that specific methodologies are more successful than others.
Faster code delivery, better quality metrics, a higher quality end product—these are the hallmarks of high-performing DevOps teams implementing Continuous Delivery. Those cost and speed-to-market benefits are then passed on to you, the client.
So, while not everyone’s process for a superior outcome can be traced back to coffee and Coltrane, the highest performing DevOps teams can certainly trace their success – and the impact their solutions have on your business – to Continuous Delivery. It’s not just principle—it’s science.
Matt Henley is the President of 27Global. Founded in 2008, 27Global designs, builds and operates custom software solutions for businesses of all sizes. The perfect pairing of a local leadership with offshore pricing, 27Global has the business acumen to understand your vision and the expertise to build your software solution. To learn more, visit 27global.com or connect with us on LinkedIn and Twitter.