technical debt
The accumulated cost of shortcuts, suboptimal design choices, or deferred work in a codebase that must eventually be paid down to maintain software quality and agility.
Full Definition
Technical debt is a metaphor coined by Ward Cunningham to describe the implicit future cost incurred when a team chooses a faster, less-ideal solution over a more robust but time-consuming one. Like financial debt, it accrues 'interest' over time as the suboptimal code becomes harder to modify, test, and extend. In editorial contexts, 'technical debt' is two words and lowercase; it should not be hyphenated as a compound modifier ('technical-debt reduction' is acceptable as a noun phrase). Editors should flag use of the term to mean 'any bug' or 'any legacy code', as it has a specific meaning relating to conscious trade-offs.
Usage
Usage note: Two words, lowercase. Not a synonym for 'bugs' or 'legacy code'—it specifically refers to known trade-offs that must be revisited. Can be hyphenated as a compound modifier: 'technical-debt reduction strategy'.
In Context
- "The product roadmap allocates one sprint per quarter specifically to reducing technical debt." — Engineering strategy document
- "Choosing the quick fix over the refactor will create technical debt we'll need to address before v3.0." — Code review comment policy