Skip to main content
Learning & Improvement|Technical Debt Review
Learning & Improvement

Technical Debt Review

Review long-term maintainability issues.

Technical Debt Review

Purpose: Surface, prioritize, and budget paydown for technical debt that's slowing the team

How to run this meeting

Technical debt reviews fail when they become a complaints session with no business connection. The antidote is quantification: estimate every debt item in developer-hours of impact (time lost to workarounds per sprint) and in incident risk (has this area caused an outage in the last 12 months?). When you can say "this legacy auth service costs us 6 engineer-hours per sprint in workarounds and has caused 2 incidents this year," it becomes a real prioritization conversation instead of a vague wish list.

Use a severity matrix to force prioritization. A simple 2x2 of "impact on velocity" vs. "cost to fix" is enough to generate a defensible priority order. High impact, low cost to fix items should be immediate targets. High impact, high cost items belong in a roadmap conversation. Low impact items should be logged and revisited quarterly, not acted on now. This prevents the common failure mode of spending weeks on technically interesting but low-leverage refactors.

Connect debt to business outcomes in the language your stakeholders understand. "We can't ship the enterprise SSO feature without refactoring the auth layer first" is a conversation that gets prioritization. "The auth code is messy" is not. Budget a recurring allocation — most teams that successfully pay down debt reserve 10–20% of sprint capacity for it, run it as a dedicated quarterly "debt sprint," or attach debt paydown to features that touch the affected area. Whichever model you choose, make it an explicit commitment, not a "we'll get to it when things slow down" aspiration.

Before the meeting

  • Ask engineers to submit debt items 48 hours in advance using a standard template (description, estimated impact in hours/sprint, risk level)
  • Pull incident and bug data to identify hotspots — code areas with repeated incidents are debt candidates by definition
  • Review previous debt review action items and their status
  • Prepare a scoring rubric (velocity impact, incident risk, cost to fix, business dependency) so the meeting can prioritize consistently
  • Invite the engineering lead and one product stakeholder — debt decisions benefit from both perspectives

Meeting Details

  • Date:
  • Facilitator:
  • Attendees:
  • Duration: 60–90 minutes
  • Review period:

Debt Inventory

All known debt items under discussion. Capture a plain-language description of what the debt is and where it lives in the codebase.

IDAreaDescriptionSubmitted by
TD-14Auth serviceSession management uses a hand-rolled token system predating JWT adoption@priya
TD-15Data pipelineETL jobs run sequentially; no retry logic on failure@carlos
TD-16FrontendReact components in /legacy use class components and deprecated lifecycle methods@mia
TD-17InfrastructureDatabase backups are manual and not tested for restore reliability@jordan

Impact Assessment

For each item: how much is this costing the team today? Estimate in developer-hours lost per sprint and note any incidents caused by this area.

IDVelocity cost (hrs/sprint)Incidents (last 12 mo)Notes
TD-144 hrs (workarounds for every new auth feature)2Blocked enterprise SSO work for 3 weeks
TD-156 hrs (manual reruns + investigation)1Data delays cost customer SLA credits in Q3
TD-162 hrs (isolated to frontend work)0Slows onboarding for new frontend engineers
TD-170 hrs (no current velocity impact)0Latent catastrophic risk if backups fail

Cost to Fix

Rough estimate of engineer-hours or sprint capacity required to address each item. Note any dependencies or risks in the fix itself.

IDEstimated effortDependenciesNotes
TD-14~3 sprints (2 engineers)Requires coordination with mobile teamCould be phased: new sessions first, migration second
TD-15~1 sprint (1 engineer)NoneGood candidate for a standalone debt sprint
TD-16~2 sprints (1 engineer)NoneCould be done incrementally alongside feature work
TD-17~3 days (1 engineer)DevOps accessShould be treated as a security/reliability priority

Priority Matrix

Combine impact and cost to generate a priority order. Use this to make explicit tradeoffs rather than gut-feel ordering.

PriorityIDRationale
P1 — Act nowTD-17Zero velocity cost but unacceptable risk; low effort to fix
P1 — Act nowTD-15Highest velocity cost, caused customer SLA breach, manageable effort
P2 — Plan for next quarterTD-14High impact but large effort; needs roadmap slot, blocks SSO feature
P3 — Revisit in 6 monthsTD-16Low impact, isolated area; address incrementally with feature work

Owners and Paydown Plan

Who is responsible for each prioritized item, and when will it be addressed? Define the budget allocation.

IDOwnerApproachTarget completion
TD-17@jordanDedicated work this sprint (3 days)End of Sprint 26
TD-15@carlosDedicated debt sprint in Q1End of Sprint 28
TD-14@priyaPhase 1 scoped into SSO feature epicQ2 roadmap
TD-16@miaIncremental, alongside any component that touches legacy areaOngoing

Action Items

OwnerActionDue DateStatus
@jordanImplement and test automated database backup restore process2025-02-14Open
@carlosScope TD-15 into Sprint 28 as a dedicated debt sprint2025-02-07Open
@priyaAdd TD-14 Phase 1 to the SSO feature epic in Linear2025-02-07Open
@eng-leadFormalize 15% sprint capacity allocation for debt paydown2025-02-21Open

Follow-up

The debt inventory is maintained in the engineering wiki and updated after each review. P1 items are added to the active sprint or the next sprint immediately after this meeting. The debt review is held quarterly (or after any major incident that reveals a systemic gap). Progress on P2/P3 items is checked at the next quarterly review. Share a summary with the product team so debt costs are visible in roadmap conversations.

Skip the template

Let Stoa capture it automatically.

In Stoa, the AI agent listens to your technical debt review and captures decisions, drafts artifacts, and tracks open questions in real time — no note-taking required.

Create your first Space — free