Using ToC and JIT Practice
  to Coach Agile Teams
                Naresh Jain
         naresh@industriallogic.com




    ...
Example Context


Large Enterprise clients [450 ppl + 30 teams]
Huge communication and delivery issues
Help teams adopt Ag...
Consider this...




Bug reported                                                    Customer Signoff




     0          ...
After Value Stream Mapping




    Licensed Under Creative Commons by Naresh Jain
                                        ...
After Value Stream Mapping




Bug reported



     0


                                 Time in days

                   ...
After Value Stream Mapping




         Reproduce Bug

Bug reported



     0               8
               8

          ...
After Value Stream Mapping



                   Write failing test
         Reproduce Bug

Bug reported



     0        ...
After Value Stream Mapping



                                        Fix Bug
                   Write failing test
      ...
After Value Stream Mapping


                                                    Regression Testing

                     ...
After Value Stream Mapping


                                                                         Making a release

  ...
After Value Stream Mapping

                                                                                            Cu...
After Value Stream Mapping

                                                                                            Cu...
Identify Constraints/
                                     bottleneck




Subordinate everything
 else and Elevate the    ...
Agenda


Some background about ToC and JIT
Technique
Open Discussion with examples from audience




               Licens...
Theory of Constraint is based on the
          premise that...

  “Every real system, such as a business, must have within...
“Theory of Constraints”




   Licensed Under Creative Commons by Naresh Jain
                                            ...
“Theory of Constraints”


Global optimization does not emerge from local
                    optima




           License...
“Theory of Constraints”


Global optimization does not emerge from local
                    optima

