Phase 3: Optimize

Improve flow by reducing batch size, limiting work in progress, and using metrics to drive improvement.

Key question: “Can we deliver small changes quickly?”

With a working pipeline in place, this phase focuses on optimizing the flow of changes through it. Smaller batches, feature flags, and WIP limits reduce risk and increase delivery frequency.

What You’ll Do

  1. Reduce batch size - Deliver smaller, more frequent changes
  2. Use feature flags - Decouple deployment from release
  3. Limit work in progress - Focus on finishing over starting
  4. Drive improvement with metrics - Use the DORA metrics you baselined in Phase 0 to measure improvement and run improvement kata
  5. Run effective retrospectives - Continuously improve the delivery process
  6. Decouple architecture - Enable independent deployment of components
  7. Align teams to code - Match team ownership to code boundaries for independent deployment
  8. Build observability - Structured logging, monitoring, and alerting so you can detect problems and recover quickly

Why This Phase Matters

Having a pipeline isn’t enough. You need to optimize the flow through it. Teams that deploy weekly with a CD pipeline are missing most of the benefits. Small batches reduce risk, feature flags enable testing in production, and metrics-driven improvement creates a virtuous cycle of getting better at getting better.

When You’re Ready to Move On

Start investing in Phase 4: Deliver on Demand when you are making consistent progress toward these - don’t wait for every criterion to be perfect:

  • Most changes are small enough to deploy independently
  • Feature flags let you deploy incomplete features safely
  • Your WIP limits keep work flowing without bottlenecks
  • You’re reviewing and acting on your DORA metrics regularly

Next: Phase 4 - Deliver on Demand - remove the last manual gates and deploy on demand.



Small Batches

Deliver smaller, more frequent changes to reduce risk and increase feedback speed.

Feature Flags

Decouple deployment from release by using feature flags to control feature visibility.

Limiting Work in Progress

Focus on finishing work over starting new work to improve flow and reduce cycle time.

Metrics-Driven Improvement

Use leading CI metrics to drive improvement during migration. Use DORA outcome metrics to confirm it’s working.

Retrospectives

Continuously improve the delivery process through structured reflection.

Architecture Decoupling

Enable independent deployment of components by decoupling architecture boundaries.

Team Alignment to Code

Match team ownership boundaries to code boundaries so each team can build, test, and deploy its domain independently.

Hypothesis-Driven Development

Treat every change as an experiment with a predicted outcome, measure the result, and adjust future work based on evidence.