Back to Calculator

Technical Debt Assessment Framework

Score your codebase across six dimensions to get a weighted debt score. Use this alongside the calculator to prioritise where to invest in debt reduction first.

How to Use This Framework

  1. 1. For each dimension, read all five levels and select the one that best describes your codebase today.
  2. 2. Note your score (1 = Critical, 5 = Minimal) and multiply by the dimension weight.
  3. 3. Sum all weighted scores for your overall technical debt score out of 100.
  4. 4. Use the interpretation table at the bottom to understand what your score means.
  5. 5. Focus improvement efforts on high-weight dimensions with the lowest scores first.

Architecture

Weight: 25%
1/5 Critical

Monolith with no clear bounded contexts, spaghetti dependencies, no service boundaries possible without full rewrite.

2/5 High

Some modularisation but significant circular dependencies. Major features require changes across 5+ components.

3/5 Medium

Mostly clean architecture with identifiable service boundaries. Occasional cross-cutting concerns.

4/5 Low

Clear bounded contexts, minimal coupling. New features added in under 2 components in most cases.

5/5 Minimal

Exemplary architecture. SOLID principles applied consistently. Easy to decompose further if needed.

Code Quality

Weight: 20%
1/5 Critical

Widespread code duplication, deeply nested logic, long functions (500+ lines), no consistent naming.

2/5 High

Significant duplication, mixed naming conventions, average function length over 100 lines.

3/5 Medium

Some duplication in hotspots. Most functions under 50 lines. Naming mostly consistent.

4/5 Low

Occasional minor duplication. Good naming. Cyclomatic complexity within acceptable bounds.

5/5 Minimal

DRY throughout, excellent naming, linting enforced in CI, code review culture strong.

Test Coverage

Weight: 20%
1/5 Critical

Under 10% coverage. No automated testing enforced. Deploys require manual verification.

2/5 High

10-30% coverage, unit tests only, no integration or end-to-end tests.

3/5 Medium

30-60% coverage with unit and some integration tests. Critical paths tested.

4/5 Low

60-80% coverage with full testing pyramid. E2E tests on critical user journeys.

5/5 Minimal

80%+ coverage, TDD culture, mutation testing, full CI enforcement.

Dependencies

Weight: 15%
1/5 Critical

Multiple CVEs outstanding, dependencies 3+ major versions behind, unmaintained packages in critical paths.

2/5 High

Dependencies 1-2 major versions behind, some known vulnerabilities, no automated update process.

3/5 Medium

Mostly current dependencies. Dependabot or equivalent in place. Patches applied within 30 days.

4/5 Low

Dependencies current, minor version updates applied regularly, no known CVEs.

5/5 Minimal

Automated dependency updates with rollback. Zero known CVEs. Minimal dependency surface area.

Documentation

Weight: 10%
1/5 Critical

No documentation. Critical knowledge in heads of 1-2 engineers. Bus factor of 1.

2/5 High

Some README files, but architecture and decision rationale undocumented. Onboarding takes 3+ months.

3/5 Medium

Core systems documented. ADRs present for some major decisions. Onboarding takes 4-6 weeks.

4/5 Low

Comprehensive runbooks, ADRs, and API docs. New engineers productive within 2-3 weeks.

5/5 Minimal

Self-documenting code, living documentation, automated API docs, thorough onboarding guide.

Infrastructure

Weight: 10%
1/5 Critical

Manual deployments, no infrastructure as code, environments differ, frequent deploy-caused incidents.

2/5 High

Partial automation, some IaC, environments partially consistent, deploys risky.

3/5 Medium

Most infrastructure in IaC, automated deployments with rollback capability.

4/5 Low

Full IaC, immutable infrastructure, blue-green or canary deploys, monitoring-driven rollback.

5/5 Minimal

GitOps, policy as code, self-healing infrastructure, full observability stack.

Score Interpretation

90-100

Exemplary

Technical debt is actively managed. Continue with regular debt audits and maintain the culture.

70-89

Healthy

Good foundation with manageable debt. Prioritise the 2-3 weakest dimensions in next quarter.

50-69

Concerning

Debt is accumulating faster than you repay it. Allocate 20-30% sprint capacity to reduction immediately.

30-49

High Risk

Debt is materially slowing delivery. Consider a dedicated debt sprint or quarter-long initiative.

Below 30

Critical

Existential risk. A major rewrite or refactoring programme is likely necessary. Escalate to leadership.