Skip to main content

Engineering Manager's Guide to Tech Debt

Last updated . Sources are named and dated inline - how we source claims.

Metrics, team health, and organizational strategies for managing technical debt across your teams.

You own the outcomes but you do not write the code. Your job is to create the conditions where debt gets addressed systematically -- not heroically.

The Manager's Challenge

You own the outcomes but you do not write the code. Your job is to create the conditions where debt gets addressed systematically -- not heroically. That means shifting from reactive firefighting to proactive measurement, protection, and communication.

Measure What Matters

Go beyond coverage percentages. Track deployment frequency, debt resolution velocity, and onboarding time -- metrics that connect code health to business outcomes.

Protect Team Capacity

Guard your team's ability to do quality work. Allocate dedicated debt reduction time, prevent burnout from constant firefighting, and make quality a first-class priority.

Communicate in Business Terms

Translate technical health into language executives understand: cost, velocity, risk, and retention. Nobody gets budget by saying "the code is messy."

The Middle Position

You are the only person who sees both the sprint board and the roadmap. That is what makes the role worth having, and it is also why both sides quietly assume you are representing the other one.

Only Translating Upward

You defend every estimate and never carry bad news down. It feels like loyalty. It produces predictability: leadership can guess your answer before you speak, so escalations stop carrying information.

Only Translating Downward

Decisions arrive and you pass them along intact. It feels neutral. But the team learns that telling you something changes nothing, so they stop, and you lose the input that made you worth listening to upward.

The job is carrying accurate information in both directions, including the one where it is unwelcome. Telling your director the migration will not land this quarter is unwelcome upward. Telling your team you asked for another engineer and were turned down is unwelcome downward. Both need saying, by the same person, in the same week.

Self-check: in the last month, what did you tell leadership that it did not want to hear, and what did you tell your team that it did not want to hear?

Deep Dive Guides

Metrics Dashboard Guide

Data & Visualization

What to measure, how to visualize it, and what the numbers actually mean for your organization. Build dashboards that drive action, not just decorate walls.

Explore Metrics Guide

Team Health & Tech Debt

People & Culture

The hidden link between code quality, developer satisfaction, and retention. Learn why your best engineers leave and what tech debt has to do with it.

Explore Team Health

Key Metrics at a Glance

CategoryMetricWhat It Tells You
DORA Metrics Source: DORA (Google Cloud), "DORA's software delivery performance metrics" -- five metrics, not the original four keys.Change Lead TimeCommit to production -- how fast is your pipeline
Deployment FrequencyHow often you ship to production
Failed Deployment Recovery TimeHow fast you restore service after a deployment fails
Change Fail RateShare of deployments that degrade service and need remediation
Deployment Rework RateHow often a deploy forces unplanned follow-up work
Debt MetricsDebt RatioDebt work vs feature work as a percentage of capacity
Debt AgeHow long known debt items sit unresolved
Resolution VelocityRate at which debt items get closed vs created
Team MetricsDeveloper SatisfactionSurvey scores on code quality and tooling
Onboarding TimeWeeks until a new hire ships meaningful code
Voluntary TurnoverAttrition rate -- especially among senior engineers

Your Action Plan

1

Month 1: Establish Baseline Measurements

Month one buys you honest numbers, not fixes. Set up tracking for DORA metrics, create a debt inventory, and run your first developer satisfaction survey. The numbers will be uncomfortable -- that is the point.

DORA setup Debt inventory Team survey
2

Month 2-3: Set Targets with Your Teams

Share the baseline data with your teams and collaboratively set improvement targets. Teams that help define targets are far more likely to hit them. Focus on 2-3 metrics, not 20.

Team alignment Target setting Prioritization
3

Month 4-6: Implement Debt Allocation Policy (15-20%)

Reserve 15-20% of sprint capacity for debt reduction. This is not a suggestion -- it is the industry-proven allocation that prevents debt from compounding while still delivering features. Protect this time fiercely.

15-20% allocation Sprint planning Capacity protection
4

Month 7+: Review Quarterly, Adjust, Celebrate Progress

Run quarterly reviews comparing current metrics to baseline. Adjust targets based on what you have learned. Celebrate improvements publicly -- teams that see their work recognized keep investing in quality.

Quarterly review Adjust targets Celebrate wins

Protecting the Capacity You Reserved

A debt allocation is not protected by announcing it. You can put it in the sprint template, get your director to nod, and still end the quarter with almost none of it spent. It leaked.

What erodes it

