Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Journey to CD

The Journey to CD

What is the point of Continuous Delivery? Where should you start? How do you know you are making progress?

In this talk, Dan argues that the purpose of Continuous Delivery is to support Business Agility, and that you shouldn't try to boil the ocean, but instead choose one thing to go after.

Daniel Terhorst-North

February 28, 2017

More Decks by Daniel Terhorst-North

Other Decks in Business


  1. WHAT IS THE GOAL OF CONTINUOUS DELIVERY? Release into production

    more often? Automating build and deployment? Standardising processes and tools? The goal of Continuous Delivery is to increase Business Agility
  2. BUSINESS AGILITY “The speed and effectiveness with which we can

    adapt to new information” Reducing time to market is the only game in town Technically lead time OK really technically cost of delay
  3. WHY DOES CONTINUOUS DELIVERY MATTER? It impacts the speed at

    which you can respond to a need It impacts the speed at which you can recover It impacts your level of quality and consistency
  4. WHAT IS SLOWING US DOWN? Hand-offs to other teams •

    Creating environments for dev and testing • Onerous Release/Change governance and sign-off • Security, Audit, Compliance sign-off Manual testing Manual deployment and release processes Manual troubleshooting and recovery
  5. WHERE SHOULD YOU START? “Start where you are” Identify what

    is really slowing you down Pick one thing and go after it! Scale out as you build confidence and trust
  6. WHERE SHOULD YOU START? Turn a problem statement into a

    desired outcome: “It takes ages to get an environment around here!” Goal: Self-serve provisioning of environments “We spend all our time filling in release documents!” Goal: Release docs populated from work tracker and code repo
  7. VISUALISE Map the value stream Identify where time is being

    lost • The Inactivity Principle: Watch the work product, not the worker Look for where work items leave the team Look for where work items pile up in queues Identify the trouble spots
  8. STABILISE Bring system variance under control • otherwise you can’t

    determine the impact of a change Eliminate or mitigate hand-offs • Stabilising often speeds things up! Simplify and standardise manual processes • Makes them candidates for automation Make cross-cutting “utility” functions self-service
  9. OPTIMISE Define an experiment, or “bet” • What do you

    want to improve? • How will you measure this? Baseline the current state • You may get a surprise! Carry out the experiment Interpret the results Kaizen is first-class work Plan Do Check Adjust

    a Cambrian explosion of tools and methods Not everyone is Google or Netflix Take inspiration from them, but resist web-scale envy • Unless you are web-scale! Start tomorrow—pick one thing—measure it!