• Save
Technical Debt
Upcoming SlideShare
Loading in...5
×
 

Technical Debt

on

  • 1,220 views

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....

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.

Statistics

Views

Total Views
1,220
Views on SlideShare
1,167
Embed Views
53

Actions

Likes
3
Downloads
0
Comments
0

4 Embeds 53

http://www.ontechnicaldebt.com 29
http://paper.li 15
https://www.linkedin.com 5
http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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 Technical Debt Presentation Transcript

  • C afé Identifying, Measuring, Reducing & Avoiding Technical Debt Rob Myers for ADP East 10 Nov 201109 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, 200309 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, 200309 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, 200309 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, 200309 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, 200309 November 2011 © Agile Institute 2011 2
  • 09 November 2011 © Rob Myers 2011 3
  • “...having high amounts of Technical Debt isprobably the number one impediment to Teamsbeing agile.” Dr. Dan Rawsthorne, Exploring Scrum:The Fundamentals
  • • Design Debt
  • • Design Debt• Quality Debt
  • • Design Debt• Quality Debt• Testing Debt
  • • Design Debt• Quality Debt• Testing Debt• ...ad nauseam
  • • 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 asgood as I found it, or better!
  • • 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
  • • 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/ @agilecoach09 November 2011 © Agile Institute 2011 15