Track Technical Debt | Labels, Priorities, Sprints
Stop losing track of technical debt. GitScrum labels, prioritization matrix, and 20% sprint allocation prevent codebase degradation and velocity decline.
8 min read
Technical debt accumulates silently until it cripples development velocity. GitScrum provides structured tracking with labels, prioritization, and sprint allocation to manage debt systematically before it becomes an emergency.
The Technical Debt Problem
Untracked debt creates compounding issues:
- Invisible accumulation β No visibility into debt growth
- Deferred indefinitely β Always deprioritized for features
- Sudden crises β Small issues become major outages
- Velocity decline β Everything takes longer over time
- Developer frustration β Working in degraded codebases
- Estimation errors β Debt makes new work unpredictable
GitScrum Debt Tracking Solution
Systematic debt management in GitScrum:
Key Features
| Feature | Debt Management Use |
|---|---|
| Labels | Categorize debt types |
| Priority levels | Rank by impact/urgency |
| Sprint allocation | Dedicated debt capacity |
| Task linking | Connect debt to features |
| NoteVault | Document debt decisions |
Setting Up Debt Tracking
Create Debt Labels
Labels for Technical Debt:
βββ tech-debt (parent category)
βββ debt-architecture (structural issues)
βββ debt-performance (speed/efficiency)
βββ debt-security (security concerns)
βββ debt-testing (test coverage gaps)
βββ debt-documentation (missing docs)
βββ debt-dependencies (outdated packages)
Priority Levels
Priority Matrix for Debt:
βββ Critical β Blocking features or causing incidents
βββ High β Significantly slowing development
βββ Medium β Noticeable friction, manageable
βββ Low β Cleanup, nice to have
Create Debt Template
Task Template: Technical Debt Item
Title: [DEBT] Brief description
Description:
- What: Current problematic state
- Why: How this became debt
- Impact: Effect on development/product
- Solution: Proposed fix approach
- Effort: Estimated time to resolve
- Risk: Consequences if not addressed
Labels: tech-debt, [debt-type]
Priority: [Critical/High/Medium/Low]
Capturing Technical Debt
When to Log Debt
Log debt when:
βββ Implementing workarounds to ship features
βββ Skipping tests to meet deadlines
βββ Copy-pasting instead of refactoring
βββ Ignoring deprecation warnings
βββ Hardcoding values that should be config
βββ Leaving TODO comments in code
βββ Discovering undocumented tribal knowledge
Debt Task Example
[DEBT] Payment module uses deprecated Stripe API
What: Payment processing uses Stripe API v1, deprecated
since 2023. Current code still works but receives no
security updates.
Why: Original implementation in 2021, no capacity for
migration during feature pushes.
Impact:
- Security risk from unmaintained API
- Missing new payment features
- Will break when v1 sunset (Jan 2025)
Solution: Migrate to Stripe API v3
- Update SDK dependency
- Refactor payment service
- Update webhook handlers
- Test all payment flows
Effort: 3-5 days for senior developer
Risk: High - service will fail after sunset date
Labels: tech-debt, debt-security, debt-dependencies
Priority: Critical
Deadline: Before Jan 2025
Debt Prioritization
Impact/Effort Matrix
Low Effort High Effort
βββββββββββββββ¬ββββββββββββββ
High Impact β DO FIRST β PLAN FOR β
β Quick wins β Major work β
βββββββββββββββΌββββββββββββββ€
Low Impact β FILL GAPS β DEFER β
β Easy cleanupβ Not worth itβ
βββββββββββββββ΄ββββββββββββββ
Prioritization Criteria
| Factor | Questions |
|---|---|
| Severity | How broken is it? |
| Frequency | How often does it cause problems? |
| Spread | How much code is affected? |
| Risk | What's the worst case? |
| Effort | How long to fix? |
| Dependencies | Does other work depend on this? |
Sprint Allocation for Debt
The 20% Rule
Reserve capacity for debt work:Sprint Capacity: 100 points
βββ Features: 80 points (80%)
βββ Tech Debt: 20 points (20%)
Consistent allocation prevents:
- Debt accumulation
- Sprint-to-sprint variance
- "Debt sprints" that frustrate stakeholders
Debt Sprint Planning
Sprint Planning for Debt:
1. Review debt backlog
2. Check critical/high priority items
3. Match to available capacity (20%)
4. Select items that:
- Pair well with planned features
- Address current pain points
- Have clear completion criteria
5. Assign to developers with context
Linking Debt to Features
Connect Related Work
Feature Task #234: Add subscription billing
βββ Linked Debt Tasks:
β βββ #198: [DEBT] Migrate to Stripe API v3
β β βββ Reason: Required for subscription features
β βββ #210: [DEBT] Add payment retry logic
β β βββ Reason: Subscriptions need auto-retry
β βββ #215: [DEBT] Improve payment error handling
β βββ Reason: Better UX for recurring failures
Benefits of Linking
- Justify debt work to stakeholders
- Surface hidden prerequisites
- Accurate feature estimates
- Natural debt resolution during features
Debt Visibility
Board View for Debt
Kanban Board: Technical Debt
ββββββββββββββββ¬βββββββββββββββ¬βββββββββββββββ¬βββββββββββββββ
β Backlog (23) β Planned (5) β In Progress β Resolved (8) β
ββββββββββββββββΌβββββββββββββββΌβββββββββββββββΌβββββββββββββββ€
β [DEBT] Auth β [DEBT] API β [DEBT] Stripeβ [DEBT] Tests β
β [DEBT] Cache β [DEBT] Logs β migration β [DEBT] Docs β
β [DEBT] Tests β [DEBT] DB β β ... β
β ... β ... β β β
ββββββββββββββββ΄βββββββββββββββ΄βββββββββββββββ΄βββββββββββββββ
Dashboard Metrics
Track debt health over time:Technical Debt Dashboard
ββββββββββββββββββββββββ
Total Debt Items: 45
βββ Critical: 3 π΄
βββ High: 12 π‘
βββ Medium: 18 π’
βββ Low: 12 βͺ
This Sprint:
βββ Planned: 5 items (23 points)
βββ Resolved: 3 items (15 points)
Trend: β 4% from last month
Oldest Item: 8 months (DB migration)
Documentation in NoteVault
Technical Debt Registry
NoteVault: Technical Debt Registry
## Overview
This document tracks major technical debt items and
their business context.
## Active Debt
### Payment System
- **Issue**: Stripe API v1 deprecated
- **Owner**: @backend-team
- **Status**: Planned for Q1
- **Business Impact**: Security risk, missing features
- **Resolution Plan**: #198
### Authentication
- **Issue**: No refresh token rotation
- **Owner**: @security-team
- **Status**: In progress
- **Business Impact**: Security compliance gap
- **Resolution Plan**: #245
## Resolved Debt
| Item | Resolved | Time Spent | Notes |
|------|----------|------------|-------|
| Legacy ORM | Nov 2024 | 2 weeks | Full migration |
| Test coverage | Oct 2024 | 3 sprints | 40% β 80% |
Debt Reviews
Regular Debt Meetings
Monthly Technical Debt Review
Agenda:
1. Review debt metrics (15 min)
- New debt logged
- Debt resolved
- Trend direction
2. Triage new items (20 min)
- Assign priority
- Estimate effort
- Identify quick wins
3. Plan upcoming sprint (15 min)
- Select debt for next sprint
- Assign owners
- Link to features
4. Discuss blockers (10 min)
- Stuck items
- Resource needs
- Stakeholder alignment
Retrospective Integration
Address debt in retros:Sprint Retrospective
What slowed us down?
βββ "Payment retry failures wasted 2 days debugging"
β βββ Action: Prioritize #210 (retry logic debt)
βββ "Flaky tests caused false alarms"
β βββ Action: Add #260 (test stability debt)
Preventing New Debt
Definition of Done
Definition of Done (includes debt prevention):
β Feature complete per requirements
β Unit tests written (>80% coverage)
β Integration tests pass
β Documentation updated
β No new TODO comments without ticket
β Dependencies updated if touched
β Code review approved
β No security warnings
β Performance acceptable
Code Review Checklist
Debt-Aware Code Review:
β‘ Does this introduce new debt?
- If yes, is ticket created?
β‘ Does this resolve any existing debt?
- If yes, link and close debt ticket
β‘ Are there workarounds?
- Document why, create cleanup ticket
β‘ Are dependencies current?
- Check for deprecations
β‘ Is test coverage maintained?
- No coverage regression
Communicating Debt to Stakeholders
Business Language Translation
Technical β Business Impact
"API is deprecated"
β "Security risk: no patches after January"
"Test coverage is low"
β "Release risk: bugs more likely in production"
"Architecture is monolithic"
β "Delivery speed: features take 3x longer"
"Dependencies are outdated"
β "Compliance risk: known vulnerabilities"
Debt Burn-down Report
Q4 Technical Debt Report
Started Q4: 52 debt items (312 points)
Resolved: 18 items (98 points)
Added: 7 items (43 points)
End Q4: 41 items (257 points)
Net Reduction: 11 items (55 points) β17%
Highlights:
β Completed Stripe migration (critical)
β Test coverage improved 15%
β Database migration still pending