Technical Debt

1,756 views

Published on

Some categories of tech debt, their causes, potential metrics (and how to avoid their misuse), and ways to pay down the debt, and avoid the accrual of technical debt.

Talk first given at Agile Development Practices East 2011.

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,756
On SlideShare
0
From Embeds
0
Number of Embeds
62
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • ...and I’d add “to products or projects being successful”\n
  • 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
  • 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
  • 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
  • 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
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Measures\n
  • Real Debt! Need QUALITATIVE metrics!\n
  • Acknowledge the amount of debt\nPay a Minimum\nFind ways to Stop creating debt!\nLet’s look at some methods...\n
  • Bug fixing, refactoring, legacy-pinning\n
  • \n
  • 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
  • “to leave the city better than I found it”\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • For management to embrace and support...\n\n
  • For management to embrace and support...\n\n
  • For management to embrace and support...\n\n
  • For management to embrace and support...\n\n
  • Thank you!\n
  • Technical Debt

    1. 1. C afé Identifying, Measuring, Reducing & Avoiding Technical Debt Rob Myers for ADP East 10 Nov 201109 November 2011 © Agile Institute 2011 1
    2. 2. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 200309 November 2011 © Agile Institute 2011 2
    3. 3. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 200309 November 2011 © Agile Institute 2011 2
    4. 4. time (schedule) effort (cost) size (scope) Five Core Metrics: The Intelligence Behind Successful Software Management, Lawrence H. Putnam & Ware Myers, Dorset House Publishing, 200309 November 2011 © Agile Institute 2011 2
    5. 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, 200309 November 2011 © Agile Institute 2011 2
    6. 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, 200309 November 2011 © Agile Institute 2011 2
    7. 7. 09 November 2011 © Rob Myers 2011 3
    8. 8. “...having high amounts of Technical Debt isprobably the number one impediment to Teamsbeing agile.” Dr. Dan Rawsthorne, Exploring Scrum:The Fundamentals
    9. 9. • Design Debt
    10. 10. • Design Debt• Quality Debt
    11. 11. • Design Debt• Quality Debt• Testing Debt
    12. 12. • Design Debt• Quality Debt• Testing Debt• ...ad nauseam
    13. 13. • Design Debt
    14. 14. • Design Debt • Cyclomatic complexity
    15. 15. • Design Debt • Cyclomatic complexity • Cycle time
    16. 16. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt
    17. 17. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt • Mean Time Between Failures
    18. 18. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt • Mean Time Between Failures • Severe-defect count
    19. 19. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt • Mean Time Between Failures • Severe-defect count• Testing Debt
    20. 20. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt • Mean Time Between Failures • Severe-defect count• Testing Debt • % Covered
    21. 21. • Design Debt • Cyclomatic complexity • Cycle time• Quality Debt • Mean Time Between Failures • Severe-defect count• Testing Debt • % Covered • Time to regression test
    22. 22. 09 November 2011 © Rob Myers 2011 7
    23. 23. (c) SoftwareHumor.com http://theleek.net/software-humor-blog/posters/technical-debt-the-poster/09 November 2011 © Rob Myers 2011 8
    24. 24. Minimal Iteration Debt Payment
    25. 25. Test Drive!09 November 2011 © Rob Myers 2011 10
    26. 26. “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
    27. 27. Developer’s “Oath of Athens” I vow to leave the code asgood as I found it, or better!
    28. 28. • Design Debt
    29. 29. • Design Debt • Merciless Refactoring
    30. 30. • Design Debt • Merciless Refactoring• Quality Debt
    31. 31. • Design Debt • Merciless Refactoring• Quality Debt • Find bugs before check-in
    32. 32. • Design Debt • Merciless Refactoring• Quality Debt • Find bugs before check-in• Testing Debt
    33. 33. • Design Debt • Merciless Refactoring• Quality Debt • Find bugs before check-in• Testing Debt • Fast automation
    34. 34. • The Wobbly Iron Rhomboid
    35. 35. • The Wobbly Iron Rhomboid• At first, Quality v. Productivity trade-offs
    36. 36. • The Wobbly Iron Rhomboid• At first, Quality v. Productivity trade-offs• Sharpen the Chef’s Knives
    37. 37. • The Wobbly Iron Rhomboid• At first, Quality v. Productivity trade-offs• Sharpen the Chef’s Knives• Quality quickly improves throughput of value (Productivity)
    38. 38. Rob.Myers@agileInstitute.com http://PowersOfTwo.agileInstitute.com/ @agilecoach09 November 2011 © Agile Institute 2011 15

    ×