Successful web startups have demonstrated that releasing frequently is an essential competitive advantage. Now enterprises that rely on software are adopting a cycle of rapid releases to get fast feedback from customers and reduce waste. In this article, Jez Humble, author of Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, sets out the technical and organizational practices your organization needs to adopt to reduce cycle time and release new software rapidly and reliably.

From the author of

One of the defining shifts of the last decade was the devastation web-based businesses wreaked on the business models of traditional companies. Amazon is one of the oldest and most obvious examples of this, but more and more companiesfrom airlines to financial servicesare relying on software to create a competitive advantage.

There are two key components to running a business that depends on software: a vision of how you want to change the world, and feedback from your users, from as early on in the life of your company as possible. The importance of feedback is emphasized by the lean startup movement, and can be seen at work not only in startups, but also on sites like Amazon, NetFlix, and Facebook, which are constantly making subtle changes to their sites to increase revenue and improve their users' experience.

What Is Continuous Delivery?

Creating a tight feedback loop between your users and the project teamincluding the customer or product ownerrelies in turn on being able to continuously deliver new versions of your software to test changes and new ideas, and being able to measure the effect of these changes on your revenue.

For many companies that are used to releasing new versions of software at most every few months, the idea of releasing changes several times a day seems impossible. However, at ThoughtWorks, we have used the principles and practices described in my book Continuous Delivery to help organizations that released a few times a year move to releasing several times a month, or even more frequently. That represents a huge competitive advantage, and it means a large reduction in the amount of wasted time and effort in your IT organization.

Continuous delivery thus has two critical business benefits:

First, it allows you to validate how good your business plan is much more quickly and adapt it in response to real feedback from users. In particular, if your business plan is fundamentally flawed, you want to find that out as soon as possible, not when you’ve spent months or even years pouring money into implementing your project.

Second, it provides a delivery process that massively lowers the risk of delivery compared to traditional “big bang” releases at the end of a long project, meaning your costs are much more predictable.

It also has provides two powerful benefits to IT:

First, it means managers get real feedback on the progress of their projects based on the only useful definition of “done”working software in a real production environment delivering value to users.

Second, by releasing small increments regularly, it reduces the risk of each individual release.