Continuous Delivery
It was systematized by Jez Humble and David Farley in Continuous Delivery (2010), the foundational reference in the field.
CI, Continuous Delivery, and Continuous Deployment
The three terms share the acronym CD and are often confused:
| Practice | What it automates | Deployment to production is... |
|---|---|---|
| Continuous Integration (CI) | Build and tests on every integration | Manual or on request |
| Continuous Delivery | CI + deployment to staging + validation | A human decision that can be made at any time |
| Continuous Deployment | The entire pipeline, including production | Automatic after every successful integration |
The key distinction of continuous delivery: the team can deploy at any time because the system guarantees the code is safe, but it chooses when to do so based on business criteria.
The continuous delivery pipeline
- CI: automated integration, build, and unit tests.
- Automated acceptance tests: validate behavior from the user's perspective.
- Automatic deployment to staging: an environment identical to production.
- Validation in staging: smoke tests and functional verification.
- Manual approval (gate): a human decides whether to deploy to production.
- Deployment to production: automatic and immediate once approved.
Why It Matters in Agile Teams
The sprint produces an increment. Without continuous delivery, that increment may be "done" from the team's perspective yet not reach production for days or weeks, delaying real feedback and the value delivered. Continuous delivery eliminates the "last mile problem" of agility.
Common mistake
Confusing continuous delivery with continuous deployment. They are practices with different levels of automation and risk. Continuous delivery keeps human control over the timing of deployment; continuous deployment removes it. Many contexts (regulated ones, those with contractual release cycles, or those whose users need training before a change) call for continuous delivery, not continuous deployment.
References
- Humble, Jez; Farley, David. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.
See also
Want to advance in agility? You can search for course and exam calls or go at your own pace by becoming a member of the Agile Club. This membership includes exclusive resources, e-learning classrooms, and access to Skill Arena: a space to practice and measure your agile skills at your own pace.