Cost · Engineering
Tech Debt Business Impact Calculator
Bugs and surprise work eat the sprint. This page turns that share of time into dollars a finance partner can read, and checks whether a 20% payoff slice is big enough to shrink the pile.
Enter engineers, loaded cost, bug share, unplanned work, and codebase age. An in-browser AI agent shows the quarterly leak, velocity drag, and whether a 20% payoff slice covers it. No API key.
Five inputs, said in plain words
- Engineers and loaded cost. People on the team, and what one person costs for a year including benefits. $120,000 is an example, not a salary survey.
- Bug share. The part of delivered work that is fixing defects. 40% means 40 hours of bugs in every 100 hours of delivery.
- Unplanned work. Incidents, interrupts, and rework that were not on the sprint board.
- Codebase age. Years since the system was last treated as healthy. Each year stands for 40 hours of cleanup per engineer. That is a planning assumption, not a scan of the repo.
- Two different questions. The dollar line adds bug share and unplanned share, then stops at 100% of payroll. The drag line asks what share of a sprint is no longer clean feature work.
A worked example, before you touch a slider
12 engineers at $120,000. Bug share 40%. Unplanned work 25%. Codebase age 8 years. Payoff slice 20%.
- Payroll is $1,440,000. Bug share plus unplanned work is 65%, so the annual leak is $936,000.
- A quarter of that leak is $234,000.
- Velocity drag is 55%. Clean feature work left in a sprint is what remains after bugs, then after unplanned work on what is left.
- The age pile is 3,840 hours, about $256,000 at 1,800 hours a year.
- A 20% slice is $72,000 a quarter. That covers about 31% of the leak, so the slice is $162,000 short and the pile does not shrink. The band is Heavy because drag is at least 50%.
How the model works
- Toil share = bug share + unplanned share, and never more than 100% of payroll.
- Annual leak = engineers × loaded cost × toil share. Quarterly leak = that number ÷ 4.
- Velocity drag = 1 − (1 − bug share) × (1 − unplanned share). Bugs take a cut, then unplanned work takes a cut of what remains.
- Age pile = years × 40 hours × engineers. Dollars use loaded cost ÷ 1,800 hours.
- Payoff slice = 20% of payroll, per year, shown per quarter. If the slice is smaller than the leak, the pile does not shrink.
- Heavy when drag or toil share is 50% or more. Mixed at 30% or more. Otherwise Lower.
The AI agent fills this line after it runs.
Unlock a printable summary
The numbers above stay visible with no email. A work email unlocks Print / Save as PDF. Same subscribe flow as the newsletter.
FAQ
Does this read Jira or GitHub?
No. You type the engineer count, the loaded cost, the bug share, the unplanned share, and the age of the codebase. The page does not connect to a tracker.
How does the math work?
The dollar line adds bug share and unplanned share, then stops at 100% of payroll. Annual leak is engineers times loaded cost times that share. Quarterly leak is the annual leak divided by 4. Velocity drag is different: it is 1 minus the feature share that remains after bugs, times the share that remains after unplanned work. A 40% bug share and a 25% unplanned share is a 65% dollar share and a 55% drag.
What does codebase age do?
Each year stands for 40 hours of cleanup per engineer. That pile is priced at loaded cost divided by 1,800 hours. It is a planning assumption so a finance partner can see a pile, not a measurement from the repository. The pile shrinks only when the 20% payoff slice is larger than the quarterly leak.
Do I need an API key?
No API key is required. No OpenAI, Anthropic, or Google key. Results are directional heuristics with an AI agent experience: a badge, a short thinking step, and a stamp. The formulas run in your browser. Numbers stay on screen before any email ask. Email is only for the printable summary.
Is the AI agent calling a cloud model?
No. The AI agent on this page is the in-browser analysis experience. It uses rule-based heuristics. No headcount, salary, or sprint share is sent to a third-party model.
If I assign 20% of the sprint, does the debt go away?
Only when that 20% is larger than the leak. If the leak is bigger, the slice covers part of the interest and the age pile does not shrink. The page says how short the slice is. It is not a promise that a refactor will pay for itself.
Vatsal Shah
AI Leader · Solution Architect · TPM
https://shahvatsal.com
Tech Debt Business Impact
Prepared via shahvatsal.com/tools/tech-debt-business-impact-calculator
Directional heuristic. Shares are typed, not read from a tracker. The AI agent on this page is rule-based and in-browser. © Vatsal Shah — shahvatsal.com