Tech Debt — Classification, Prioritization, and Communication
| Field | Value |
|---|---|
| Type | Skill Resource |
| Source | ~/.copilot/skills/architecture/references/tech-debt.md |
| Description | Not specified |
Source Content
Tech Debt — Classification, Prioritization, and Communication
Reference material for locating, classifying, scoring, and communicating technical debt across the six categories (code, architecture, test, documentation, dependency, infrastructure). Validate a debt scan or dashboard against the sample fixtures in assets/ and expected_outputs/.
Tooling quick reference
Three scripts form the workflow, in order:
scripts/debt_scanner.py <path>— AST-based scan (Python) plus regex patterns (other languages) detecting 15+ debt signals.--config config.json --output report.json --format both.scripts/debt_prioritizer.py <inventory.json>— turns a debt inventory into a prioritized backlog using Cost of Delay, WSJF, or RICE.--framework wsjf --team-size 8 --sprint-capacity 80.scripts/debt_dashboard.py <scan1.json> <scan2.json> ...(or--input-dir ./scans/) — trend analysis, health-score scoring, and an executive summary across multiple scans.
Sample data for a dry run lives in assets/sample_codebase/, assets/sample_debt_inventory.json, and assets/historical_debt_*.json; expected shapes are in expected_outputs/.
Health score bands
| Score | Meaning |
|---|---|
| 85-100 | Excellent — minimal debt, sustainable practices |
| 70-84 | Good — manageable debt, some attention needed |
| 55-69 | Fair — debt accumulating, requires focused effort |
| 40-54 | Poor — high debt level, impacts productivity |
| 0-39 | Critical — immediate action required |
Part 1 — Debt Classification Taxonomy
Overview
This document provides a comprehensive taxonomy for classifying technical debt across different dimensions. Consistent classification is essential for tracking, prioritizing, and managing technical debt effectively across teams and projects.
Primary Categories
1. Code Debt
Definition: Issues at the code level that make software harder to understand, modify, or maintain.
Subcategories:
-
Structural Issues
large_function: Functions exceeding recommended size limitshigh_complexity: High cyclomatic complexity (>10)deep_nesting: Excessive indentation levels (>4)long_parameter_list: Too many function parameters (>5)data_clumps: Related data that should be grouped together
-
Naming and Documentation
poor_naming: Unclear or misleading variable/function namesmissing_docstring: Functions/classes without documentationmagic_numbers: Hardcoded numeric values without explanationcommented_code: Dead code left in comments
-
Duplication and Patterns
duplicate_code: Identical or similar code blockscopy_paste_programming: Evidence of code duplicationinconsistent_patterns: Mixed coding styles within codebase
-
Error Handling
empty_catch_blocks: Exception handling without proper actiongeneric_exceptions: Catching overly broad exception typesmissing_error_handling: No error handling for failure scenarios
Severity Indicators:
- Critical: Security vulnerabilities, syntax errors
- High: Functions >100 lines, complexity >20
- Medium: Functions 50-100 lines, complexity 10-20
- Low: Minor style issues, short functions with minor problems
2. Architecture Debt
Definition: High-level design decisions that limit system flexibility, scalability, or maintainability.
Subcategories:
-
Structural Issues
monolithic_design: Components that should be separatedcircular_dependencies: Modules depending on each other cyclicallygod_object: Classes/modules with too many responsibilitiesinappropriate_intimacy: Excessive coupling between modules
-
Layer Violations
abstraction_inversion: Lower-level modules depending on higher-level onesleaky_abstractions: Implementation details exposed through interfacesbroken_hierarchy: Inheritance relationships that don’t make sense
-
Scalability Issues
performance_bottlenecks: Known architectural performance limitationsresource_contention: Shared resources creating bottleneckssingle_point_failure: Critical components without redundancy
Impact Assessment:
- High Impact: Affects system scalability, blocks major features
- Medium Impact: Makes changes more difficult, affects team productivity
- Low Impact: Minor architectural inconsistencies
3. Test Debt
Definition: Inadequate testing infrastructure, coverage, or quality that increases risk and slows development.
Subcategories:
-
Coverage Issues
low_coverage: Test coverage below team standards (<80%)missing_unit_tests: No tests for critical business logicmissing_integration_tests: No tests for component interactionsmissing_end_to_end_tests: No full system workflow validation
-
Test Quality
flaky_tests: Tests that pass/fail inconsistentlyslow_tests: Test suite taking too long to executebrittle_tests: Tests that break with minor code changesunclear_test_intent: Tests without clear purpose or documentation
-
Infrastructure
manual_testing_only: No automated testing processesmissing_test_data: No proper test data managementenvironment_dependencies: Tests requiring specific environments
Priority Matrix:
- Critical Path Coverage: High priority for business-critical features
- Regression Risk: High priority for frequently changed code
- Development Velocity: Medium priority for developer productivity
- Documentation Value: Low priority for test clarity improvements
4. Documentation Debt
Definition: Missing, outdated, or poor-quality documentation that hinders understanding and maintenance.
Subcategories:
-
API Documentation
missing_api_docs: No documentation for public APIsoutdated_api_docs: Documentation doesn’t match implementationincomplete_examples: No usage examples for complex APIs
-
Code Documentation
missing_comments: Complex algorithms without explanationoutdated_comments: Comments contradicting current implementationredundant_comments: Comments that just restate the code
-
System Documentation
missing_architecture_docs: No high-level system design documentationmissing_deployment_docs: No deployment or operations guidemissing_onboarding_docs: No guide for new team members
Freshness Assessment:
- Stale: Documentation >6 months out of date
- Outdated: Documentation 3-6 months out of date
- Current: Documentation <3 months out of date
5. Dependency Debt
Definition: Issues with external libraries, frameworks, and system dependencies.
Subcategories:
-
Version Management
outdated_dependencies: Libraries with available updatesvulnerable_dependencies: Dependencies with known security issuesdeprecated_dependencies: Dependencies no longer maintainedversion_conflicts: Incompatible dependency versions
-
License and Compliance
license_violations: Dependencies with incompatible licenseslicense_unknown: Dependencies without clear licensingcompliance_risk: Dependencies creating legal/regulatory risks
-
Usage Optimization
unused_dependencies: Dependencies included but not usedoversized_dependencies: Heavy libraries for simple functionalityredundant_dependencies: Multiple libraries solving same problem
Risk Assessment:
- Security Risk: Known vulnerabilities, unmaintained dependencies
- Legal Risk: License conflicts, compliance issues
- Technical Risk: Breaking changes, deprecation notices
- Maintenance Risk: Outdated versions, unsupported libraries
6. Infrastructure Debt
Definition: Operations, deployment, and infrastructure-related technical debt.
Subcategories:
-
Deployment and CI/CD
manual_deployment: No automated deployment processesmissing_pipeline: No CI/CD pipeline automationbrittle_deployments: Deployment process prone to failureenvironment_drift: Inconsistencies between environments
-
Monitoring and Observability
missing_monitoring: No application/system monitoringinadequate_logging: Insufficient logging for troubleshootingmissing_alerting: No alerts for critical system conditionspoor_observability: Can’t understand system behavior in production
-
Configuration Management
hardcoded_config: Configuration embedded in codemanual_configuration: No automated configuration managementsecrets_in_code: Sensitive information stored in codeinconsistent_environments: Dev/staging/prod differences
Operational Impact:
- Availability: Affects system uptime and reliability
- Debuggability: Affects ability to troubleshoot issues
- Scalability: Affects ability to handle load increases
- Security: Affects system security posture
Severity Classification
Critical (Score: 9-10)
- Security vulnerabilities
- Production-breaking issues
- Legal/compliance violations
- Blocking issues for team productivity
High (Score: 7-8)
- Significant technical risk
- Major productivity impact
- Customer-visible quality issues
- Architecture limitations
Medium (Score: 4-6)
- Moderate productivity impact
- Code quality concerns
- Maintenance difficulties
- Minor security concerns
Low (Score: 1-3)
- Style and convention issues
- Documentation gaps
- Minor optimizations
- Cosmetic improvements
Impact Dimensions
Business Impact
- Customer Experience: User-facing quality and performance
- Revenue: Direct impact on business metrics
- Compliance: Regulatory and legal requirements
- Market Position: Competitive advantage considerations
Technical Impact
- Development Velocity: Speed of feature development
- Code Quality: Maintainability and reliability
- System Reliability: Uptime and performance
- Security Posture: Vulnerability and risk exposure
Team Impact
- Developer Productivity: Individual efficiency
- Team Morale: Job satisfaction and engagement
- Knowledge Sharing: Team collaboration and learning
- Onboarding Speed: New team member integration
Effort Estimation Guidelines
T-Shirt Sizing
- XS (1-4 hours): Simple fixes, documentation updates
- S (1-2 days): Minor refactoring, simple feature additions
- M (3-5 days): Moderate refactoring, component changes
- L (1-2 weeks): Major refactoring, architectural changes
- XL (3+ weeks): System-wide changes, major migrations
Complexity Factors
- Technical Complexity: How difficult is the change technically?
- Business Risk: What’s the risk if something goes wrong?
- Testing Requirements: How much testing is needed?
- Team Knowledge: Does the team understand this area well?
- Dependencies: How many other systems/teams are involved?
Usage Guidelines
When Classifying Debt
- Start with primary category (code, architecture, test, etc.)
- Identify specific subcategory for precise tracking
- Assess severity based on business and technical impact
- Estimate effort using t-shirt sizing
- Tag with relevant impact dimensions
Consistency Rules
- Use consistent terminology across teams
- Document custom categories for domain-specific debt
- Regular reviews to ensure classification accuracy
- Training for team members on taxonomy usage
Review and Updates
- Quarterly review of taxonomy relevance
- Add new categories as patterns emerge
- Remove unused categories to keep taxonomy lean
- Update severity and impact criteria based on experience
This taxonomy should be adapted to your organization’s specific context, technology stack, and business priorities. The key is consistency in application across teams and over time.
Part 2 — Prioritization Framework
Introduction
Technical debt prioritization is a critical capability that separates high-performing engineering teams from those struggling with maintenance burden. This framework provides multiple approaches to systematically prioritize technical debt based on business value, risk, effort, and strategic alignment.
Core Principles
1. Business Value Alignment
Technical debt work must connect to business outcomes. Every debt item should have a clear story about how fixing it supports business goals.
2. Evidence-Based Decisions
Use data, not opinions, to drive prioritization. Measure impact, track trends, and validate assumptions with evidence.
3. Cost-Benefit Optimization
Balance the cost of fixing debt against the cost of leaving it unfixed. Sometimes living with debt is the right business decision.
4. Risk Management
Consider both the probability and impact of negative outcomes. High-probability, high-impact issues get priority.
5. Sustainable Pace
Debt work should be sustainable over time. Avoid boom-bust cycles of neglect followed by emergency remediation.
Prioritization Frameworks
Framework 1: Cost of Delay (CoD)
Best For: Teams with clear business metrics and well-understood customer impact.
Formula: Priority Score = (Business Value + Urgency + Risk Reduction) / Effort
Components:
Business Value (1-10 scale)
- Customer impact: How many users affected?
- Revenue impact: Direct effect on business metrics
- Strategic value: Alignment with business goals
- Competitive advantage: Market positioning benefits
Urgency (1-10 scale)
- Time sensitivity: How quickly does value decay?
- Dependency criticality: Does this block other work?
- Market timing: External deadlines or windows
- Regulatory pressure: Compliance requirements
Risk Reduction (1-10 scale)
- Security risk mitigation: Vulnerability reduction
- Reliability improvement: Stability gains
- Compliance risk: Regulatory issue prevention
- Technical risk: Architectural problem prevention
Effort Estimation
- Development time in story points or days
- Risk multiplier for uncertainty (1.0-2.0x)
- Skill requirements and availability
- Cross-team coordination needs
Example Calculation:
Authentication module refactor:- Business Value: 8 (affects all users, blocks SSO)- Urgency: 7 (blocks Q2 enterprise features)- Risk Reduction: 9 (high security risk)- Total Numerator: 24- Effort: 3 weeks = 15 story points- CoD Score: 24/15 = 1.6Framework 2: Weighted Shortest Job First (WSJF)
Best For: SAFe/Agile environments with portfolio-level planning.
Formula: WSJF = (Business Value + Time Criticality + Risk Reduction) / Job Size
Scoring Guidelines:
Business Value (1-20 scale)
- User/business value from fixing this debt
- Direct revenue or cost impact
- Strategic importance to business objectives
Time Criticality (1-20 scale)
- How user/business value declines over time
- Dependency on other work items
- Fixed deadlines or time-sensitive opportunities
Risk Reduction/Opportunity Enablement (1-20 scale)
- Risk mitigation value
- Future opportunities this enables
- Options this preserves or creates
Job Size (1-20 scale)
- Relative sizing compared to other debt items
- Include uncertainty and risk factors
- Consider dependencies and coordination overhead
WSJF Bands:
- Highest (WSJF > 10): Do immediately
- High (WSJF 5-10): Next quarter priority
- Medium (WSJF 2-5): Planned work
- Low (WSJF < 2): Backlog
Framework 3: RICE (Reach, Impact, Confidence, Effort)
Best For: Product-focused teams with user-centric metrics.
Formula: RICE Score = (Reach × Impact × Confidence) / Effort
Components:
Reach (number or percentage)
- How many developers/users affected per period?
- Percentage of codebase impacted
- Number of features that would benefit
Impact (1-3 scale)
- 3 = Massive impact
- 2 = High impact
- 1 = Medium impact
- 0.5 = Low impact
- 0.25 = Minimal impact
Confidence (percentage)
- How confident are you in your estimates?
- Based on evidence, not gut feeling
- 100% = High confidence with data
- 80% = Medium confidence with some data
- 50% = Low confidence, mostly assumptions
Effort (story points or person-months)
- Total effort from all team members
- Include design, development, testing, deployment
- Account for coordination and communication overhead
Example:
Legacy API cleanup:- Reach: 5 teams × 4 developers = 20 people per quarter- Impact: 2 (high - significantly improves developer experience)- Confidence: 80% (have done similar cleanups before)- Effort: 8 story points- RICE: (20 × 2 × 0.8) / 8 = 4.0Framework 4: Technical Debt Quadrants
Best For: Teams needing to understand debt context and strategy.
Based on Martin Fowler’s framework, categorize debt into quadrants:
Quadrant 1: Reckless & Deliberate
- “We don’t have time for design”
- Strategy: Immediate remediation
- Priority: Highest - created knowingly with poor justification
Quadrant 2: Prudent & Deliberate
- “We must ship now and deal with consequences”
- Strategy: Planned remediation
- Priority: High - was right decision at time, now needs attention
Quadrant 3: Reckless & Inadvertent
- “What’s layering?”
- Strategy: Education and process improvement
- Priority: Medium - focus on preventing more
Quadrant 4: Prudent & Inadvertent
- “Now we know how we should have done it”
- Strategy: Opportunistic improvement
- Priority: Low - normal part of learning
Framework 5: Risk-Impact Matrix
Best For: Risk-averse organizations or regulated environments.
Plot debt items on 2D matrix:
- X-axis: Likelihood of negative impact (1-5)
- Y-axis: Severity of negative impact (1-5)
Priority Quadrants:
- Critical (High likelihood, High impact): Immediate action
- Important (High likelihood, Low impact OR Low likelihood, High impact): Planned action
- Monitor (Medium likelihood, Medium impact): Watch and assess
- Accept (Low likelihood, Low impact): Document decision to accept
Impact Categories:
- Security: Data breaches, vulnerability exploitation
- Reliability: System outages, data corruption
- Performance: User experience degradation
- Compliance: Regulatory violations, audit findings
- Productivity: Team velocity reduction, developer frustration
Multi-Framework Approach
When to Use Multiple Frameworks
Portfolio-Level Planning:
- Use WSJF for quarterly planning
- Use CoD for sprint-level decisions
- Use Risk-Impact for security review
Team Maturity Progression:
- Start with simple Risk-Impact matrix
- Progress to RICE as metrics improve
- Advanced teams can use CoD effectively
Context-Dependent Selection:
- Regulated industries: Risk-Impact primary, WSJF secondary
- Product companies: RICE primary, CoD secondary
- Enterprise software: CoD primary, WSJF secondary
Combining Framework Results
Weighted Scoring:
Final Priority = 0.4 × CoD_Score + 0.3 × RICE_Score + 0.3 × Risk_ScoreTier-Based Approach:
- Security/compliance items (Risk-Impact)
- High business value items (RICE/CoD)
- Developer productivity items (WSJF)
- Technical excellence items (Quadrants)
Implementation Guidelines
Setting Up Prioritization
Step 1: Choose Primary Framework
- Consider team maturity, organization culture, available data
- Start simple, evolve complexity over time
- Ensure framework aligns with business planning cycles
Step 2: Define Scoring Criteria
- Create rubrics for each scoring dimension
- Use organization-specific examples
- Train team on consistent application
Step 3: Establish Review Cadence
- Weekly: New urgent items
- Bi-weekly: Sprint planning integration
- Monthly: Portfolio review and reprioritization
- Quarterly: Framework effectiveness review
Step 4: Tool Integration
- Use existing project management tools
- Automate scoring where possible
- Create dashboards for stakeholder communication
Common Pitfalls
Analysis Paralysis
- Problem: Spending too much time on perfect prioritization
- Solution: Use “good enough” decisions, iterate quickly
Ignoring Business Context
- Problem: Purely technical prioritization
- Solution: Always include business stakeholder perspective
Inconsistent Application
- Problem: Different teams using different approaches
- Solution: Standardize framework, provide training
Over-Engineering the Process
- Problem: Complex frameworks nobody uses
- Solution: Start simple, add complexity only when needed
Neglecting Stakeholder Buy-In
- Problem: Engineering-only prioritization decisions
- Solution: Include product, business stakeholders in framework design
Measuring Framework Effectiveness
Leading Indicators:
- Framework adoption rate across teams
- Time to prioritization decision
- Stakeholder satisfaction with decisions
- Consistency of scoring across team members
Lagging Indicators:
- Debt reduction velocity
- Business outcome improvements
- Technical incident reduction
- Developer satisfaction improvements
Review Questions:
- Are we making better debt decisions than before?
- Do stakeholders trust our prioritization process?
- Are we delivering measurable business value from debt work?
- Is the framework sustainable for long-term use?
Stakeholder Communication
For Engineering Leaders
Monthly Dashboard:
- Debt portfolio health score
- Priority distribution by framework
- Progress on high-priority items
- Framework effectiveness metrics
Quarterly Business Review:
- Debt work business impact
- Framework ROI analysis
- Resource allocation recommendations
- Strategic debt initiative proposals
For Product Managers
Sprint Planning Input:
- Debt items affecting feature velocity
- User experience impact from debt
- Feature delivery risk from debt
- Opportunity cost of debt work vs features
Roadmap Integration:
- Debt work timing with feature releases
- Dependencies between debt work and features
- Resource allocation for debt vs features
- Customer impact communication
for Executive Leadership
Executive Summary:
- Overall technical health trend
- Business risk from technical debt
- Investment recommendations
- Competitive implications
Key Metrics:
- Debt-adjusted development velocity
- Technical incident trends
- Customer satisfaction correlations
- Team retention and satisfaction
This prioritization framework should be adapted to your organization’s context, but the core principles of evidence-based, business-aligned, systematic prioritization should remain constant.
Part 3 — Stakeholder Communication Templates
Introduction
Effective communication about technical debt is crucial for securing resources, setting expectations, and maintaining stakeholder trust. This document provides templates and guidelines for communicating technical debt status, impact, and recommendations to different stakeholder groups.
Executive Summary Templates
Monthly Executive Report
Subject: Technical Health Report - [Month] [Year]
EXECUTIVE SUMMARY
Overall Status: [EXCELLENT/GOOD/FAIR/POOR] - Health Score: [X]/100
Key Message: [One sentence summary of current state and trend]
Immediate Actions Required: [Yes/No] - [Brief explanation if yes]
BUSINESS IMPACT
• Development Velocity: [X]% impact on feature delivery speed • Quality Risk: [LOW/MEDIUM/HIGH] - [Brief explanation] • Security Posture: [X] critical issues, [X] high-priority issues • Customer Impact: [Direct customer-facing implications]
FINANCIAL IMPLICATIONS
• Current Cost: [X]K for critical issues (next quarter) • ROI Projection: [X]% velocity improvement, [X]K if critical issues materialize
STRATEGIC RECOMMENDATIONS
- [Priority 1]: [Action] - [Business justification] - [Timeline]
- [Priority 2]: [Action] - [Business justification] - [Timeline]
- [Priority 3]: [Action] - [Business justification] - [Timeline]
TREND ANALYSIS
• Health Score: [Previous] → [Current] ([Improving/Declining/Stable]) • Debt Items: [Previous] → [Current] ([Net change]) • High-Priority Issues: [Previous] → [Current]
NEXT STEPS
• This Quarter: [Key initiatives and expected outcomes] • Resource Request: [Additional resources needed, if any] • Dependencies: [External dependencies or blockers]
Quarterly Board-Level Report
Subject: Technical Debt & Engineering Health - Q[X] [Year]
KEY METRICS
| Metric | Current | Target | Trend |
|---|---|---|---|
| Health Score | [X]/100 | [X]/100 | [↑/↓/→] |
| Velocity Impact | [X]% | <[X]% | [↑/↓/→] |
| Critical Issues | [X] | 0 | [↑/↓/→] |
| Security Risk | [LOW/MED/HIGH] | LOW | [↑/↓/→] |
STRATEGIC CONTEXT
Technical debt represents deferred investment in our technology platform. Our current debt portfolio has [positive/negative/neutral] implications for:
• Growth Capacity: [Impact on ability to scale]
• Competitive Position: [Impact on market responsiveness]
• Risk Profile: [Impact on operational risk]
• Team Retention: [Impact on engineering talent]
INVESTMENT ANALYSIS
• Current Annual Cost: [X]M over [timeframe] • Expected ROI: [X]% productivity improvement, [X]M in avoided incident costs
RECOMMENDATIONS
- [Immediate]: [Strategic action with business rationale]
- [This Year]: [Medium-term initiative with expected outcomes]
- [Ongoing]: [Process or cultural change needed]
Product Management Templates
Sprint Planning Discussion
Subject: Tech Debt Impact on Sprint [X] Planning
SPRINT CAPACITY IMPACT
Affected User Stories: • [Story 1]: [X] point increase due to [debt issue] • [Story 2]: [X]% risk of scope reduction due to [debt issue] • [Story 3]: Blocked by [debt issue] - requires [X] points of debt work first
Recommended Debt Work This Sprint: • [Debt Item 1] ([X] points): Unblocks [Story Y], reduces future story complexity • [Debt Item 2] ([X] points): Prevents [specific risk] in upcoming features
Trade-off Analysis: • If we fix debt: [X] points for features, [benefits for future sprints] • If we don’t fix debt: [X] points for features, [accumulated costs and risks]
Recommendation: [Specific allocation suggestion with rationale]
Feature Impact Assessment
Subject: Technical Debt Impact Assessment - [Feature Name]
DEBT AFFECTING THIS FEATURE
| Debt Item | Impact | Effort to Fix | Recommendation |
|---|---|---|---|
| [Item 1] | [Description] | [X] points | Fix before/Work around/Accept |
| [Item 2] | [Description] | [X] points | Fix before/Work around/Accept |
DELIVERY IMPACT
• Timeline Risk: [LOW/MEDIUM/HIGH]
- Base estimate: [X] points
- Debt-adjusted estimate: [X] points ([X]% increase)
- Risk factors: [Specific risks and probabilities]
• Quality Risk: [LOW/MEDIUM/HIGH]
- [Specific quality concerns from debt]
- Mitigation strategies: [Options for reducing risk]
• Future Feature Impact:
- This feature will [add to/reduce/not affect] debt burden
- Related future features will be [easier/harder/unaffected]
RECOMMENDATIONS
- [Option 1]: [Approach with pros/cons]
- [Option 2]: [Alternative approach with trade-offs]
- Recommended: [Chosen approach with justification]
Engineering Team Templates
Team Health Check
Subject: Weekly Team Health Check - [Date]
DEBT BURDEN THIS WEEK
• New Debt Identified: [X] items ([categories])
• Debt Resolved: [X] items ([X] hours saved)
• Net Change: [Positive/Negative] [X] items
• Top Pain Points: [Developer-reported friction areas]
VELOCITY IMPACT
• Stories Affected by Debt: [X] of [Y] planned stories • Estimated Overhead: [X] hours of extra work due to debt • Blocked Work: [Any stories waiting on debt resolution]
TEAM SENTIMENT
• Frustration Level: [1-5 scale] ([trend])
• Confidence in Codebase: [1-5 scale] ([trend])
• Top Complaints: [Most common developer concerns]
ACTIONS THIS WEEK
• Debt Work Planned: [Specific items and assignees] • Prevention Measures: [Process improvements or reviews] • Escalations: [Issues needing management attention]
Architecture Decision Record (ADR) Template
Subject: ADR-[XXX]: [Decision Title] - Technical Debt Consideration
Status: [Proposed/Accepted/Deprecated] Date: [YYYY-MM-DD] Decision Makers: [Names]
CONTEXT
[Background and current situation]
TECHNICAL DEBT ANALYSIS
• Debt Created by This Decision:
- [Specific debt that will be introduced]
- [Estimated effort to resolve later: X points]
- [Interest rate: impact over time]
• Debt Resolved by This Decision:
- [Existing debt this addresses]
- [Estimated effort saved: X points]
- [Risk reduction achieved]
• Net Debt Impact: [Positive/Negative/Neutral]
DECISION
[What we decided to do]
RATIONALE
[Why we made this decision, including debt trade-offs]
DEBT MANAGEMENT PLAN
• Monitoring: [How we’ll track the debt introduced] • Timeline: [When we plan to address the debt] • Success Criteria: [How we’ll know it’s time to pay down the debt]
CONSEQUENCES
[Expected outcomes, including debt implications]
Customer-Facing Templates
Release Notes - Quality Improvements
Subject: Platform Stability and Performance Improvements - Release [X.Y]
QUALITY IMPROVEMENTS
We’ve invested significant effort in improving the reliability and performance of our platform. While these changes aren’t feature additions, they provide important benefits:
RELIABILITY ENHANCEMENTS
• Reduced Error Rates: [X]% fewer errors in [specific area] • Improved Uptime: [X]% improvement in system availability • Faster Recovery: [X]% faster recovery from service interruptions
PERFORMANCE IMPROVEMENTS
• Page Load Speed: [X]% faster loading for [specific features] • API Response Time: [X]% improvement in response times • Resource Usage: [X]% reduction in memory/CPU usage
SECURITY STRENGTHENING
• Vulnerability Resolution: Addressed [X] security findings • Authentication Improvements: Enhanced login security and reliability • Data Protection: Improved data encryption and access controls
WHAT THIS MEANS FOR YOU
• Better User Experience: Fewer interruptions, faster responses • Increased Reliability: Less downtime, more predictable performance • Enhanced Security: Your data is better protected
We continue to balance new feature development with platform investments to ensure a reliable, secure, and performant experience.
Service Incident Communication
Subject: Service Update - [Brief Description] - [Status]
INCIDENT SUMMARY
• Impact: [Description of customer impact] • Duration: [Start time] - [End time / Ongoing] • Root Cause: [High-level, customer-appropriate explanation] • Resolution: [What was done to fix it]
TECHNICAL DEBT CONNECTION
This incident was [directly caused by / contributed to by / unrelated to] technical debt in our system. Specifically:
• Contributing Factors: [How debt played a role, if any] • Prevention Measures: [Debt work planned to prevent recurrence] • Timeline: [When preventive measures will be completed]
IMMEDIATE ACTIONS
- [Action 1 with timeline]
- [Action 2 with timeline]
- [Action 3 with timeline]
LONG-TERM IMPROVEMENTS
We’re investing in [specific technical improvements] to prevent similar issues:
• Infrastructure: [Relevant infrastructure debt work] • Monitoring: [Observability improvements planned] • Process: [Development process improvements]
We apologize for the inconvenience and appreciate your patience as we continue to strengthen our platform.
Internal Communication Templates
Engineering All-Hands Presentation
Slide Template: Technical Debt State of the Union
SLIDE 1: Current State
- Health Score: [X]/100 [Trend arrow]
- Total Debt Items: [X] ([X]% of codebase)
- High Priority: [X] items requiring immediate attention
- Team Impact: [X]% velocity reduction
SLIDE 2: What We’ve Accomplished
- Resolved [X] debt items ([X] hours of future work saved)
- Improved health score by [X] points
- Key wins: [2-3 specific examples with business impact]
SLIDE 3: Current Focus Areas
- [Category 1]: [X] items, [business impact]
- [Category 2]: [X] items, [business impact]
- [Category 3]: [X] items, [business impact]
SLIDE 4: Success Stories
- [Specific example]: [Problem] → [Solution] → [Outcome]
- Metrics: [Before/after comparison]
- Team feedback: [Developer quotes]
SLIDE 5: Looking Forward
- Q[X] Goals: [Specific targets]
- Major Initiatives: [2-3 big-picture improvements]
- How You Can Help: [Specific asks of the team]
Retrospective Templates
Sprint Retrospective - Debt Focus
What Went Well: • Debt work completed: [Specific items and impact] • Process improvements: [What worked for debt management] • Team collaboration: [Cross-functional debt work successes]
What Didn’t Go Well: • Debt work challenges: [Obstacles encountered] • Scope creep: [Debt work that expanded beyond estimates] • Communication gaps: [Information that wasn’t shared effectively]
Action Items:
• Process: [Changes to how we handle debt work]
• Planning: [Improvements to debt estimation/prioritization]
• Prevention: [Changes to prevent new debt creation]
• Tools: [Tooling improvements needed]
Communication Best Practices
Do’s and Don’ts
DO: • Use business language, not technical jargon • Quantify impact with specific metrics • Provide clear timelines and expectations • Acknowledge trade-offs and constraints • Connect debt work to business outcomes • Be proactive in communication
DON’T: • Blame previous decisions or developers • Use fear-based messaging exclusively • Overwhelm stakeholders with technical details • Make promises without clear plans • Ignore the business context • Assume stakeholders understand technical implications
Tailoring Messages
For Executives: Focus on business impact, ROI, and strategic implications For Product: Focus on feature impact, timeline risks, and user experience For Engineering: Focus on technical details, process improvements, and developer experience For Customers: Focus on reliability, performance, and security benefits
Frequency Guidelines
Real-time: Critical security issues, production incidents
Weekly: Team health checks, sprint impacts
Monthly: Stakeholder updates, trend analysis
Quarterly: Strategic reviews, investment planning
As-needed: Major decisions, significant changes
These templates should be customized for your organization’s communication style, stakeholder preferences, and business context.