Continuous Deployment as Default

Heaton Cai
3 min readJun 23, 2021

--

I have been practising continuous deployment and coaching others to do continuous deployment for more than 7 years. It is technically mature enough but there are only a few teams that adopted the practice.

Difference between Continuous Deployment and Continuous Delivery

Continuous Deployment means that every change goes through the pipeline and automatically gets put into production, resulting in many production deployments every day. Continuous Delivery just means that you are able to do frequent deployments but may choose not to do it, usually due to businesses preferring a slower rate of deployment. In order to do Continuous Deployment, you must be doing Continuous Delivery.

Continuous Delivery vs Continuous Deployment

Why should we adopt Continuous Deployment?

I posted an article 2 years ago that listed some reasons. Now we have the scientific evidence described in the book <Accelerate> about how 4 key metrics (lead time, deployment frequency, mean time to restore (MTTR) and change fail percentage) impact the performance of technology organizations.

A continuous-deployment team usually has a high deployment frequency with a near-zero change fail rate, low lead time and low mean time to recover (MTTR) because of the following good engineering practices:

  • small commits: multiple commits per day means no large commit. It helps teams to reduce the risk for each deployment and to recover easily
  • automating everything: a fully automated pipeline is mandatory
  • high testing coverage (quality to the left): teams need to be confident enough to push every commit into production without manual interactions
  • monitoring: anything that goes wrong in deployments needs to be addressed immediately by teams
  • low lead time: long lead time stops teams to deploy frequently. Each team member has to minimize the lead time to not block each other
how practices contribute to the metrics

A high-performance organisation requires high-performance teams to win the market. Continuous Deployment is one of the most effective ways to drive improvements in team performance.

How does a continuous-deployment team look like compared to other teams?

This is a diagram that shows the production deployment number in the last 6 month (until June 2021).

deployment numbers of different types of teams

The highest performance team has almost 4 times more production deployments than the second team. It means they are able to respond to changes really fast. They actually can deliver new features very fast as well because they rarely have unplanned work.

Summary

The delivery performance is very critical to the success of a business. Having more teams doing Continuous Deployment can make a huge difference in the organisation performance. We should start to adopt Continuous Deployment as the default practice just like we adopt Continuous Delivery 10 years ago so that companies can survive in the contemporary rapidly-changing market.

--

--

Heaton Cai

16 years in the IT industry, passionate to share what I have learnt. All thoughts and opinions are original and maybe new. Free to share with the original link.