Tech Debt Prioritizer
Systematically prioritize and pay down technical debt.
Scoring Rubric Impact Score (1-10)
10 - Critical:
Prevents new features Causes frequent prod incidents Blocks multiple teams
7-9 - High:
Significantly slows development Causes occasional incidents Affects one team heavily
4-6 - Medium:
Moderate development friction Rare incidents Workarounds exist
1-3 - Low:
Minor annoyance No incidents Easy workarounds Risk Score (1-10)
10 - Critical:
Security vulnerability Data integrity issues Legal/compliance risk
7-9 - High:
Potential data loss System instability Vendor end-of-life soon
4-6 - Medium:
Performance degradation Occasional failures Deprecated but working
1-3 - Low:
Code quality issues Minor bugs Style inconsistencies Effort Score (1-10)
10 - Herculean:
3+ months Multiple teams High risk changes
7-9 - Large:
1-3 months One team Medium risk
4-6 - Medium:
1-4 weeks 1-2 developers Low risk
1-3 - Small:
Days Single developer Very low risk Priority Formula Priority Score = (Impact * 2 + Risk * 1.5) / Effort
Higher score = Higher priority
Tech Debt Inventory | ID | Title | Impact | Risk | Effort | Score | Owner |
| ------ | ---------------------- | ------ | ---- | ------ | ----- | --------- |
| TD-001 | Legacy auth system | 9 | 10 | 8 | 3.7 | Auth Team |
| TD-002 | No database indexes | 8 | 7 | 3 | 7.8 | Backend |
| TD-003 | Monolithic build | 7 | 4 | 6 | 4.0 | DevOps |
| TD-004 | Duplicate API logic | 6 | 3 | 4 | 4.1 | Backend |
| TD-005 | Outdated dependencies | 5 | 8 | 2 | 9.0 | All Teams |
| TD-006 | Missing error handling | 4 | 6 | 3 | 5.7 | Backend |
| TD-007 | Poor test coverage | 4 | 5 | 7 | 2.3 | All Teams |
| TD-008 | Inconsistent naming | 3 | 2 | 5 | 1.6 | Frontend |
Sorted by Priority Score:
- TD-005: Outdated dependencies (9.0)
- TD-002: No database indexes (7.8)
- TD-006: Missing error handling (5.7)
- TD-004: Duplicate API logic (4.1)
- TD-003: Monolithic build (4.0) ...
Detailed Assessment Template
TD-002: No Database Indexes
Description
Critical queries lack indexes, causing slow response times and high CPU usage.
Impact (8/10)
- Search queries take 2-5 seconds (should be <500ms)
- Database CPU at 85% during peak hours
- User complaints about slow searches
- Blocks performance optimization work
Risk (7/10)
- Database may crash under load
- Losing customers to slow experience
- Cannot scale without addressing
Effort (3/10)
- Identify missing indexes: 2 days
- Add indexes: 1 day
- Test performance: 1 day
- Deploy: 1 day Total: 5 days
ROI Analysis
Cost: 5 developer-days = $5,000 Benefit:
- 80% faster queries
- 50% less DB CPU
- Better user experience
- Enables scaling
ROI: Very High
Implementation Plan
- Run EXPLAIN on slow queries
- Identify missing indexes
- Add indexes in development
- Test query performance
- Deploy to production (off-peak)
- Monitor impact
Dependencies
- None (can start immediately)
Owner
Backend Team
Status
Backlog → Prioritized for Q1
Quarterly Paydown Plan
Q1 2024 Tech Debt Paydown
Budget: 20% of engineering time (4 weeks total)
Week 1-2: High Priority
- TD-005: Update dependencies (2 days)
- TD-002: Add database indexes (5 days)
- TD-006: Add error handling (3 days)
Week 3: Medium Priority
- TD-004: Eliminate duplicate logic (5 days)
Week 4: Quick Wins
- TD-012: Fix broken tests (2 days)
- TD-015: Remove dead code (2 days)
- TD-018: Update README (1 day)
Success Metrics
- Reduce P1 incidents by 30%
- Improve deployment confidence
- Decrease development friction
- Team morale improvement
Decision Framework When to Pay Down Debt
Pay down NOW if:
Security vulnerability Causing frequent incidents Blocking critical features High impact, low effort
Pay down SOON if:
Slowing development significantly Medium-high risk Reasonable effort
Defer if:
Low impact and low risk Very high effort Better alternatives exist When to Increase Budget Indicators debt budget needs increase:
- Velocity declining
- Incident rate increasing
- Developer satisfaction down
- Onboarding time increasing
- "It's too hard to..." complaints
Tech Debt Registry interface TechDebt { id: string; title: string; description: string;
// Scoring impact: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; risk: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; effort: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
// Metadata owner: string; createdAt: Date; targetQuarter?: string; status: "backlog" | "prioritized" | "in-progress" | "done";
// Context affectedSystems: string[]; relatedDebt: string[];
// Plan implementationPlan?: string; roi?: "low" | "medium" | "high" | "very-high"; }
Quarterly Review Process 1. Collect new debt (Week 1)
- Team submits tech debt items
-
Engineering leads review and score
-
Prioritize (Week 2)
-
Calculate priority scores
- Review high-priority items
-
Assign owners
-
Plan quarter (Week 3)
-
Allocate 10-20% capacity
- Schedule work
-
Set success metrics
-
Review results (End of quarter)
- Measure impact
- Adjust process
- Celebrate wins
Best Practices Track systematically: Don't rely on memory Score objectively: Use rubric consistently Regular reviews: Quarterly minimum Budget time: 10-20% of sprint capacity Quick wins: Include easy items for morale Measure impact: Track improvements Make visible: Dashboard, reports No judgment: Tech debt is normal Output Checklist Tech debt items catalogued Impact/risk/effort scores assigned Priority scores calculated Items ranked by priority Top 10 items detailed Quarterly plan created Budget allocated (% of time) Owners assigned Success metrics defined Review cadence established