Back to glossary

Technical Debt

The accumulated cost of shortcuts, workarounds, and suboptimal design decisions in a codebase that make future development slower and riskier, analogous to financial debt that accrues interest over time.

Technical debt accumulates when teams choose expedient solutions over optimal ones, often under time pressure. Like financial debt, it is not inherently bad; strategic debt taken consciously to ship faster can be a rational trade-off. The problem is unmanaged debt that compounds: each shortcut makes the next change harder, slower, and more likely to introduce bugs.

Common forms include duplicated code, missing tests, outdated dependencies, unclear abstractions, tightly coupled components, and undocumented conventions. The "interest" on this debt manifests as longer development cycles, more bugs, harder onboarding for new team members, and increased risk of outages.

For AI teams, technical debt has unique dimensions. Experimental model code that was never productionized properly, hardcoded prompt strings scattered across the codebase, missing evaluation pipelines, ad-hoc data preprocessing scripts, and tightly coupled model-application integrations all accumulate as AI-specific technical debt. Managing this debt requires regular refactoring time, clear ownership boundaries, and the discipline to build proper abstractions before moving to the next experiment.

Related Terms