What is Technical Debt?
The accumulated future cost of expedient design choices, paid as interest through slower development and riskier changes.
Definition
Technical debt, Ward Cunningham's metaphor, frames shortcuts—skipped tests, copy-pasted logic, outdated dependencies, architecture outgrown by requirements—as borrowed time: the principal is the eventual fix, the interest is every feature that lands slower because of it. Martin Fowler's quadrant distinguishes deliberate/prudent debt ("ship now, refactor after launch") from reckless debt taken unknowingly. Not all debt deserves repayment; debt in code that never changes charges no interest. Healthy teams make it visible—tracking it in the backlog, budgeting a fixed slice of each cycle for paydown, and using boy-scout-rule refactoring—rather than letting it surface as mysterious velocity collapse.

