Technical Debt

Technical Debt is unfortunately a terribly abused metaphor. Somewhat ironically it was coined to use business/accounting concepts to make technical considerations more accessible but it is those concepts that seem to be either ignored or misunderstood such that Technical Debt is often treated as “anything technical that we wish didn’t exist” rather than things which should be able to be treated as debt.

Years ago I had a more lax perspective and bought into the quadrant model mentioned by Fowler, but I then witnessed a culture where that led to mismanagement of such debt; without differentiating accrual of debt from any undesirable expenses it can be easy to stumble your way into insolvency which in technical terms can translate to thoughts such as “it doesn’t matter if we cut all of these corners for this new system since we’ll just add that to the backlog along with sunsetting our legacy systems”.

There’s also a somewhat related concept of civilization debt. While this certainly has different underlying motivations, those motivations appeal to me and I’d also aver (without particular support) that many of the debt management strategies would overlap.