
Continuous Delivery
Jez Humble & David Farley
Synopsis
Continuous Delivery makes the case that software should always be in a deployable state and that release should be a low-risk, repeatable process. Jez Humble and David Farley cover the full pipeline: version control, build and integration, testing strategies, deployment automation, and release strategies (including feature flags and blue-green deployments).
The book addresses both technical practices—configuration management, environment parity, deployment scripting—and the cultural and organisational changes that make them stick. It's grounded in the idea that if deployment is painful, you do it rarely; if it's easy, you do it often and learn faster.
Why I Recommend It
This book defined much of what we now call DevOps. It's the canonical reference for deployment pipelines, environment management, and the "build once, deploy many" mindset. Even if your stack has evolved, the principles—automate everything, keep environments consistent, minimise manual steps—remain the foundation.
Key takeaways:
- Deployment is not a phase; it's part of development: Everyone owns the path to production
- Automate the entire pipeline: From commit to production, eliminate manual gates that don't add value
- Fail fast: Fast feedback from automated tests and deployment reduces risk and cost
Practical application: I've used it to design and improve CI/CD pipelines and to argue for investment in deployment automation. The release strategy chapters (canary, feature toggles, dark launching) are useful when moving from "big bang" releases to continuous delivery. The testing strategy section helps balance speed and confidence.
For anyone building or improving delivery pipelines, it's essential reading.
Favourite Quote
"If it hurts, do it more frequently—and bring the pain forward."
The book's most famous line. Infrequent, manual releases make each release a crisis. Doing releases often forces you to fix the process, and the pain of fixing it is repaid many times over.