Interrupts that never reach planning. An escalation, another team's question, a look at a broken report. None of it is on the board, so nothing gets named when debt work slips.
The one engineer everyone routes through. One person knows the payments code and the deploy pipeline. Their calendar looks fine; their messages do not. Their reserved time goes first.
Work absorbed in silence. Someone finds the ticket is twice the job described and does the extra rather than reopening the sprint. It reads as ownership; it deletes your capacity signal.
Borrowing just this once. A launch is close, so debt time goes to delivery once and nothing bad happens. The next sprint borrows with less discussion.

What protects it

Give the work a name and a ticket. Unnamed work competes invisibly, and invisible work loses. A named ticket can be deferred on purpose or defended. Vanished time cannot.
Track what the reserved time bought. Each quarter, report how much went where it was reserved, including the quarters where the answer is none of it.
Rotate the interrupt duty. Name one person as the sprint's interrupt handler. When the cost rotates, it stops being one engineer's private tax.
Spend it out loud. When you take the allocation for delivery, say so in the same sentence you commit to the date. Make it a decision, not an absence.

An allocation nobody measures is a statement of intent, not a policy.

Translating in Both Directions

Going Up

  • Lead with the delivery consequence. Not "the auth service is a mess" but "any change to login takes most of a week because six paths get tested by hand."
  • Bring a trend, not a bad week. One rough sprint is weather. The same line across several quarters is climate. Only one is worth a director's attention.
  • Bring the specific ask. "Something has to change" hands the problem back. "Two sprints next quarter, and I will trade the reporting refresh" is decidable today.

Going Down

  • Explain why it went that way. Name the constraint honestly, even when it is unflattering. "We were behind a compliance deadline" is workable. "It was not prioritized" is a shrug.
  • Never sell a decision you disagree with as your own preference. It buys one smoother meeting and costs every honest conversation after it.
  • Never disown a decision you carried up and lost. "I argued for this, I lost, here is what we are doing" is credible. "They decided" is not.

Two habits of a relay

Passing a date downward unexamined. If you cannot explain where it came from, you cannot defend it.
Passing frustration upward as analysis. "The team hates the build" is a mood report. "The build is slow enough that people switch tasks and lose the thread" is analysis.

Your value is that things arrive at both ends in a form the receiver can act on.

Seeing Burnout Before Attrition Does

Attrition is a lagging indicator. By the time someone resigns, the decision was made months earlier, in a stretch that looked fine from where you stood.

Signals you can see earlier

The same name on every incident. Not the only one capable, just the fastest. Fast is how people get volunteered.
Pull requests stop carrying discussion. Reviews become approvals. That is not efficiency; it is people conserving energy.
Scope absorbed instead of renegotiated. The ticket grew and nobody said so. The argument did not seem worth having.
Proposals stop arriving. The last few went nowhere, so the next never got written. Silence in planning is rarely agreement.
Vacation deferred. Days accumulate and the plan is always after this release. There is always a release.
"I will just do it myself" replaces delegation. Teaching costs more today than doing, so an overloaded engineer drops it first.
Work moving outside normal hours. Not ambition. Compensation for a day with no uninterrupted time left in it.

What to do about it

Ask something that cannot be answered with "fine." "What took far longer this week than it should have" has a specific answer. "How are you doing" does not.
Remove one recurring irritation. The test suite that fails at random, or the deploy step done by hand at an awkward hour. That beats a morale initiative: it changes the day rather than how people feel about it.
If you cannot fix it, say why. "Not this quarter, and here is what is in front of it" is survivable. Silence is indistinguishable from not caring.
Deeper on debt, satisfaction, and retention

When Leadership Says No

You made the case, brought the trend, brought the ask, and got no. Work out which no it was; they are four different problems.

"Not now"

The case landed; the timing did not. Get the condition written down that brings it back.

"Not this"

They accept the risk but not your fix. Ask which part they object to, then bring back only that.

"Not you"

The decision is being made somewhere else. Ask your director to carry it to whoever owns it.

"Not convinced"

Nothing connected the technical condition to something they are accountable for. Change the evidence, not the volume.

Then, whichever no it was

Narrow the ask to the smallest version that still resolves the risk. Not the rewrite. The one module the incidents keep coming out of.
Agree the reopening trigger before you leave the room. "If that service fails during a release again, we revisit this next planning cycle." Then you are not re-arguing from scratch.
Write down the decision and who made it. One line in the notes to the people who were there. Not a threat, just the organization remembering what it chose.
Tell your team the real answer. A softened version protects nobody. They find out, and then they discount everything else you say.
Do not go underground. Secret work protects the code and destroys your credibility, and it robs the organization of the one thing that would change its mind: learning what its own decision cost.

When the risk happens anyway

You were right, and being right is the least useful thing to carry into the room. Open with the incident, the fix, and what is still exposed. Then connect it back without the accusation: "This is the risk in last quarter's note, and here is the same ask, scoped down." The record argues for you.

