Technical debt is the accumulated cost of decisions that were expedient at the time but make the system harder to change later: the quick fix that was never revisited, the abstraction that no longer fits, the test that was skipped. Like financial debt it is not inherently bad — taking some on to ship sooner is often the right call — but it charges interest, in the form of every future change taking longer.
The danger is debt that is invisible until it is overwhelming. A healthy team names it, tracks it, and pays it down deliberately, rather than letting it compound until a small change becomes a large, risky one. Most "we need a rewrite" situations are really "we ignored the debt for years".
Related terms