Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Improving predictability by managing flow

195 views

Published on

Improve predictability of software development. Focus on managing the flow by monitoring three key metrics: cycle time, throughput and work in progress. Visualise, analyse, act. Forecast using Monte Carlo simulations.

Published in: Software
  • Be the first to comment

Improving predictability by managing flow

  1. 1. Improving predictability by managing flow A #NoEstimates approach in an agile delivery project @theppito
  2. 2. When will it be done?
  3. 3. DDD
  4. 4. Date Driven Development
  5. 5. Burndown  charts
  6. 6. Story Point
  7. 7. 1. Define a Kanban system
  8. 8. 2. Define Work in Progress
  9. 9. 3. Measure ‘Cycle time’,’Throughput’ and ‘WIP’
  10. 10. 4. Visualise ‘Cycle time’ using Scatterplots
  11. 11. 5. Introduce a ‘Replenishment’ ceremony
  12. 12. 6. Monitor ‘Aging WIP items’
  13. 13. 7. Introduce WIP limiters across all states
  14. 14. 8. Use Cumulative Flow Diagrams to validate impact of our actions
  15. 15. A bit of theory
  16. 16. “We are dumbing down knowledge to information and elevating ‘it works for me so I will do it again’ to a status that is inauthentic at best, dangerous at worst” Dave Snowden
  17. 17. Professor of Marketing at MIT Management Sloan School. He has published seminal papers in operations research methodology, traffic signal control, decision support systems, and especially marketing. In operations research he is best known for his proof of the queuing formula L = λW, commonly known as Little's Law. Dr. John Little
  18. 18. Expressing Little’s Law Arrival rate L = λW Departure rate CT= WIP/tH Avg. Cycle time Avg. Work in Progress Avg. Throughput Avg. Items in Queue Avg. Items arriving Avg. Wait time
  19. 19. Departure rate CT= WIP/tH Expressing Little’s Law Avg. Cycle time Avg. Work in Progress Avg. Throughput
  20. 20. Little’s Law assumptions 1. The average of Arrival Rate should equal the average of Departure Rate (Throughput). 2. All work that is started will eventually be completed and exit the system. 3. The amount of WIP should be roughly the same at the beginning and at the end of the time interval chosen for calculation. 4. The average age of WIP is neither increasing nor decreasing. 5. Cycle Time, WIP and Throughput must be all measured using consistent units.
  21. 21. Every time an assumption of Little’s Law is violated the process becomes less predictable. Every time.
  22. 22. Protect Assumptions as Process Policies
  23. 23. 1. We will start new work about the same time we finish old work. 2. We will make every reasonable effort to finish all work that is started. 3. If work becomes blocked we will do everything possible to unblock it as expeditiously as possible. 4. We will monitor our policies around the order in which we pull items through so that work items do not sit and age unnecessarily. Assumptions as Process Policies
  24. 24. FLOW MANAGED FORECASTING on SOLID GROUNDS PREDICTABLE SYSTEM
  25. 25. When will it be done?
  26. 26. 1. Number of items 2. Start date 15/09/2017 How long will it take?
  27. 27. 2. Target end date 21/11/2017 How many items can we build? 1. Start date 12/06/2017
  28. 28. 9. Forecasting - using Monte Carlo simulations
  29. 29. Monte Carlo Simulation
  30. 30. MC Simulation • Define domain of possible inputs • Generate inputs randomly from domain • Perform a computation • Aggregate result [source: Wikipedia] Statistical sampling based simulation
  31. 31. 1 Domain of possible inputs Daily throughput 2 Generate inputs randomly from domain Select randomly a throughput 3 Perform a computation Use the Throughput and deduct from the number of items to complete Increase the end date by one 4 Stop if … … remaining number of items is 0 or negative value 5 Aggregate results Calculate % of completions
  32. 32. 10. One Page reports
  33. 33. Date Driven Development
  34. 34. DatA Driven Development
  35. 35. Effortless DatA Driven Development
  36. 36. Effortlessly Predictable Development
  37. 37. Thank you! @theppito

×