Technical debt comes not from code ugliness, bugs, or similar, but from loss of nimbleness. The best *actionable* definition I've seen that captures this comes from
@splittingred
, saying that:
Technical debt is any code that decreases agility as the project matures.
1/2