Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes

  • 2,143 views
Uploaded on

These slides are from the presentation at http://www.agiletourlondon.co.uk 1/11/2013. They are based on simulated results using a basic Kanban workflow. The goal of the presentation was to explain the …

These slides are from the presentation at http://www.agiletourlondon.co.uk 1/11/2013. They are based on simulated results using a basic Kanban workflow. The goal of the presentation was to explain the Theory Of Constraints by example and show how this can be applied to make effective changes and
to provoke thinking about the wider system we work within

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,143
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
25
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Making Changes That Matter Theory Of Constraints - A Fundamental Systems Thinking Principle! Craig Strong! @craigstrong craig.strong@c6s.co.uk www.strongandagile.co.uk Daryn Holmes! @darynholmes darynholmes@gmail.com !1 http://darynholmes.wordpress.com
  • 2. Goal Of Presentation 1. Explain the Theory Of Constraints by example and show how this can be applied to make effective changes 2. To provoke thinking about the wider system we work within ! !2
  • 3. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !3
  • 4. From Manufacturing To Software !4
  • 5. Lead Time ? The elapsed time between starting and finishing a defined process !5
  • 6. Kanban Workflow Day 0 Output : 0 Design Ready In Progress Story Done In Progress Done Test In Progress 0 Story Development 0 Story Story Story System WIP = 2 !6 Shipped
  • 7. Kanban Workflow Output : 0 Day 1 Design Ready In Progress Development Done Story Done In Progress 1 Story In Progress Test 1 Story Story Story System WIP = 2 !7 Shipped
  • 8. Kanban Workflow Day 1 Output : 0 Design Ready Development In Progress Done 0 0 In Progress Done Test In Progress 1 1 Story Story Story System WIP = 4 !8 Shipped
  • 9. Kanban Workflow Day 1 Output : 0 Design Development Ready In Progress Done Story 0 0 1 Story In Progress Done Test In Progress 1 Story System WIP = 4 !9 Shipped
  • 10. Kanban Workflow Day 1 Output : 0 Design Development Ready In Progress Done Story 0 0 1 Story In Progress Done Test In Progress 1 Story Story Story System WIP = 4 !10 Shipped
  • 11. Kanban Workflow Output : 0 Day 2 Design Ready Development In Progress Done In Progress 0 0 1 1 Done Test In Progress 2 2 Story Story Story System WIP = 6 !11 Shipped
  • 12. Kanban Workflow Output : 0 Day 2 Design Development Ready In Progress Done In Progress Story 0 0 1 1 2 Story Done Test In Progress 2 Story System WIP = 6 !12 Shipped
  • 13. Kanban Workflow Output : 0 Day 2 Design Development Ready In Progress Done In Progress Story 0 0 1 1 2 Story Done Test In Progress 2 Story Story Story System WIP = 6 !13 Shipped
  • 14. Kanban Workflow Output : 0 Day 3 Design Ready Development In Progress Done In Progress Done 0 1 1 2 2 Test 3 0 In Progress 3 Story Story Story System WIP = 8 !14 Shipped
  • 15. Kanban Workflow Output : 0 Day 3 Design Development Ready In Progress Done In Progress Done Story 0 0 2 2 3 Story 1 1 Test In Progress 3 Story System WIP = 8 !15 Shipped
  • 16. Kanban Workflow Output : 0 Day 3 Design Development Ready In Progress Done In Progress Done Story 0 0 2 2 3 Story 1 1 Test In Progress 3 Story Story Story System WIP = 8 !16 Shipped
  • 17. Kanban Workflow Output : 0 Day 4 Design Ready In Progress Development Done 0 1 0 1 In Progress Done 2 2 Test In Progress 3 3 Story Story Story System WIP = 10 !17 4 4 Shipped
  • 18. Kanban Workflow Output : 0 Day 4 Design Development Ready In Progress Done Story 0 1 Story 0 1 In Progress Done 2 2 Test In Progress 3 3 Story System WIP = 10 !18 4 4 Shipped
  • 19. Kanban Workflow Output : 0 Day 4 Design Development Ready In Progress Done Story 0 1 Story 0 1 In Progress Done 2 2 Test In Progress 3 3 Story Story Story System WIP = 10 !19 4 4 Shipped
  • 20. Kanban Workflow Day 5 Output : 2 Design Ready In Progress Development Test Done In Progress Done In Progress 0 1 2 0 1 2 3 3 4 4 Story Story Story System WIP = 10 !20 Shipped 5 5
  • 21. Kanban Workflow Day 5 Output : 2 Design Ready In Progress Development Test Done In Progress Done In Progress 0 1 2 0 1 2 3 3 4 4 Story Story Story System WIP = 10 !21 Shipped 5 5
  • 22. Flow Explained Day 5 Output : 2 Lead Time = 5 Days Lead Time =WIP / Throughput 5 Days = 10 / 2 !22
  • 23. Simulator Theory Of Constraints Matchstick Game Simulator !23
  • 24. Goal To deliver software more frequently at a sustainable pace without drastically increasing costs !24
  • 25. Common Limitations • Limited financial resources • Hiring more people often makes the problem worse !25
  • 26. Simulated Workflow WIP LIMIT Design Development Test Ready In Progress Done In Progress Done In Progress Story Story Story Story Story Story Story Story Story Story Story Story Shipped Story Story Story Story Story Story !26
  • 27. Initial System State Backlog Design Development Testing Min Output 1 1 1 Max Output 10 10 4 40 40 20 WIP 10 !27
  • 28. 500 Cycles Later !28
  • 29. Results After 500 Cycles Deployed Units Avg ! Throughput ! (Per Cycle) Avg ! WIP Avg! Lead Time 1237 2.47 105.67 41 Cycles !29
  • 30. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !30
  • 31. Present CFD !31
  • 32. Underneath The Hood Lead Time 16 15.50 15.38 12 Design (LT = 3.73) Dev (LT = 15.65) Test (LT = 23.48) 7.98 8 4 2.98 0.75 0.27 0 Design Backlog Design Doing Design Done Dev Doing Lead Time !32 Dev Done Test Doing
  • 33. Bottlenecks “Being the bottleneck is not bad, although some people hate being the focus of attention. Conversely being the bottleneck is not good, although some people like the attention” 
 http://www.agilecoach.net !33
  • 34. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !34
  • 35. How Can We Exploit The Bottleneck ? • Shield the team from interruptions • Reduce Task Switching & Introduce WIP 
 (Max day capacity) • Only work on throughput producing work (reduce personal admin e.g. reports, timesheets, meetings etc) • Not done through overtime as bottleneck will burnout and slow down over time !35
  • 36. Lead Time And Feedback Handoffs and approvals slow down the BuildMeasure-Learn feedback loop and inhibit both learning and accountability The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !36
  • 37. Exploit The Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 4 40 40 20 WIP 10 !37
  • 38. Exploit The Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 (+2) 40 40 6 (max) WIP 10 !38
  • 39. 500 Cycles Later !39
  • 40. Results 500 Cycles Deployed! Throughput Units Avg WIP Improved Lead Time Lead Time Original 1237 2.47 105.67 41 Cycles Exploited Bottleneck 1727 3.45 90.86 26 Cycles !40 36%
  • 41. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !41
  • 42. Subordinate Every Decision To The Bottleneck • Reduce the backlog by introducing WIP upstream. Work to the rhythm of the bottleneck. • The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system !42
  • 43. Subordinate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 (40) Now 12 (40) Now 12 6 WIP 10 !43
  • 44. 500 Cycles Later !44
  • 45. Results 500 Cycles Deployed! Throughput Units Avg WIP Improved Lead Time Lead Time Original 1237 2.47 105.67 41 Cycles Exploited Bottleneck 1727 3.45 90.86 26 Cycles 36% Subordinate Everything 1750 3.49 36.25 10 Cycles 75.6% !45
  • 46. Subordinate Every Decision To The Bottleneck • Other teams can help test when available and necessary (Cross Functional Team) • If you switch away from your skill your input is reduced (Simulated up to 40% of effort) !46
  • 47. Subordinate Every Decision To The Bottleneck If the testers have too much work to do, we don’t want developers to keep building new features and adding to their workload— instead, they should focus on helping test. WIP limits act as an alert signal to highlight the problem before it gets out of hand. Lean from the Trenches: Managing Large-Scale Projects with Kanban by Henrik Kniberg !47
  • 48. Solving Problems Together !48
  • 49. Working Outside Strongest Skill Set Job rotation shows people how their work impacts on others. Goedtel said, “When you get people rotating, they learn what defects they would send downstream; so when people rotate to upstream jobs, they don’t send as many problems down. When everyone knows what’s important downstream, they take care of it upstream.” ! Empowered work teams at Chrysler http://www.allpar.com/corporate/empowered-work-teams.html#ixzz2MwiV7cb4 !49
  • 50. Subordinate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 12 12 6 WIP 10 !50
  • 51. 500 Cycles Later !51
  • 52. Cross Functional Distribution Over 500 Cycles 200 191 150 121 100 50 38 13 0 0 1 0 Design Development Design Development !52 1 Testing Testing 0
  • 53. Results 500 Cycles Deployed Deployed! Avg TP Throughput Avg WIP Avg WIP Units Units Original Exploited Bottleneck Subordinat e Everything CFT Change Improved Avg CT Lead Time CT Lead Time 1237 2.47 105.67 41 Days 1727 3.45 90.86 26 Days 36% 1750 3.49 36.25 10 Days 75.6% 2184 4.36 35.27 8 Days 80.5% !53
  • 54. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !54
  • 55. Better working Environments Elevate the bottleneck !55
  • 56. Better Tools Elevate The Bottleneck !56
  • 57. Pairing - Team Work Elevate The Bottleneck !57
  • 58. Elevate Bottleneck Backlog Design Development Testing Min 1 1 1 Max 10 10 6 12 12 6 WIP 10 !58
  • 59. Elevate Bottleneck Backlog Design Development Testing Min (+3) 4 (+3) 4 (+1) 2 Max (-4) 6 (-4) 6 (-2) 4 8 8 4 WIP 8 !59
  • 60. 500 Days Later !60
  • 61. Results 500 Cycles Deployed! Units Throughput Avg WIP Original 1237 2.47 105.67 41 Days Exploited Bottleneck 1727 3.45 90.86 26 Days 36% Subordinate Everything 1750 3.49 36.25 10 Days 75.6% CFT 2184 4.36 35.27 8 Days 80.5% Elevate Bottleneck 1926 3.84 23.78 6 Days 85.4% !61 Improved Lead Time Lead Time
  • 62. Lead Time And Feedback Remember, if we’re building something that nobody wants, it doesn’t much matter if we’re doing it on time and on budget. The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !62
  • 63. Lead Time And Feedback The goal of a startup is to figure out the right thing to build—the thing customers want and will pay for —as quickly as possible. The Lean Startup: How Constant Innovation Creates Radically Successful Businesses by Eric Ries !63
  • 64. Theory Of Constraints 1. Identify The Bottleneck 2. Exploit The Bottleneck 3. Subordinate Every Decision To The Bottleneck 4. Elevate The Bottleneck 5. And Again! !64
  • 65. Original CFD !65
  • 66. Present CFD Time & Cost Original Capacity !66
  • 67. Deviation Comparison Original Elevate !67
  • 68. Lead Time Built Into Scrum Sprint 1 5 Story Sprint 2 8 Story Sprint 3 8 Littles Law Story Lead Time = WIP/Throughput 2 Story 8 Story 2 Story 8 Story 2 Story 2 Story 5 Story 5 Story 5 Story 5 Days = 4 Stories/0.8 Or 5 Days = 18 pts /3.6 5 Days 5 Days 5 Days Avg Velocity 5 Stories/25 pts 3 Stories/12 pts 4 Stories/17 pts 4 Stories/18 pts !68
  • 69. ToC Example Applied http://www.strongandagile.co.uk/index.php/the-hourglass-scrumban-board/ !69
  • 70. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Design Dev !70 Test
  • 71. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Requirements Design Dev ? !71 Test
  • 72. Workflow The bottleneck should always be busy. Wasted effort on the bottleneck is a wasted effort for the entire system Requirements Design Dev ? Test Release ? !72
  • 73. Inventory !73
  • 74. Links & Books • I’m not a bottleneck I’m a free man(http://www.agilecoach.net/coach-tools/bottleneck-game/) • http://www.allpar.com/corporate/empowered-work-teams.html#ixzz2MwYdgDYk !74
  • 75. Thank You ! Questions ? Craig Strong! @craigstrong craig.strong@c6s.co.uk www.strongandagile.co.uk Daryn Holmes! @darynholmes darynholmes@gmail.com !75 http://darynholmes.wordpress.com