Starting CD

Migrating your system to Continuous Delivery

Continuous Delivery (CD) is the ability to deliver the latest changes on-demand, with no human touchpoints between code integration and production delivery.

Overview

CD Pipeline

Continuous Delivery extends beyond automation. It encompasses the entire cycle of identifying value, delivering it, and verifying with the end-user that the expected value was delivered.

Goals

CD aims to:

  • Uncover external dependencies and organizational process issues
  • Reduce overhead
  • Improve quality feedback
  • Enhance end-user outcomes and team work/life balance

CD Maturity

While avoiding rigid “maturity models,” we can outline competency levels:

Minimums

  • Daily integration of tested changes to the trunk
  • Consistent delivery process for all changes
  • No manual quality gates
  • Same artifact used in all environments

Good

  • New work delivered in less than 2 days
  • All changes delivered from the trunk
  • Commit-to-production time under 60 minutes
  • Less than 5% of changes require remediation
  • Service restoration time under 60 minutes

Continuous Integration (CI)

Desired Outcomes

  • More frequent integration of smaller, higher quality changes
  • Efficient test architecture
  • Lean code review process
  • Reduced Work In Progress (WIP)

Continuous Delivery/Deploy

Aims to achieve:

  • Increased delivery frequency and stability
  • Improved deploy success and time to restore service
  • Reduced development cycle time and process waste
  • Smaller, less risky production releases
  • High-performing product teams with domain expertise

Getting Started

New to Continuous Delivery? Start here:

Understanding CD Practices

CD Dependencies - Visual guide showing how practices like TDD, BDD, and Trunk-Based Development build upon each other to enable CD. See practices.minimumcd.org for detailed implementation guides.

  1. Conduct a Value Stream Map
  2. Build a roadmap to remove constraints
  3. Align with the CI working agreement
  4. Implement a single CD automated pipeline per repository

Pipeline Best Practices

  • Focus on hardening the pipeline to block bad changes
  • Integrate outside the pipeline, virtualize inside
  • Limit stage gates (ideally one or fewer)
  • Developers own the full pipeline

Key Metrics

  • CI cycle time: < 10 minutes from commit to artifact creation
  • CD cycle time: < 60 minutes from commit to Production

Tips

  • Use trunk merge frequency, development cycle time, and delivery frequency to uncover pain points
  • Keep all metrics visible and refer to them often
  • See CD best practices and CD Roadblocks for more tips

Further Reading


Getting Started with Continuous Delivery

Practical first steps to begin your Continuous Delivery journey

Common Blockers

Common issues teams encounter when implementing Continuous Delivery and how to resolve them

Pipeline & Application Architecture

A guide to improving your delivery pipeline and application architecture for Continuous Delivery

CD Dependencies

Visual guide to the dependencies and practices that enable Continuous Delivery

24 Capabilities to Drive Improvement

Research-backed practices from the State of DevOps reports and DORA metrics