Continuous Delivery and the Theory Of Constraints

Continuous Delivery and the Theory Of Constraints

How should you actually implement Continuous Delivery?

Adopting Continuous Delivery takes time. You have a long list of technology and organisational changes to consider. You have to work within the unique circumstances of your organisation. You're constantly surrounded by strange problems, half-baked theories, off the shelf solutions that just don't work, and people telling you they've worked here for 23 years and Amazon is nothing to worry about.

How do you identify and remove the major impediments in your build, testing, and operational activities? How do you avoid spending weeks, months, or years on far-reaching changes that ultimately have no impact on your time to market?

The Theory of Constraints is a management paradigm that describes how to improve throughput in a homogeneous workflow. It can be applied to Continuous Delivery in order to locate, prioritise, and reduce constrained activities until a flow of release candidates to production is achieved.

In this talk, Steve Smith will explain how easy it is for a Continuous Delivery programme to be unsuccessful, how the Theory Of Constraints works, how to apply the Five Focussing Steps to Continuous Delivery, and how to home in on the constrained activities that are your keys to success. It includes tales of glorious failures and ignominious successes when adopting Continuous Delivery.

622051376c3b381ef1c786036011112d?s=128

Steve Smith

May 01, 2019
Tweet

Transcript

  1. Steve Smith @SteveSmithCD hello@continuousdeliveryconsulting.com Continuous Delivery and the Theory Of

    Constraints
  2. Continuous Delivery consultant Author of “Measuring Continuous Delivery” Associated with

    Steve Smith
  3. Implementing Continuous Delivery Activity Activity Activity Activity customers Version Control

  4. Implementing Continuous Delivery “We recommend, as ever, you apply the

    Deming Cycle - Plan, Do, Check, Act” Dave Farley and Jez Humble - Continuous Delivery
  5. Network Activation Version Control Build Functional Test Integration Test Production

    customers delivery platform test platform test operations
  6. Network Activation Lead Time = 34 days Target Lead Time

    = 14 days Build Functional Test Integration Test Production customers delivery platform test platform test operations Version Control
  7. Technology Capabilities VERSION CONTROL AUTOMATED INFRASTRUCTURE DEPLOYMENT PIPELINE TRUNK BASED

    DEVELOPMENT CONTINUOUS INTEGRATION EVOLUTIONARY ARCHITECTURE AUTOMATED DATABASE UPDATES TEST DRIVEN DEVELOPMENT AUTOMATED ACCEPTANCE TESTS EXPLORATORY TESTING TELEMETRY INCREMENTAL RELEASES
  8. Technology Capabilities VERSION CONTROL AUTOMATED INFRASTRUCTURE DEPLOYMENT PIPELINE TRUNK BASED

    DEVELOPMENT CONTINUOUS INTEGRATION EVOLUTIONARY ARCHITECTURE AUTOMATED DATABASE UPDATES TEST DRIVEN DEVELOPMENT AUTOMATED ACCEPTANCE TESTS EXPLORATORY TESTING TELEMETRY INCREMENTAL RELEASES
  9. Organisational Capabilities SMALL BATCH SIZE DEVOLVED DECISION MAKING SHARED INCENTIVES

    BLAMELESS POST-MORTEMS YOU BUILD IT, YOU RUN IT CONTINUOUS CHANGE REVIEWS CHANGE TRACEABILITY EMPOWER EMPLOYEES CROSS-FUNCTIONAL TEAMS CONWAY’S LAW ALIGNMENT
  10. Organisational Capabilities SMALL BATCH SIZE DEVOLVED DECISION MAKING SHARED INCENTIVES

    BLAMELESS POST-MORTEMS YOU BUILD IT, YOU RUN IT CONTINUOUS CHANGE REVIEWS CHANGE TRACEABILITY EMPOWER EMPLOYEES CROSS-FUNCTIONAL TEAMS CONWAY’S LAW ALIGNMENT
  11. Network Activation Build Functional Test Integration Test Production customers delivery

    platform test platform test operations Lead Time = 31 days Target Lead Time = 14 days Version Control
  12. Implementing Continuous Delivery “Proceed by iterative, incremental steps, using rapid

    cycles of experimentation” Jez Humble, Joanne Molesky, and Barry O’Reilly - Lean Enterprise
  13. Implementing Continuous Delivery “Improvement is possible for everyone” Dr Nicole

    Forsgren, Jez Humble, and Gene Kim - Accelerate
  14. Implementing Continuous Delivery • Visualise deployment throughput to generate insights

    • Identify the activities where a few improvements will yield an immediate impact • Focus on the experiments most likely to speed up those activities
  15. Network Activation

  16. Network Activation 34d Lead Time greater than Interval for 1y

    28d Lead Time for 3m 31d Lead Time
  17. Theory Of Constraints “You should not balance capacity demand. What

    you need to do instead is balance the flow of product with demand from the market” Dr Eli Goldratt - The Goal
  18. Theory Of Constraints Resource Resource Resource

  19. Theory Of Constraints, Applied Activity Activity Activity Activity customers Version

    Control
  20. Resource Theory Of Constraints Resource Constraint

  21. Theory Of Constraints, Applied Activity customers Version Control Activity Activity

    Activity
  22. Theory Of Constraints, Applied Staff illiquidity Handoffs Environment contention

  23. Network Activation

  24. Network Activation

  25. Network Activation Lead Time = 31 days Target Lead Time

    = 14 days Build Functional Test Integration Test Production customers delivery platform test platform test operations Version Control 15
  26. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  27. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  28. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  29. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  30. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  31. Five Focussing Steps ELEVATE the constraint(s) EXPLOIT the constraint(s) IDENTIFY

    the constraint(s) SUBORDINATE everything to the constraint(s) REPEAT the process
  32. Build Integration Test Release Test Production customers delivery testers testers

    operations Version Control MediaTech
  33. Interval = 21 days Target Interval = 7 days Build

    Integration Test Release Test Production customers delivery testers testers operations Version Control MediaTech
  34. MediaTech

  35. MediaTech

  36. Technology Capabilities VERSION CONTROL AUTOMATED INFRASTRUCTURE DEPLOYMENT PIPELINE TRUNK BASED

    DEVELOPMENT CONTINUOUS INTEGRATION EVOLUTIONARY ARCHITECTURE AUTOMATED DATABASE UPDATES TEST DRIVEN DEVELOPMENT AUTOMATED ACCEPTANCE TESTS EXPLORATORY TESTING TELEMETRY INCREMENTAL RELEASES
  37. Organisational Capabilities SMALL BATCH SIZE DEVOLVED DECISION MAKING SHARED INCENTIVES

    BLAMELESS POST-MORTEMS YOU BUILD IT, YOU RUN IT CONTINUOUS CHANGE REVIEWS CHANGE TRACEABILITY EMPOWER EMPLOYEES CROSS-FUNCTIONAL TEAMS CONWAY’S LAW ALIGNMENT
  38. Organisational Capabilities SMALL BATCH SIZE DEVOLVED DECISION MAKING SHARED INCENTIVES

    BLAMELESS POST-MORTEMS YOU BUILD IT, YOU RUN IT CONTINUOUS CHANGE REVIEWS CHANGE TRACEABILITY EMPOWER EMPLOYEES CROSS-FUNCTIONAL TEAMS CONWAY’S LAW ALIGNMENT
  39. MediaTech

  40. MediaTech Lead Time protected at 14-15d for 6m Interval successfully

    trialled at 14d Interval reduced to 14d
  41. MediaTech Interval = 14 days Target Interval = 14 days

    Lead Time = 14 days Build Integration Test Release Test Production customers delivery testers testers operations Version Control
  42. Key Learnings “Automation is good, so long as you know

    exactly where to put the machine” Dr Eli Goldratt - The Goal 1. Implementing Continuous Delivery is hard 2. The Theory Of Constraints will help you identify constrained activities, and select the experiments most likely to succeed 3. You need to balance the flow of release candidates to meet product demand
  43. Try It Yourself Find the constrained activity Establish your Target

    Lead Time Run experiments to save constraint time
  44. Try It Yourself Find the constrained activity Establish your Target

    Lead Time Run experiments to save constraint time
  45. Try It Yourself Find the constrained activity Establish your Target

    Lead Time Run experiments to save constraint time
  46. Try It Yourself Find the constrained activity Establish your Target

    Lead Time Run experiments to save constraint time
  47. Steve Smith @SteveSmithCD hello@continuousdeliveryconsulting.com Continuous Delivery and the Theory Of

    Constraints