Summary of "Prioritizing Technical Debt as If Time & Money Matters • Adam Tornhill • GOTO 2022"

Core problem and motivation

Software must continuously change while evolution tends to increase complexity. Left unchecked, complexity grows and makes change slower, more unpredictable, and error-prone.

Main approach: behavioral code analysis

Key idea: combine code metrics with human and organizational behavior (version-control history) to make technical debt visible and actionable.

Version control (git) is a rich data source — commits, authorship, and evolution patterns reveal where the organization actually works on the code.

Hotspots + code health = prioritization

Techniques and visualizations demonstrated

People and social factors

Practical recommendations and workflow

Don’t rely on raw static-analysis debt scores alone — they are often unactionable and demotivating.

Suggested workflow to prioritize technical debt:

  1. Extract version-control activity to identify hotspots (commit frequency).
  2. Compute multi-factor code-health metrics per file/function.
  3. Combine dimensions (hotspot × code health × knowledge/ownership) to rank risk and cost.
  4. Drill down to functions (hotspots X‑ray) to get safe, focused refactoring targets.
  5. Mitigate social risk via pairing/onboarding and targeted refactorings.

Tools and further reading:

Caveats and notes

Main speaker and sources

Category ?

Technology


Share this summary


Is the summary off?

If you think the summary is inaccurate, you can reprocess it with the latest model.

Video