Managing by cost (opt...
Significance of bottlenecks


Maximum speed of the process is the speed of the slowest
operation
Any improvements will be w...
Significance of bottlenecks


Maximum speed of the process is the speed of the slowest
operation
Any improvements will be w...
Assume current constraints cannot
   be changed in the short-run




        Licensed Under Creative Commons by Naresh Jai...
Assume current constraints cannot
   be changed in the short-run


 What should be produced now, with current resources, t...
How to apply ToC?




Licensed Under Creative Commons by Naresh Jain
                                                 11
How to apply ToC?


Step 1: Identify the system's constraint(s).




             Licensed Under Creative Commons by Nares...
How to apply ToC?


Step 1: Identify the system's constraint(s).
Step 2: Decide how to exploit the system's constraint(s)....
How to apply ToC?


Step 1: Identify the system's constraint(s).
Step 2: Decide how to exploit the system's constraint(s)....
How to apply ToC?


Step 1: Identify the system's constraint(s).
Step 2: Decide how to exploit the system's constraint(s)....
How to apply ToC?


Step 1: Identify the system's constraint(s).
Step 2: Decide how to exploit the system's constraint(s)....
Step 1: Identify the system’s constraint(s)




           Licensed Under Creative Commons by Naresh Jain
                ...
Step 1: Identify the system’s constraint(s)




      Goal?




              Licensed Under Creative Commons by Naresh Ja...
Step 1: Identify the system’s constraint(s)




      Goal?
      Throughput?




              Licensed Under Creative Co...
Step 1: Identify the system’s constraint(s)




      Goal?
      Throughput?
      Inventory?


               Licensed U...
Step 1: Identify the system’s constraint(s)




      Goal?
      Throughput?
      Inventory?
      Operating Expense?
  ...
Step 2: Decide how to exploit
   the system’s constraint(s)




      Licensed Under Creative Commons by Naresh Jain
     ...
Step 3: Subordinate everything
else to the decisions of Step 2




      Licensed Under Creative Commons by Naresh Jain
  ...
Step 4: Elevate the system’s constraint(s)




           Licensed Under Creative Commons by Naresh Jain
                 ...
Step 5: Back to Step 1, identify next
            constraint.




  What might happen if the constraint is elevated?


   ...
ToC : 3 things can increase
       profitability of a plant

Decrease Inventory
Decrease Operating Expense
Increase Through...
How does ToC apply to
  Software projects?




  Licensed Under Creative Commons by Naresh Jain
                          ...
How does ToC apply to
     Software projects?
Inventory




            Licensed Under Creative Commons by Naresh Jain
   ...
How does ToC apply to
     Software projects?
Inventory
 Features requested but not specified
 Features specified and docume...
How does ToC apply to
 Software projects?...




   Licensed Under Creative Commons by Naresh Jain
                       ...
How does ToC apply to
    Software projects?...
Operating expenses




          Licensed Under Creative Commons by Naresh...
How does ToC apply to
    Software projects?...
Operating expenses
 Idle team members - Phased approach




          Lice...
How does ToC apply to
    Software projects?...
Operating expenses
 Idle team members - Phased approach
 Commercial Tools
...
How does ToC apply to
    Software projects?...
Operating expenses
 Idle team members - Phased approach
 Commercial Tools
...
How does ToC apply to
    Software projects?...
Operating expenses
 Idle team members - Phased approach
 Commercial Tools
...
How does ToC apply to
    Software projects?...
Operating expenses
 Idle team members - Phased approach
 Commercial Tools
...
How does ToC apply to
    Software projects?...


Throughput
 Large batch Size - Queuing Theory




          Licensed Und...
Queuing Theory




                                    Utilization (%)

Source: Beyond Agile Software Development Becoming...
How does ToC apply to
 Software projects?...




   Licensed Under Creative Commons by Naresh Jain
                       ...
How does ToC apply to
    Software projects?...

Throughput




         Licensed Under Creative Commons by Naresh Jain
  ...
How does ToC apply to
    Software projects?...

Throughput
 Large batch Size - Queuing Theory




          Licensed Unde...
How does ToC apply to
    Software projects?...

Throughput
 Large batch Size - Queuing Theory
 Heavyweight methodology


...
How does ToC apply to
    Software projects?...

Throughput
 Large batch Size - Queuing Theory
 Heavyweight methodology
 P...
How does ToC apply to
    Software projects?...

Throughput
 Large batch Size - Queuing Theory
 Heavyweight methodology
 P...
Using Lean principles to Identify Waste




          Licensed Under Creative Commons by Naresh Jain
                     ...
Using Lean principles to Identify Waste

     Overproduction = Extra Features




               Licensed Under Creative C...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements




          ...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements
     Extra Pro...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements
     Extra Pro...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements
     Extra Pro...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements
     Extra Pro...
Using Lean principles to Identify Waste

     Overproduction = Extra Features
     Inventory = Requirements
     Extra Pro...
Just In Time




Licensed Under Creative Commons by Naresh Jain
                                                 24
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...
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...
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...
Licensed Under Creative Commons by Naresh Jain
                                                 25
Can we benefit more from
   ToC, JIT and Lean?



    Licensed Under Creative Commons by Naresh Jain
                      ...
What if...



We consider software team members as the machines in our software
factories?
Can we apply ToC and benefit?


...
Consider this...




Licensed Under Creative Commons by Naresh Jain
                                                 27
Consider this...




Bug reported



     0


                             Time in days

               Licensed Under Cre...
Consider this...




         Reproduce Bug

Bug reported



     0               8
               8

                    ...
Consider this...



                   Write failing test
         Reproduce Bug

Bug reported



     0                 8...
Consider this...



                                        Fix Bug
                   Write failing test
         Reprodu...
Consider this...


                                                    Regression Testing

                               ...
Consider this...


                                                                         Making a release

            ...
Consider this...

                                                                                            Customer Sig...
Consider this...

                                                                                            Customer Sig...
Challenges making a Release


Developers not checking in frequently
Complicated and non-standard build process
Real Build ...
Fixing Release issues by
  applying JIT Practice




   Licensed Under Creative Commons by Naresh Jain
                   ...
Fixing Release issues by
      applying JIT Practice

Standardize build process for the whole team




           Licensed...
Fixing Release issues by
      applying JIT Practice

Standardize build process for the whole team
Manual integration on d...
Fixing Release issues by
      applying JIT Practice

Standardize build process for the whole team
Manual integration on d...
Fixing Release issues by
      applying JIT Practice

Standardize build process for the whole team
Manual integration on d...
After optimizing biggest bottleneck...




          Licensed Under Creative Commons by Naresh Jain
                      ...
After optimizing biggest bottleneck...




Bug reported



     0


                             Time in days

           ...
After optimizing biggest bottleneck...




         Reproduce Bug

Bug reported



     0               8
               8...
After optimizing biggest bottleneck...



                   Write failing test
         Reproduce Bug

Bug reported



  ...
After optimizing biggest bottleneck...



                                        Fix Bug
                   Write failing...
After optimizing biggest bottleneck...


                                                    Regression Testing

         ...
After optimizing biggest bottleneck...


                                                                    Making a rele...
After optimizing biggest bottleneck...

                                                                                  ...
After optimizing biggest bottleneck...

                                                                                  ...
After recursively applying ToC




      Licensed Under Creative Commons by Naresh Jain
                                  ...
After recursively applying ToC



Total time to fix any bug was 10 days...one two-week iteration




                Licens...
After recursively applying ToC



Total time to fix any bug was 10 days...one two-week iteration
Find practices or techniqu...
Summary

ToC and JIT can be applied to software team’s “business” process
Using Retrospectives and other techniques Identi...
Upcoming SlideShare
Loading in …5
×

Using ToC And JIT Practice To Coach Agile Teams

9,487 views
9,561 views

Published on

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

Published in: Technology, Business
1 Comment
19 Likes
Statistics
Notes
  • 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
No Downloads
Views
Total views
9,487
On SlideShare
0
From Embeds
0
Number of Embeds
2,883
Actions
Shares
0
Downloads
794
Comments
1
Likes
19
Embeds 0
No embeds

No notes for slide

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

×