$30 off During Our Annual Pro Sale. View Details »

Being Smart with Debt: Tactical Tools for Technical Debt

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.

Jess Martin

December 12, 2012
Tweet

More Decks by Jess Martin

Other Decks in Technology

Transcript

  1. Being Smart With Debt
    Jess Martin

    View Slide

  2. SWEET BIKE

    View Slide

  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?

    View Slide

  4. The Right Way™ The Quick & Dirty Way

    View Slide

  5. The Quick & Dirty Way
    Technical Debt

    View Slide

  6. Technical Debt
    Harder to make changes
    Harder to understand
    Harder to test
    DEBT SLOWS YOU DOWN

    View Slide

  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

    View Slide

  8. Types of Technical Debt
    Code base
    Platform/Architecture
    Build & Development Environment
    Test Automation

    View Slide

  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.

    View Slide

  10. Make Regular
    Payments Against
    the Principal
    But how?
    Clearly, we need to...

    View Slide

  11. 1. Document debt when discovered
    2. Decide what debt to pay down
    3. Pay it down

    View Slide

  12. Document
    Tech
    Debt
    Doc
    Version controlled
    In the repo, near the code
    Structured
    Updated frequently
    Making payments regularly!

    View Slide

  13. Document
    Tech
    Debt
    Doc

    View Slide

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

    View Slide

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

    View Slide

  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!

    View Slide

  17. Got it!
    Decide
    I’m on it!
    Uhhh.. ok.

    View Slide

  18. Claim it
    Decide
    Accountability FTW

    View Slide

  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)

    View Slide

  20. Don’t wait to make things better.
    Make things better today.
    Leave code cleaner than when you found it.
    Document technical debt.

    View Slide

  21. Or better yet...
    JUST FIX IT RIGHT NOW

    View Slide

  22. Where do we have technical debt?
    Code base
    Platform/Architecture
    Build & Development Environment
    Test Automation

    View Slide

  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

    View Slide