The cumulative consequence of expedient implementation choices that create future rework — shipping code or design that works now but is harder to maintain, extend, or correct later. For designers, the equivalent involves inconsistent patterns, undocumented decisions, and workarounds that don't integrate cleanly with the design system, silently degrading the product experience over time.
Common contexts
- Negotiating with engineering to include one debt-reduction ticket per sprint alongside feature work
- Auditing Figma files to find one-off component overrides that have never been reconciled back to the design system
- Presenting a case to leadership that slow feature velocity is partly caused by accumulated design and code inconsistencies
Use when
Acknowledge and name technical debt deliberately when scoping work under tight deadlines — making the debt visible with a documented plan to repay it is far healthier than pretending it isn't accruing. Naming it gives the team permission to revisit it later rather than letting it silently compound.
Avoid when
Don't use 'technical debt' as a blanket excuse to avoid shipping — some shortcuts are reasonable trade-offs, not debt. Treating every pragmatic decision as debt creates analysis paralysis and signals poor judgment about when good enough is genuinely sufficient.
Design debt is more insidious than code debt because it's invisible in the backlog — inconsistent patterns don't throw errors, they just erode user trust and slow down every designer who joins the project later.
Real-world examples
- Twitter's 2022 engineering challenges following the ownership change were partly rooted in years of accumulated technical debt in their monolithic 'Monorail' codebase, making rapid feature deployment extremely difficult.
- Airbnb's 2018 'Great Migration' from JavaScript to React Native components across their iOS and Android apps was a deliberate technical-debt paydown — they wrote off months of new feature development to clean the foundation.
- Basecamp deleted 150,000 lines of code during a 2019 technical debt sprint, reporting that the codebase ran 40% faster and the engineering team's weekly shipping velocity increased by 30% in the following quarter.