Identify Waste in your Build Pipeline


Published on

Published in: Business, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • We’re constantly trying to improveMethods borrowed from lean and agile practices
  • Automation alone is not enoughAutomating an inefficient process is still wasteful. In fact you’re just codifying waste so it may make it more difficult to find.In order to improve we need to remove waste
  • Identify wasteIdentify source of wasteFix the source
  • All the steps required to create a product or service from beginning to endWe’ll just focus on our development processNot exhaustive we’ll just touch on some parts of value stream mapping
  • Elaborate on dogfooding.
  • Total value added time / total time. 6 days / 8 daysWe’ll come back to this
  • Looking at all the possible causes for a particular problem
  • Failure rateUse AMIs instead of downloading packages during deployment – KEY SIMPLIFICATION50% failure rate meant that our average time for a successful deploy was double what it should be
  • Avg time of 2 hours SUCKSUsedAMIsProvision services in parallel
  • What this means: we shaved 2 days off of our overall cycle time. Bug fixes and features get out to customers sooner and that’s what matters most.BTW… This is a great way to build the case for paying down tech debt and then present the results to the rest of the team.
  • Identify Waste in your Build Pipeline

    1. 1. Identifying Waste in your Build Pipeline Scott Turnquest
    2. 2. Value Stream Mapping Fishbone Analysis 5 Whys
    3. 3. When people do the things computers can do, all the computers get together late at night and laugh at us.
    4. 4. Removing Waste: Identify it. Find the source. Fix it!
    5. 5. Why is everything taking so much longer than we expect?
    6. 6. Identify Waste
    7. 7. Value Waste Value Stream Mapping
    8. 8. Analysis Development Acceptance Tests Staging Production Value Waste 1 day 1 day 4 days 2 mins 1 hour 4 hours 1 day 4 hours
    9. 9. Process Cycle Efficiency = 75%
    10. 10. Sources of Waste
    11. 11. Fishbone Diagram
    12. 12. Long Feedback Cycles Structure of Code Can not test individual system components Can not test in isolation from AWS Build / Deploy Pipelines Provisioning services serially Unreliable repos. Flakiness
    13. 13. Fix the underlying cause
    14. 14. Reduce your failure rate
    15. 15. Improve raw performance 25 minutes2 hours
    16. 16. Analysis Development Acceptance Tests Staging Production Value Waste 1 day 1 day 3 days 4 days 2 mins 1 hour 4 hours 25 mins 1 day 4 hours 25 mins
    17. 17. Process Cycle Efficiency = 83%
    18. 18. 5 Whys (another root cause method)
    19. 19. Failed Environment Upgrade Did not test infrastructure/application combo Staging and Production environments differ Manual deployments! Deployment team unable to automate Devs helped to automate deployment
    20. 20. So what did we learn? • Understand your current value stream to identify waste • Use analytical methods like Fishbone and 5 Whys to find the root cause of waste • Don’t be afraid to restructure or redesign when complexity gets in the way • Analysis techniques are not just for BAs
    21. 21. References • Continuous Delivery- "Continuous Delivery" by Jez Humble and David Farley. See also: • Value Stream Mapping - "Lean Software Development" and "Implementing Lean Software Development" both by Mary and Tom Poppendieck. • Fishbone and 5 Whys - "Agile Retrospectives: Making Good Teams Great" by Esther Derby and Diana Larsen