Skip to main content

Technical-debt economics and communication

Technical debt is a design/implementation choice that creates continuing cost or risk. Old code is not automatically debt; fashionable new code can be debt if it increases operational or cognitive cost.

Debt record​

Capture evidence, affected journeys/teams, principal remediation estimate, recurring “interest,” risk/blast radius, trigger/deadline, owner, dependencies, options and success measure.

Debt: checkout has two pricing models
Evidence: 5 defects/quarter; 18% checkout changes touch adapters
Risk: inconsistent displayed/charged totals
Options: shared Money/Price contract; server-authoritative migration
Success: one model; zero fallback use for 30 days; old adapters deleted

Prioritization​

Use impact × likelihood × frequency plus delivery drag and strategic timing. Security/data-loss/compliance debt can dominate despite low frequency. Couple repayment to related feature work when safe; reserve explicit capacity for systemic issues; stop creating new instances with a gate before cleaning the backlog.

Communicate in product/operational terms: change lead time, incidents, support, reliability, regulatory exposure and opportunity cost. “The code is ugly” does not support investment.

Avoid endless rewrites​

Set a bounded outcome, baseline, milestones that ship value, kill criteria, legacy deletion condition and decision dates. Reassess if metrics do not improve. Some debt should be accepted: record why and the condition that would reopen it.

Practical mistakes​

  • ❌ One giant “tech debt” backlog with no owner/evidence.
  • ✅ maintain actionable records tied to measurable impact.
  • ❌ repay by building a parallel platform forever.
  • ✅ migrate traffic and delete the old path.
  • ❌ promise an exact ROI from weak data.
  • ✅ state assumptions/ranges and measure after investment.

Exercise​

Rank: slow builds, an unsupported auth SDK, duplicated Compose components, flaky UI tests, and a legacy database. State assumptions and what evidence could change the ranking.