Continuous Deployment (CD) automates the migration of new functionality from staging to production for release.
It is the third part of the Continuous Delivery Pipeline (CDP), following Continuous Exploration (CE) and Continuous Integration (CI), and preceding Release on Demand.
Ensures features are ready in production before needed by the business, supporting Release on Demand.
Importance of Continuous Deployment
Enables deploying small, incremental changes to production continually.
Critical for releasing on demand, allowing Agile Release Trains (ARTs) to respond quickly to market opportunities.
Separates deployment from release, facilitating changes in production without affecting current systems.
Traditional vs. Continuous Deployment
Traditional methods view deployment and release as one process; changes immediately available to users.
Continuous Deployment separates these, promoting design thinking and rapid value flow.
Benefits of Continuous Deployment
Targeting Specific Customers: Allows deploying changes to specific customer groups to assess impacts before broader rollout.
Encouraging Experimentation: Supports practices like A/B Testing to optimize user experiences.
Promoting Small Batches: Automation enables economically feasible small batch deployments.
Releasing on Business Needs: Minimizes complexity and error risks, allowing faster, lower-risk releases, enhancing Business Agility.
Achieving Continuous Deployment
ARTs reduce transaction costs and risks by automating all deployment aspects.
Ensures repeatability and predictability, minimizing incidents.
Promotes uninterrupted value flow, critical for business agility.
The Four Activities of Continuous Deployment
Deploy: Practices for deploying solutions to production.
Verify: Ensures changes work as intended in production before customer release.
Monitor: Observing and reporting issues in production.
Respond: Rapidly addressing any deployment issues.