Downloads for Managers

KPI Dashboard Template

5-sheet Excel workbook with DORA metrics, debt tracking, team health surveys, AI code metrics, and executive summary.

Download XLSX

Assessment Checklist

6-page checklist covering code quality, architecture, dependencies, testing, documentation, infrastructure, and process.

Download PDF

Onboarding Guide

6-page guide for new hires: current debt landscape, first 30 days, processes, tools, and a quick-reference decision tree.

Download PDF

Executive Deck

8-slide presentation template: the problem, the risk, the opportunity, phased plan, resource allocation, success metrics, and next steps.

Download PDF

Management Guide

Complete PDF guide covering business case building, pitch templates, objection handling, and tactical tips for getting buy-in.

Download PDF

Talking to YOUR Manager

As an engineering manager, you need to communicate up as effectively as you communicate down. When presenting tech debt to directors, VPs, and C-suite executives, follow these principles:

Lead with business impact. Open with cost, velocity decline, or incident frequency -- not with technical jargon. "Feature delivery slowed 40% this quarter" lands harder than "our cyclomatic complexity is too high."
Use the Executive Deck template. Download it from the section above and customize it with your real numbers. A polished, structured presentation signals that you take this seriously -- and that they should too.
Show trends, not snapshots. A single data point is a complaint. A trendline over 4-6 quarters is a business case. Show where you were, where you are, and where the trajectory leads without intervention.
Come with a plan, not just a problem. Executives hear problems all day. Stand out by presenting the problem, the proposed solution, the cost, and the expected ROI in one clear package.

Frequently Asked Questions

Focus on outcome metrics, not activity metrics. Track deployment frequency, change fail rate, and debt resolution velocity at the team level -- not individual commit counts or lines of code. Use automated tooling like SonarQube or CodeClimate to surface trends without requiring developers to self-report. Run anonymous quarterly satisfaction surveys. The goal is visibility into system health, not surveillance of individual contributors. When developers see that metrics are used to improve their working conditions rather than judge them, they become allies in measurement.

The widely used starting point is 15-20% of sprint capacity allocated to debt reduction and maintenance. There is no published tier table that tells you the right number for your team, so treat that figure as a starting allocation and adjust it against your own baseline: raise it while you are paying down severe debt, lower it once the friction is gone. Start by measuring your current implicit debt spend -- the time lost to workarounds, slow builds, and incident response. Many teams discover they are already spending far more on debt-related work than they realize, just invisibly. Making the allocation explicit gives you control over where that time goes instead of letting it be consumed by firefighting. See Measuring Tech Debt for how to establish that baseline.

Treat debt reduction as a first-class work item, not an afterthought. Include debt stories in sprint planning alongside feature stories. Use the Boy Scout Rule for opportunistic fixes during feature work. For larger efforts, negotiate with product: "If we spend 2 sprints on the checkout module, the next 5 features in that area will ship 3x faster." Frame it as an investment with measurable returns, not a tax on delivery. Track velocity before and after debt sprints to prove the investment pays off -- this data becomes your ammunition for future allocations.

Generally no. Dedicated debt teams create two problems: (1) The rest of the organization stops feeling responsible for code quality because "that is the debt team's job," and (2) the debt team lacks context on how code is actually used in production. Instead, embed debt reduction into every team's workflow. Each team owns the debt in their domain. For cross-cutting concerns like dependency upgrades or infrastructure modernization, form temporary working groups with members from affected teams. This spreads knowledge and keeps everyone invested in quality.

Resistance usually comes from one of three places: past trauma where quality initiatives were punitive, legitimate time pressure where they genuinely cannot afford the overhead, or lack of understanding about why it matters. For trauma, start small and show that this time is different -- quick wins that visibly improve their daily experience. For time pressure, reduce scope rather than cutting quality. For understanding gaps, show the data: "Your team spends 40% of time on incidents. Teams with lower debt spend 15%. That difference is 10 hours per week per engineer." Make the case personal and practical.

Show 5 metrics maximum -- executives tune out after that. Lead with (1) deployment frequency trend showing improvement, (2) change fail rate to demonstrate quality gains, and (3) feature velocity to prove debt reduction accelerates delivery. Add (4) developer satisfaction scores to show team health, and (5) cost savings or revenue impact for the financial story. Always show quarter-over-quarter trends with your baseline highlighted. Include one specific example: "We reduced checkout bugs by 80%, saving $6K per month in support costs." Concrete stories make abstract metrics memorable.

Ready to Lead the Change?

You have the metrics framework, the action plan, and the communication playbook. Now put them to work across your teams.