Design Debt
In plain terms
Accumulated suboptimal design decisions that hinder change.
Going deeper
Design debt is a form of technical debt where architectural shortcuts make the system increasingly hard to modify. Poor structure compounds over time.
Under the hood
Higher-level than code smells; paying it down often requires significant refactoring or redesign.
Examples
Poor architecture, tight coupling, tech debt, refactoring needs, legacy.
Think of it like...
Like a building with awkward additions that make every renovation harder.