Visualize your continuous deployment maturity

Looking around the Internet, you see more and more companies starting to do multiple deployments per day. There are the stories of Facebook deploying multiple times per day. The stories of The Guardian and many more. If you want to go down that path, it really helps having a way of visualizing where you are, and where you want to go to. This helps the discussion with the stakeholders and gets things going. In this blog post, I will demonstrate a way to do just that.

In their 2010 seminal work “Continuous Delivery” Jez Humble and David Farley described a maturity model for continuous delivery. The goal of this model was to assess the gap between where you are and where you want to be and help to define the steps you need to take to go there.

The model identifies six main area’s of interest:

  • Build management and continuous integration
  • Environments and deployments
  • Release management and compliance
  • Testing
  • Data management
  • Configuration management

Each of these area’s must be at a certain level to be able to achieve the benefits of continuous delivery. One of the key points for increasing your continuous delivery performance is to make well-balanced steps. It doesn’t really help if your build management is top notch 100%, but you don’t have any automated testing. Value comes when you increase the level of maturity evenly over all six focus area’s.

The picture shows a method to make these levels visual. This really helps in discussions with stakeholders in finding out where you are and where you need to go. Based on the graph above, you can see that it’s best to work on improvements in data management and configuration management before you start to address other area’s.

What’s the scale?

In the model, they describe the following 5 levels:

  1. Regressive
  2. Repeatable
  3. Consistent
  4. Quantitatively managed
  5. Optimizing

These levels are loosely based on the levels defined by the Capability Maturity Model originally from the Carnegie Mellon Software Engineering Institute (SEI). The higher the number the better you are.

What’s next?

In the next blog post, I will dig deeper into the six main area’s of interest.