Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
C afé

                                            Identifying,
                                            Measuring,
                                             Reducing
                                            & Avoiding
                                  Technical Debt

                                            Rob Myers
                                                for
                                             ADP East
                                            10 Nov 2011

09 November 2011   © Agile Institute 2011                  1
time (schedule)




    effort (cost)                                         size (scope)

               Five Core Metrics: The Intelligence Behind Successful Software Management,
                    Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003

09 November 2011                     © Agile Institute 2011                                 2
time (schedule)




    effort (cost)                                         size (scope)

               Five Core Metrics: The Intelligence Behind Successful Software Management,
                    Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003

09 November 2011                     © Agile Institute 2011                                 2
time (schedule)




    effort (cost)                                         size (scope)

               Five Core Metrics: The Intelligence Behind Successful Software Management,
                    Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003

09 November 2011                     © Agile Institute 2011                                 2
time (schedule)




                       productivity



    effort (cost)                                         size (scope)

               Five Core Metrics: The Intelligence Behind Successful Software Management,
                    Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003

09 November 2011                     © Agile Institute 2011                                 2
reliability
                         time (schedule)                                         (quality)




                       productivity



    effort (cost)                                         size (scope)

               Five Core Metrics: The Intelligence Behind Successful Software Management,
                    Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003

09 November 2011                     © Agile Institute 2011                                 2
09 November 2011   © Rob Myers 2011   3
“...having high amounts of Technical Debt is
probably the number one impediment to Teams
being agile.”

                          Dr. Dan Rawsthorne,
             Exploring Scrum:The Fundamentals
Technical Debt
• Design Debt
• Design Debt
• Quality Debt
• Design Debt
• Quality Debt
• Testing Debt
•   Design Debt
•   Quality Debt
•   Testing Debt
•   ...ad nauseam
Technical Debt
• Design Debt
• Design Debt
  • Cyclomatic complexity
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
  • Mean Time Between Failures
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
  • Mean Time Between Failures
  • Severe-defect count
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
  • Mean Time Between Failures
  • Severe-defect count
• Testing Debt
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
  • Mean Time Between Failures
  • Severe-defect count
• Testing Debt
  • % Covered
• Design Debt
  • Cyclomatic complexity
  • Cycle time
• Quality Debt
  • Mean Time Between Failures
  • Severe-defect count
• Testing Debt
  • % Covered
  • Time to regression test
09 November 2011   © Rob Myers 2011   7
(c) SoftwareHumor.com
       http://theleek.net/software-humor-blog/posters/technical-debt-the-poster/
09 November 2011                   © Rob Myers 2011                                8
Minimal Iteration Debt
      Payment
Test Drive!
09 November 2011   © Rob Myers 2011            10
“The results of the case studies indicate
    that the pre-release defect density of the
    four products decreased between 40%
    and 90% relative to similar projects that
    did not use the TDD practice.
    Subjectively, the teams experienced a
    15–35% increase in initial development
    time after adopting TDD.”
http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf, Nagappan et al,
                   © Springer Science + Business Media, LLC 2008
   09 November 2011               © Rob Myers 2011                          11
Developer’s “Oath of Athens”



 I vow to leave the code as
good as I found it, or better!
Technical Debt
• Design Debt
• Design Debt
  • Merciless Refactoring
• Design Debt
  • Merciless Refactoring
• Quality Debt
• Design Debt
  • Merciless Refactoring
• Quality Debt
  • Find bugs before check-in
• Design Debt
  • Merciless Refactoring
• Quality Debt
  • Find bugs before check-in
• Testing Debt
• Design Debt
  • Merciless Refactoring
• Quality Debt
  • Find bugs before check-in
• Testing Debt
  • Fast automation
Technical Debt
•   The Wobbly Iron Rhomboid
•   The Wobbly Iron Rhomboid

•   At first, Quality v. Productivity trade-offs
•   The Wobbly Iron Rhomboid

•   At first, Quality v. Productivity trade-offs

•   Sharpen the Chef’s Knives
•   The Wobbly Iron Rhomboid

•   At first, Quality v. Productivity trade-offs

•   Sharpen the Chef’s Knives

•   Quality quickly improves throughput of value
    (Productivity)
Rob.Myers@agileInstitute.com

         http://PowersOfTwo.agileInstitute.com/

                              @agilecoach




09 November 2011        © Agile Institute 2011    15

More Related Content

