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.

Using ToC And JIT Practice To Coach Agile Teams

11,153 views

Published on

My approach on coaching Agile teams using Theory of Constraints and Just In Time Practice concepts.

Published in: Technology, Business
  • Network with us in the USA - We can assist in business contacts in North America.

    Film 'JAIN ENLIGHTENMENT - A Cosmic Way of Life' for America and the world

    We have produced a beautiful 10 min DEMO film 'JAIN ENLIGHTENMENT - A Way of Life' and also working on 'Palitana - City of Temples on the Hill' to inform and educate America about Ahimsa, Anekantvad, Aparigrah ... involving Forgiveness, Compassion, and Peace.

    We returned from India with over 200 hours of film and are also producing a series of films on Legend of Lord Bahubali; King Adhinathan, Lord Mahavira and Sacred Pilgrimages - including Ranakpur, Ellora etc. to show Jain Images of Perfection.

    Vinanti Sarkar,Director, Global Cultural Diversity Films (GCDF) Inc. 425 East 51st Street, New York, NY 10022. Tel: 212-759-4568
    Website: www.globalfilmlinks.com
    Review short clips on www.vimeo.com 5084696 or 5084856 or 50864417 or 5092260 or 5092316 and join our discussions on blog: ttp://jainenlightenment.blogspot.com where we are inviting donors to help in funding and receive free DVDs in return
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Using ToC And JIT Practice To Coach Agile Teams

  1. 1. Using ToC and JIT Practice to Coach Agile Teams Naresh Jain naresh@industriallogic.com Licensed Under Creative Commons by Naresh Jain 1
  2. 2. Example Context Large Enterprise clients [450 ppl + 30 teams] Huge communication and delivery issues Help teams adopt Agile thinking Licensed Under Creative Commons by Naresh Jain 2
  3. 3. Consider this... Bug reported Customer Signoff 0 71 Time in days Licensed Under Creative Commons by Naresh Jain 3
  4. 4. After Value Stream Mapping Licensed Under Creative Commons by Naresh Jain 4
  5. 5. After Value Stream Mapping Bug reported 0 Time in days Licensed Under Creative Commons by Naresh Jain 4
  6. 6. After Value Stream Mapping Reproduce Bug Bug reported 0 8 8 Time in days Licensed Under Creative Commons by Naresh Jain 4
  7. 7. After Value Stream Mapping Write failing test Reproduce Bug Bug reported 0 8 10 8 2 Time in days Licensed Under Creative Commons by Naresh Jain 4
  8. 8. After Value Stream Mapping Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 8 2 20 Time in days Licensed Under Creative Commons by Naresh Jain 4
  9. 9. After Value Stream Mapping Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 8 2 20 8 Time in days Licensed Under Creative Commons by Naresh Jain 4
  10. 10. After Value Stream Mapping Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 8 2 20 8 31 Time in days Licensed Under Creative Commons by Naresh Jain 4
  11. 11. After Value Stream Mapping Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 71 8 2 20 8 31 2 Time in days Licensed Under Creative Commons by Naresh Jain 4
  12. 12. After Value Stream Mapping Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 71 8 2 20 8 31 2 Time in days Licensed Under Creative Commons by Naresh Jain 4
  13. 13. Identify Constraints/ bottleneck Subordinate everything else and Elevate the Set Goals Constraints/bottleneck Licensed Under Creative Commons by Naresh Jain 5
  14. 14. Agenda Some background about ToC and JIT Technique Open Discussion with examples from audience Licensed Under Creative Commons by Naresh Jain 6
  15. 15. Theory of Constraint is based on the premise that... “Every real system, such as a business, must have within it at least one constraint. If this were not the case then the system could produce unlimited amounts of whatever it was striving for, profit in the case of a business.……………….” Dr Eli Goldratt Licensed Under Creative Commons by Naresh Jain 7
  16. 16. “Theory of Constraints” Licensed Under Creative Commons by Naresh Jain 8
  17. 17. “Theory of Constraints” Global optimization does not emerge from local optima Licensed Under Creative Commons by Naresh Jain 8
  18. 18. “Theory of Constraints” Global optimization does not emerge from local optima Managing by cost (optimizing local performance) is usually at odds with managing by throughput (exploiting constraints) Licensed Under Creative Commons by Naresh Jain 8
  19. 19. Significance of bottlenecks Maximum speed of the process is the speed of the slowest operation Any improvements will be wasted unless the bottleneck is relieved Bottlenecks must be identified and improved if the process is to be improved Licensed Under Creative Commons by Naresh Jain 9
  20. 20. Significance of bottlenecks Maximum speed of the process is the speed of the slowest operation Any improvements will be wasted unless the bottleneck is relieved Bottlenecks must be identified and improved if the process is to be improved Licensed Under Creative Commons by Naresh Jain 9
  21. 21. Assume current constraints cannot be changed in the short-run Licensed Under Creative Commons by Naresh Jain 10
  22. 22. Assume current constraints cannot be changed in the short-run What should be produced now, with current resources, to maximize profits? Licensed Under Creative Commons by Naresh Jain 10
  23. 23. How to apply ToC? Licensed Under Creative Commons by Naresh Jain 11
  24. 24. How to apply ToC? Step 1: Identify the system's constraint(s). Licensed Under Creative Commons by Naresh Jain 11
  25. 25. How to apply ToC? Step 1: Identify the system's constraint(s). Step 2: Decide how to exploit the system's constraint(s). Licensed Under Creative Commons by Naresh Jain 11
  26. 26. How to apply ToC? Step 1: Identify the system's constraint(s). Step 2: Decide how to exploit the system's constraint(s). Step 3: Subordinate everything else to the decisions of Step 2. Licensed Under Creative Commons by Naresh Jain 11
  27. 27. How to apply ToC? Step 1: Identify the system's constraint(s). Step 2: Decide how to exploit the system's constraint(s). Step 3: Subordinate everything else to the decisions of Step 2. Step 4: Elevate the system's constraint(s). Licensed Under Creative Commons by Naresh Jain 11
  28. 28. How to apply ToC? Step 1: Identify the system's constraint(s). Step 2: Decide how to exploit the system's constraint(s). Step 3: Subordinate everything else to the decisions of Step 2. Step 4: Elevate the system's constraint(s). Step 5: Back to Step 1, identify next constraint. Licensed Under Creative Commons by Naresh Jain 11
  29. 29. Step 1: Identify the system’s constraint(s) Licensed Under Creative Commons by Naresh Jain 12
  30. 30. Step 1: Identify the system’s constraint(s) Goal? Licensed Under Creative Commons by Naresh Jain 12
  31. 31. Step 1: Identify the system’s constraint(s) Goal? Throughput? Licensed Under Creative Commons by Naresh Jain 12
  32. 32. Step 1: Identify the system’s constraint(s) Goal? Throughput? Inventory? Licensed Under Creative Commons by Naresh Jain 12
  33. 33. Step 1: Identify the system’s constraint(s) Goal? Throughput? Inventory? Operating Expense? Licensed Under Creative Commons by Naresh Jain 12
  34. 34. Step 2: Decide how to exploit the system’s constraint(s) Licensed Under Creative Commons by Naresh Jain 13
  35. 35. Step 3: Subordinate everything else to the decisions of Step 2 Licensed Under Creative Commons by Naresh Jain 14
  36. 36. Step 4: Elevate the system’s constraint(s) Licensed Under Creative Commons by Naresh Jain 15
  37. 37. Step 5: Back to Step 1, identify next constraint. What might happen if the constraint is elevated? Licensed Under Creative Commons by Naresh Jain 16
  38. 38. ToC : 3 things can increase profitability of a plant Decrease Inventory Decrease Operating Expense Increase Throughput Licensed Under Creative Commons by Naresh Jain 17
  39. 39. How does ToC apply to Software projects? Licensed Under Creative Commons by Naresh Jain 18
  40. 40. How does ToC apply to Software projects? Inventory Licensed Under Creative Commons by Naresh Jain 18
  41. 41. How does ToC apply to Software projects? Inventory Features requested but not specified Features specified and documented but not built Code that's written but not tested Code that's tested but not deployed to users Code that's deployed but not used Licensed Under Creative Commons by Naresh Jain 18
  42. 42. How does ToC apply to Software projects?... Licensed Under Creative Commons by Naresh Jain 19
  43. 43. How does ToC apply to Software projects?... Operating expenses Licensed Under Creative Commons by Naresh Jain 19
  44. 44. How does ToC apply to Software projects?... Operating expenses Idle team members - Phased approach Licensed Under Creative Commons by Naresh Jain 19
  45. 45. How does ToC apply to Software projects?... Operating expenses Idle team members - Phased approach Commercial Tools Licensed Under Creative Commons by Naresh Jain 19
  46. 46. How does ToC apply to Software projects?... Operating expenses Idle team members - Phased approach Commercial Tools Cost of change curve - rework Licensed Under Creative Commons by Naresh Jain 19
  47. 47. How does ToC apply to Software projects?... Operating expenses Idle team members - Phased approach Commercial Tools Cost of change curve - rework Constant thrashing of ideas Licensed Under Creative Commons by Naresh Jain 19
  48. 48. How does ToC apply to Software projects?... Operating expenses Idle team members - Phased approach Commercial Tools Cost of change curve - rework Constant thrashing of ideas Technical Debt Licensed Under Creative Commons by Naresh Jain 19
  49. 49. How does ToC apply to Software projects?... Throughput Large batch Size - Queuing Theory Licensed Under Creative Commons by Naresh Jain 20
  50. 50. Queuing Theory Utilization (%) Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc Licensed Under Creative Commons by Naresh Jain 21
  51. 51. How does ToC apply to Software projects?... Licensed Under Creative Commons by Naresh Jain 22
  52. 52. How does ToC apply to Software projects?... Throughput Licensed Under Creative Commons by Naresh Jain 22
  53. 53. How does ToC apply to Software projects?... Throughput Large batch Size - Queuing Theory Licensed Under Creative Commons by Naresh Jain 22
  54. 54. How does ToC apply to Software projects?... Throughput Large batch Size - Queuing Theory Heavyweight methodology Licensed Under Creative Commons by Naresh Jain 22
  55. 55. How does ToC apply to Software projects?... Throughput Large batch Size - Queuing Theory Heavyweight methodology Poor choice of tools Licensed Under Creative Commons by Naresh Jain 22
  56. 56. How does ToC apply to Software projects?... Throughput Large batch Size - Queuing Theory Heavyweight methodology Poor choice of tools Real resource shortage Licensed Under Creative Commons by Naresh Jain 22
  57. 57. Using Lean principles to Identify Waste Licensed Under Creative Commons by Naresh Jain 23
  58. 58. Using Lean principles to Identify Waste Overproduction = Extra Features Licensed Under Creative Commons by Naresh Jain 23
  59. 59. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Licensed Under Creative Commons by Naresh Jain 23
  60. 60. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Extra Processing Steps = Extra Steps Licensed Under Creative Commons by Naresh Jain 23
  61. 61. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Extra Processing Steps = Extra Steps Motion = Finding Information Licensed Under Creative Commons by Naresh Jain 23
  62. 62. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Extra Processing Steps = Extra Steps Motion = Finding Information Defects = Defects Not Caught by Tests Licensed Under Creative Commons by Naresh Jain 23
  63. 63. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Extra Processing Steps = Extra Steps Motion = Finding Information Defects = Defects Not Caught by Tests Waiting = Waiting, Including Customers Licensed Under Creative Commons by Naresh Jain 23
  64. 64. Using Lean principles to Identify Waste Overproduction = Extra Features Inventory = Requirements Extra Processing Steps = Extra Steps Motion = Finding Information Defects = Defects Not Caught by Tests Waiting = Waiting, Including Customers Transportation = Handoffs Licensed Under Creative Commons by Naresh Jain 23
  65. 65. Just In Time Licensed Under Creative Commons by Naresh Jain 24
  66. 66. Just In Time A pull system, driven by actual demand. The goal is to produce or provide one part just-in-time for the next operation. Reduces stock inventories, but leaves no room for schedule error. As much a managerial philosophy as it is an inventory system. Licensed Under Creative Commons by Naresh Jain 24
  67. 67. Just In Time A pull system, driven by actual demand. The goal is to produce or provide one part just-in-time for the next operation. Reduces stock inventories, but leaves no room for schedule error. As much a managerial philosophy as it is an inventory system. Last Responsible Moment Licensed Under Creative Commons by Naresh Jain 24
  68. 68. Just In Time A pull system, driven by actual demand. The goal is to produce or provide one part just-in-time for the next operation. Reduces stock inventories, but leaves no room for schedule error. As much a managerial philosophy as it is an inventory system. Last Responsible Moment Just-In-Time Training - Training provided to individuals or units just before the skills or function taught will be used in a practical application. Typically used to teach perishable or infrequently used skills Licensed Under Creative Commons by Naresh Jain 24
  69. 69. Licensed Under Creative Commons by Naresh Jain 25
  70. 70. Can we benefit more from ToC, JIT and Lean? Licensed Under Creative Commons by Naresh Jain 25
  71. 71. What if... We consider software team members as the machines in our software factories? Can we apply ToC and benefit? Licensed Under Creative Commons by Naresh Jain 26
  72. 72. Consider this... Licensed Under Creative Commons by Naresh Jain 27
  73. 73. Consider this... Bug reported 0 Time in days Licensed Under Creative Commons by Naresh Jain 27
  74. 74. Consider this... Reproduce Bug Bug reported 0 8 8 Time in days Licensed Under Creative Commons by Naresh Jain 27
  75. 75. Consider this... Write failing test Reproduce Bug Bug reported 0 8 10 8 2 Time in days Licensed Under Creative Commons by Naresh Jain 27
  76. 76. Consider this... Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 8 2 20 Time in days Licensed Under Creative Commons by Naresh Jain 27
  77. 77. Consider this... Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 8 2 20 8 Time in days Licensed Under Creative Commons by Naresh Jain 27
  78. 78. Consider this... Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 8 2 20 8 31 Time in days Licensed Under Creative Commons by Naresh Jain 27
  79. 79. Consider this... Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 71 8 2 20 8 31 2 Time in days Licensed Under Creative Commons by Naresh Jain 27
  80. 80. Consider this... Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 69 71 8 2 20 8 31 2 Time in days Licensed Under Creative Commons by Naresh Jain 27
  81. 81. Challenges making a Release Developers not checking in frequently Complicated and non-standard build process Real Build owned by Config Mgmt Team ... Licensed Under Creative Commons by Naresh Jain 28
  82. 82. Fixing Release issues by applying JIT Practice Licensed Under Creative Commons by Naresh Jain 29
  83. 83. Fixing Release issues by applying JIT Practice Standardize build process for the whole team Licensed Under Creative Commons by Naresh Jain 29
  84. 84. Fixing Release issues by applying JIT Practice Standardize build process for the whole team Manual integration on developers machines before checking in Licensed Under Creative Commons by Naresh Jain 29
  85. 85. Fixing Release issues by applying JIT Practice Standardize build process for the whole team Manual integration on developers machines before checking in Manual integration on an independent server machine Licensed Under Creative Commons by Naresh Jain 29
  86. 86. Fixing Release issues by applying JIT Practice Standardize build process for the whole team Manual integration on developers machines before checking in Manual integration on an independent server machine Continuous integration using CI servers like CruiseControl Licensed Under Creative Commons by Naresh Jain 29
  87. 87. After optimizing biggest bottleneck... Licensed Under Creative Commons by Naresh Jain 30
  88. 88. After optimizing biggest bottleneck... Bug reported 0 Time in days Licensed Under Creative Commons by Naresh Jain 30
  89. 89. After optimizing biggest bottleneck... Reproduce Bug Bug reported 0 8 8 Time in days Licensed Under Creative Commons by Naresh Jain 30
  90. 90. After optimizing biggest bottleneck... Write failing test Reproduce Bug Bug reported 0 8 10 8 2 Time in days Licensed Under Creative Commons by Naresh Jain 30
  91. 91. After optimizing biggest bottleneck... Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 8 2 20 Time in days Licensed Under Creative Commons by Naresh Jain 30
  92. 92. After optimizing biggest bottleneck... Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 8 2 20 8 Time in days Licensed Under Creative Commons by Naresh Jain 30
  93. 93. After optimizing biggest bottleneck... Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 43 8 2 20 8 5 Time in days Licensed Under Creative Commons by Naresh Jain 30
  94. 94. After optimizing biggest bottleneck... Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 43 45 8 2 20 8 5 2 Time in days Licensed Under Creative Commons by Naresh Jain 30
  95. 95. After optimizing biggest bottleneck... Customer Signoff Making a release Regression Testing Fix Bug Write failing test Reproduce Bug Bug reported 0 8 10 30 38 43 45 8 2 20 8 5 2 Time in days Licensed Under Creative Commons by Naresh Jain 30
  96. 96. After recursively applying ToC Licensed Under Creative Commons by Naresh Jain 31
  97. 97. After recursively applying ToC Total time to fix any bug was 10 days...one two-week iteration Licensed Under Creative Commons by Naresh Jain 31
  98. 98. After recursively applying ToC Total time to fix any bug was 10 days...one two-week iteration Find practices or techniques that help solve this problem and recurse. Licensed Under Creative Commons by Naresh Jain 31
  99. 99. Summary ToC and JIT can be applied to software team’s “business” process Using Retrospectives and other techniques Identify biggest stinkers [bottlenecks] Use a JIT practice to elevate the bottleneck Baby Steps - No Silver Bullets! Recurse Licensed Under Creative Commons by Naresh Jain 32

×