Kanban guide · Lean foundations
Continuous Delivery: Principles, Pipeline and Benefits
Continuous delivery is a software practice in which code is always kept in a releasable state, so new changes can be released to users quickly, safely and at any time. It turns Kanban's ideal of small, continuous flow into a technical reality.
Key takeaways
- Continuous delivery keeps software always releasable.
- A deployment pipeline automates build, test and release.
- It complements Kanban by removing batch releases.
Origins
The practice was described in depth by Jez Humble and David Farley in their 2010 book Continuous Delivery. It builds on Agile principles, especially the first: deliver valuable software early and continuously.
CI vs continuous delivery vs continuous deployment
| Practice | What it means |
|---|---|
| Continuous integration (CI) | Developers merge small changes frequently; each merge is built and tested automatically |
| Continuous delivery (CD) | Every change that passes the pipeline could be released; release is a business decision |
| Continuous deployment | Every change that passes the pipeline is released automatically |
The deployment pipeline
- Commit stage: build the code and run fast automated tests.
- Acceptance stage: automated functional and integration tests.
- Further testing: performance, security and exploratory testing.
- Release: deploy to production, often with feature flags or gradual rollouts.
- Monitor: watch real usage and errors, and roll back quickly if needed.
Benefits
- Smaller, lower-risk releases.
- Faster feedback from real users.
- Shorter lead time from idea to customer.
- Less stressful release days.
- Higher quality through automation.
Continuous delivery and Kanban
Kanban limits work in progress and keeps items small; continuous delivery removes the batch-release step at the end. Together they let each item flow to customers as soon as it is done. See DevOps.
Free templates for this topic
Frequently asked questions
Is continuous delivery only for software?
The term comes from software, but the principle of keeping work always ready to release in small increments applies to content, documentation and other digital products.
Do you need continuous deployment to do continuous delivery?
No. Continuous delivery means you can release at any time; continuous deployment means you do release automatically.
What is continuous delivery?
Continuous delivery is a software practice in which code is always kept in a releasable state, so any change can be deployed to production safely and quickly at any time.
What is the difference between continuous delivery and continuous deployment?
In continuous delivery, every change is ready to release but a person decides when to deploy. In continuous deployment, every change that passes the pipeline is released automatically.
What is the difference between continuous integration and continuous delivery?
Continuous integration means merging and testing code changes frequently. Continuous delivery extends it so integrated code is always deployable to production.
What is a deployment pipeline in continuous delivery?
An automated sequence of stages, such as build, tests and deployment to test environments, that every change passes through on its way to release.
Who wrote the book Continuous Delivery?
Jez Humble and David Farley, in their 2010 book Continuous Delivery.
What are the benefits of continuous delivery?
Smaller, lower-risk releases, faster feedback from users, fewer manual errors and less stressful release days.
What tools are used for continuous delivery?
Teams typically combine version control, a CI/CD server, automated testing frameworks and infrastructure-as-code tools. The specific products matter less than the automation and discipline.
How does continuous delivery relate to Kanban?
Both aim for small batches flowing steadily to customers. A Kanban board with a short cycle time pairs naturally with a pipeline that can release any finished item.
What is a feature flag in continuous delivery?
A switch in the code that turns a feature on or off without redeploying, letting teams release code safely before a feature is visible to all users.