How to measure tech debt: four methods in five minutes
You cannot fix what you cannot measure. These four methods range from "ask the team" (one afternoon) to "instrument the codebase" (one quarter). Pick one to start; do not try all four at once.
Methods at a glance
Method 01
Developer survey
Method 02
Static analysis
Method 03
Cycle time analysis
Method 04
Incident post-mortems
Method 01 / The fastest
Developer survey
Five questions, anonymous, 10 minutes. Your engineers know exactly what slows them down. Run quarterly to track trend.
The Five Questions
- What % of your time last sprint went to maintenance, debt, or workarounds?
- Name one part of the codebase you fear changing.
- How many minutes does our slowest CI build take?
- How many incidents in the last quarter trace to known bad code?
- If you could clean up one thing this quarter, what would it be?
Interpreting Q1
| Healthy | 0-15% |
| Manageable | 15-30% |
| Painful | 30-50% |
| Critical | 50%+ |
Method 02 / Code-level
Static analysis
Tools score your codebase against a quality model and produce a remediation cost in person-hours. Multiply by your fully-loaded hourly rate to get dollars.
Pricing as of April 2026. Vendor-neutral list. Pick one to pilot, not all of them.
Conversion formula: remediation_hours x fully_loaded_hourly_rate = remediation cost. A SonarQube score of 4,200 hours at $90/hour fully-loaded is $378K.
Method 03 / Velocity proxy
Cycle time analysis
Measure delivery friction directly. The DORA four metrics correlate strongly with debt level. Pull from Jira, Linear, or GitHub.
Cycle time
Time from first commit to production. Elite < 1 day, low > 1 month.
Source: GitHub PRs, Jira
Deployment frequency
Elite multiple per day, low less than once per month.
Source: CI/CD logs
Change failure rate
% of changes causing incidents. Elite 0-15%, low 46-60%.
Source: Incident tooling
MTTR
Mean time to restore. Elite < 1 hour, low > 1 week.
Source: Incident tooling
Method 04 / Forensic
Incident post-mortems
Tag every incident root cause against a small taxonomy. Architectural, dependency, test coverage, configuration, human error. After 90 days you will have the share of incidents attributable to debt.
Conversion formula: incidents/month x avg_incident_cost x debt_attributable_share = annual debt-driven incident cost. 4 incidents/month x $25K avg x 65% (DORA share) = $780K/year.
Recommended starting point
Pick two, run quarterly, plug into the calculator
For most teams: survey + cycle time. The survey gives you the human signal in an afternoon. Cycle time gives you the operational signal from data you already have. Run both quarterly, plug the drag % into techdebtcalculator.com for dollar figures, present the trend in your QBR.