Technical Debt

A choice that raises the cost of future change. Deliberate and bounded is a strategy; accidental and unnamed is the thing that compounds.

What Technical Debt Actually Is

A design or implementation choice that increases the cost of future change. Not ugliness, not old code, not a library you would not have picked — and the metaphor was originally about deliberate shortcuts.

Q · Half the backlog is labelled "tech debt". Which of it is actually debt, and how would we tell?
Deliberate Debt

A shortcut taken knowingly is a strategy — if the trade-off is understood, the impact is bounded, and someone knows the way out. Two of those three are usually missing.

Q · We need to ship in three weeks and the right design takes six. How do we take the shortcut without it becoming permanent?
Accidental Debt

Debt nobody chose: an unclear domain, requirements that moved, a rushed design, missing tests, people who left. It is the larger half, and it is not a moral failure.

Q · Nobody took a shortcut here and the code is still expensive to change. Where did that come from?
Interest: Why Debt Compounds

The shortcut is the principal. The interest is that every later change in that area costs more — and because later changes are built on earlier ones, the cost grows rather than staying flat.

Q · The shortcut cost us a week to take. Why has it cost far more than a week to live with?
The Debt Register

Five fields per entry — Problem, Impact, Risk, Owner, Trigger — and a hard rule about size. A register with two hundred entries is not a register, it is a wishlist nobody reads.

Q · How do we keep track of the debt we are carrying without producing a list that grows forever and gets read never?