Technical Debt - Part 1

You have probably heard a lot of talk and discussion about technical debt, because in fact it isn't a new concept. When I heard about it I set out to understand what it is, and how to pay off the debt which led me to write this series of articles so that I can better understand and share my findings about it.

A grand example of technical debt

Roadmap

  • Understand what technical debt is.
  • Examples of technical debt.
  • Leveraging technical debt.
  • Measuring technical debt.
  • Some strategies to prevent technical debt.
  • Dealing with technical debt.

Introduction to Technical Debt

"The true currency of life is time, not money, and we've all got a limited stock of that"- Robert Harris
I've come across some real nightmare projects in my life, and these nightmares happened mostly due to the "we needed this done now"-fixes. And for a long time I didn't know what a good term was for these products because they weren't really legacy, but then I read about 'technical debt' and I thought "Yap, that sums it up nicely".
Technical debt doesn't just imply bad or legacy code it implies that there was decisions made at the cost of maintainability to get immediate results; and this also has potential when used properly.

This article is based on the work of Martin Fowler and Ward Cunningham.

Part 1 - Understanding Technical Debt

Defining Technical Debt

As one of my good friends once said:
“Look at it like this it’s just future me paying for something I’m buying now”
I like using that quote when I talk about debt because it says look I'm getting something right now for 0 cost that tomorrow me will worry about. That's exactly what we do with technical debt, we try to extend the delivery capability of a squad by sacrificing the product's quality goals with the promise of catching it up later when we have time available again. 

The Miriam Webster Online Definition of debt

Technical Interest

Technical interest, like normal interest, is the price we pay for borrowing and here the price we pay is the potential value that was lost by sacrificing the product's quality goal during the period that we are paying of the debt. As a side note technical interest also implies the existence of compound technical interest.

Comments

Popular Posts