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.

Technical Debt

1,996 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
  • Login to see the comments

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

×