Being Smart with Debt: Tactical Tools for Technical Debt

5413a812757c471c3bd10baf4614ebf7?s=47 Jess Martin
December 12, 2012

Being Smart with Debt: Tactical Tools for Technical Debt

We often mistakenly assume that things should always be done the "right way" 100% of the time. Not so. There are times to choose an inferior implementation and take on technical debt. The key is being aware of when it's time to take on technical debt, communicating it clearly to the whole team, and having a plan in place to start making payments.

5413a812757c471c3bd10baf4614ebf7?s=128

Jess Martin

December 12, 2012
Tweet

Transcript

  1. Being Smart With Debt Jess Martin

  2. SWEET BIKE

  3. Rs100,000 @ 15% interest Interest = Rs1,250 / month Bike

    = Rs100,000 You make Rs20,000 / month Rs2,000 left after living expenses Rs1,250 / month is just your interest payment You have Rs750 / month Invest or Pay against principal?
  4. The Right Way™ The Quick & Dirty Way

  5. The Quick & Dirty Way Technical Debt

  6. Technical Debt Harder to make changes Harder to understand Harder

    to test DEBT SLOWS YOU DOWN
  7. “If  the  debt  grows  large  enough,  eventually  the  company  will

     spend  more  on   servicing  its  debt  than  it  invests  in  increasing  the  value  of  its  other  assets.”   -­‐  Steve  McConnell Debt for Business Types Time Feature X Feature X w / debt Cost of servicing debt
  8. Types of Technical Debt Code base Platform/Architecture Build & Development

    Environment Test Automation
  9. http://www.slideshare.net/LeanDog/the-technical-debt-trap-michael-doc-norton Technical debt is NOT a license to write crappy,

    untested code with the intention of fixing it later. If your code sucks, it WILL NOT pass code review.
  10. Make Regular Payments Against the Principal But how? Clearly, we

    need to...
  11. 1. Document debt when discovered 2. Decide what debt to

    pay down 3. Pay it down
  12. Document Tech Debt Doc Version controlled In the repo, near

    the code Structured Updated frequently Making payments regularly!
  13. Document Tech Debt Doc

  14. Tech Debt Doc Document Title Date added Description Who added

    Rating
  15. Rating: How does it make you feel? Document

  16. Decide Tech Debt Meeting Regular (weekly or bi-weekly) Has an

    owner Short (because meetings suck) Updates the tech debt doc Making payments regularly!
  17. Got it! Decide I’m on it! Uhhh.. ok.

  18. Claim it Decide Accountability FTW

  19. Pay it down Branch Code it up Pull request Code

    review QA Update the doc Merge it (if it’s big, bring it up in sprint planning as a story card)
  20. Don’t wait to make things better. Make things better today.

    Leave code cleaner than when you found it. Document technical debt.
  21. Or better yet... JUST FIX IT RIGHT NOW

  22. Where do we have technical debt? Code base Platform/Architecture Build

    & Development Environment Test Automation
  23. Resources http://www.codinghorror.com/blog/2009/02/paying-down-your-technical-debt.html http://scrumalliance.org/articles/451-technical-debt-for-pms http://martinfowler.com/bliki/TechnicalDebt.html http://martinfowler.com/bliki/DesignStaminaHypothesis.html http://www.youtube.com/watch?v=pqeJFYwnkjE http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx http://www.slideshare.net/LeanDog/the-technical-debt-trap-michael-doc-norton