Technical Debt

  • 1. C afé Identifying, Measuring, Reducing & Avoiding Technical Debt Rob Myers for ADP East 10 Nov 2011 09 November 2011 © Agile Institute 2011 1
  • 2. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003 09 November 2011 © Agile Institute 2011 2
  • 3. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003 09 November 2011 © Agile Institute 2011 2
  • 4. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003 09 November 2011 © Agile Institute 2011 2
  • 5. time (schedule) productivity effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003 09 November 2011 © Agile Institute 2011 2
  • 6. reliability time (schedule) (quality) productivity effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 2003 09 November 2011 © Agile Institute 2011 2
  • 7. 09 November 2011 © Rob Myers 2011 3
  • 8. “...having high amounts of Technical Debt is probably the number one impediment to Teams being agile.” Dr. Dan Rawsthorne, Exploring Scrum:The Fundamentals
  • 11. • Design Debt • Quality Debt
  • 12. • Design Debt • Quality Debt • Testing Debt
  • 13. Design Debt • Quality Debt • Testing Debt • ...ad nauseam
  • 16. • Design Debt • Cyclomatic complexity
  • 17. • Design Debt • Cyclomatic complexity • Cycle time
  • 18. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt
  • 19. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt • Mean Time Between Failures
  • 20. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt • Mean Time Between Failures • Severe-defect count
  • 21. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt • Mean Time Between Failures • Severe-defect count • Testing Debt
  • 22. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt • Mean Time Between Failures • Severe-defect count • Testing Debt • % Covered
  • 23. • Design Debt • Cyclomatic complexity • Cycle time • Quality Debt • Mean Time Between Failures • Severe-defect count • Testing Debt • % Covered • Time to regression test
  • 24. 09 November 2011 © Rob Myers 2011 7
  • 25. (c) SoftwareHumor.com http://theleek.net/software-humor-blog/posters/technical-debt-the-poster/ 09 November 2011 © Rob Myers 2011 8
  • 27. Test Drive! 09 November 2011 © Rob Myers 2011 10
  • 28. “The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD.” http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf, Nagappan et al, © Springer Science + Business Media, LLC 2008 09 November 2011 © Rob Myers 2011 11
  • 29. Developer’s “Oath of Athens” I vow to leave the code as good as I found it, or better!
  • 32. • Design Debt • Merciless Refactoring
  • 33. • Design Debt • Merciless Refactoring • Quality Debt
  • 34. • Design Debt • Merciless Refactoring • Quality Debt • Find bugs before check-in
  • 35. • Design Debt • Merciless Refactoring • Quality Debt • Find bugs before check-in • Testing Debt
  • 36. • Design Debt • Merciless Refactoring • Quality Debt • Find bugs before check-in • Testing Debt • Fast automation
  • 38. The Wobbly Iron Rhomboid
  • 39. The Wobbly Iron Rhomboid • At first, Quality v. Productivity trade-offs
  • 40. The Wobbly Iron Rhomboid • At first, Quality v. Productivity trade-offs • Sharpen the Chef’s Knives
  • 41. The Wobbly Iron Rhomboid • At first, Quality v. Productivity trade-offs • Sharpen the Chef’s Knives • Quality quickly improves throughput of value (Productivity)
  • 42. Rob.Myers@agileInstitute.com http://PowersOfTwo.agileInstitute.com/ @agilecoach 09 November 2011 © Agile Institute 2011 15

Editor's Notes

  1. \n
  2. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  3. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  4. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  5. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  6. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  7. Looks like Time, Cost, Scope “Iron Triangle”\nPerformance is derived from other direct metrics\nAddition of reliability as quality\nQuality (“Iron Rhomboid”). Productivity is influenced by all but Reliability!\n
  8. Problem: Iterations imply incremental development\nChange can result in a negative feedback loop - ENTROPY: The Agilist’s Dilemma\nWe have to address this. It’s not easy, until it becomes easy. At first, we’d rather not check the oil…\n
  9. ...and I’d add “to products or projects being successful”\n
  10. Types of debt\nThey all have a few things in common: \nDifficult to quantify\nseemingly expensive to fix,\naccrued because we don’t want to (or aren’t sure at the time that we need to) pay now,\n\n
  11. Types of debt\nThey all have a few things in common: \nDifficult to quantify\nseemingly expensive to fix,\naccrued because we don’t want to (or aren’t sure at the time that we need to) pay now,\n\n
  12. Types of debt\nThey all have a few things in common: \nDifficult to quantify\nseemingly expensive to fix,\naccrued because we don’t want to (or aren’t sure at the time that we need to) pay now,\n\n
  13. Types of debt\nThey all have a few things in common: \nDifficult to quantify\nseemingly expensive to fix,\naccrued because we don’t want to (or aren’t sure at the time that we need to) pay now,\n\n
  14. Measures\n
  15. Measures\n
  16. Measures\n
  17. Measures\n
  18. Measures\n
  19. Measures\n
  20. Measures\n
  21. Measures\n
  22. Measures\n
  23. Real Debt! Need QUALITATIVE metrics!\n
  24. Acknowledge the amount of debt\nPay a Minimum\nFind ways to Stop creating debt!\nLet’s look at some methods...\n
  25. Bug fixing, refactoring, legacy-pinning\n
  26. \n
  27. Does TDD Work?\nMicrosoft and IBM…\nAlso, “approximately 40% fewer defects” Laurie Williams for ACM\ndefect rate is considerably lower\nfuture enhancements easier in a dynamic market. \ndefects quickly detected\n
  28. “to leave the city better than I found it”\n\n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. For management to embrace and support...\n\n
  36. For management to embrace and support...\n\n
  37. For management to embrace and support...\n\n
  38. For management to embrace and support...\n\n
  39. Thank you!\n