22 KiB
/sdd:story-tech-debt
Meta
- Version: 2.0
- Category: story-analysis
- Complexity: high
- Purpose: Identify, categorize, prioritize, and track technical debt from stories to inform debt reduction efforts
Definition
Purpose: Scan all stories for technical debt indicators, categorize by severity and type, calculate impact metrics, and generate actionable debt reduction plan.
Syntax: /sdd:story-tech-debt [priority]
Parameters
| Parameter | Type | Required | Default | Description | Validation |
|---|---|---|---|---|---|
| priority | string | No | "all" | Debt priority filter (critical, important, nice-to-have, all) | One of: critical, important, nice-to-have, all |
INSTRUCTION: Analyze Technical Debt
INPUTS
- priority: Optional priority filter (defaults to all)
- Story files from all directories:
/docs/stories/development/- Active stories/docs/stories/review/- Stories in review/docs/stories/qa/- Stories in testing/docs/stories/completed/- Finished stories
- Optional: Project codebase for TODO scanning
PROCESS
Phase 1: Debt Indicator Detection
-
SCAN all story files for debt indicators:
- "TODO" mentions in technical notes
- "FIXME" mentions in technical notes
- "HACK" mentions in technical notes
- "Technical debt" explicit mentions
- "Deferred" items in implementation checklist
- "Temporary solution" in progress log
- "Skipped tests" in test cases
- "Performance concern" in technical notes
- "Security risk" mentions
- "Needs refactor" mentions
-
EXTRACT debt details:
- Description of debt item
- Source story ID
- Date created (from story started date)
- Severity indicators
- Impact description
-
OPTIONAL: Scan codebase for TODOs:
- Search
*.phpfiles for TODO comments - Search
*.blade.phpfiles for TODO comments - Search
*.jsfiles for TODO comments - Link to stories when possible
- Search
Phase 2: Debt Categorization
-
CLASSIFY debt by severity:
- Critical: Security/Stability issues
- Important: Performance/Maintenance issues
- Nice to have: Cleanup/Refactor items
-
CLASSIFY debt by type:
- Security debt
- Performance debt
- Code quality debt
- Test debt
- Documentation debt
- Infrastructure debt
-
CALCULATE impact scores:
- User impact (High/Medium/Low)
- Developer impact (High/Medium/Low)
- Business impact (High/Medium/Low)
-
ESTIMATE effort:
- Hours for small items
- Days for medium items
- Weeks for large items
-
DISPLAY debt inventory:
🏗️ TECHNICAL DEBT INVENTORY ══════════════════════════════════ 🔴 CRITICAL (Security/Stability) ──────────────────────────────── [DEBT-001] Security: Unencrypted Sensitive Data Storage - Story: STORY-2025-012 - Created: Sep 15, 2025 - Impact: High - PII at risk, compliance violation - Effort: Medium (2 days) - Priority: P0 - Fix immediately - Description: User passwords stored in plain text in logs [DEBT-002] Stability: Memory Leak in Background Service - Story: STORY-2025-023 - Created: Sep 20, 2025 - Impact: High - Application crashes after 24h - Effort: Low (1 day) - Priority: P0 - Fix immediately - Description: Queue worker accumulates memory over time 🟡 IMPORTANT (Performance/Maintenance) ──────────────────────────────────── [DEBT-003] Performance: Unoptimized Database Queries - Story: STORY-2025-018 - Created: Sep 18, 2025 - Impact: Medium - 3-5s page load times - Effort: Medium (2 days) - Priority: P1 - Fix soon - Description: N+1 queries in user dashboard [DEBT-004] Maintenance: Duplicated Business Logic - Story: STORY-2025-025 - Created: Sep 22, 2025 - Impact: Medium - Hard to update, bug prone - Effort: High (3 days) - Priority: P2 - Plan for next sprint - Description: Payment validation duplicated in 5 places 🟢 NICE TO HAVE (Cleanup/Refactor) ────────────────────────────────── [DEBT-005] Cleanup: Unused Dependencies - Story: STORY-2025-010 - Created: Sep 10, 2025 - Impact: Low - Larger bundle size - Effort: Low (2 hours) - Priority: P3 - When time permits - Description: 3 unused npm packages in package.json [DEBT-006] Refactor: Complex Livewire Component - Story: STORY-2025-021 - Created: Sep 21, 2025 - Impact: Low - Maintainability concern - Effort: Medium (1 day) - Priority: P3 - When time permits - Description: TaskManager component has 15 methods
Phase 3: Debt Metrics Calculation
-
COUNT total debt items by category
-
SUM estimated effort (convert to days)
-
CALCULATE debt ratio:
- Total debt effort / Total development time
- Percentage of development capacity
-
DISPLAY debt metrics:
📊 DEBT METRICS ══════════════════════════════════ Total Debt Items: 24 Estimated Effort: 32 days By Severity: - Critical: 3 items (6 days) - Important: 8 items (18 days) - Nice to have: 13 items (8 days) By Category: - Security debt: 2 items (4 days) - Performance debt: 5 items (12 days) - Code quality debt: 9 items (10 days) - Test debt: 4 items (3 days) - Documentation debt: 3 items (2 days) - Infrastructure debt: 1 item (1 day) Debt Ratio: 28% of development capacity (32 debt days / 115 total development days) Status: ⚠️ High debt load - prioritize reduction
Phase 4: Impact Assessment
-
ANALYZE user impact:
- Items affecting user experience
- Items affecting performance
- Items invisible to users
-
ANALYZE developer impact:
- Items slowing development
- Items causing confusion
- Items increasing bug rate
-
ANALYZE business impact:
- Items affecting scalability
- Items increasing costs
- Items risking compliance
-
DISPLAY impact assessment:
⚡ IMPACT ASSESSMENT ══════════════════════════════════ User Impact: - 8 items affect user experience - 5 items affect performance - 11 items are invisible to users Developer Impact: - 12 items slow development - 7 items cause confusion - 9 items increase bug likelihood Business Impact: - 4 items affect scalability - 3 items increase operational costs - 2 items risk compliance/security Risk Level: 🔴 High Recommendation: Address critical items immediately
Phase 5: Priority Matrix Generation
-
PLOT debt items on impact/effort matrix:
- High impact + Low effort: Quick wins
- High impact + High effort: Strategic projects
- Low impact + Low effort: Backlog items
- Low impact + High effort: Defer or eliminate
-
PRIORITIZE within each quadrant
-
GENERATE priority recommendations
-
DISPLAY priority matrix:
📈 PRIORITY MATRIX ══════════════════════════════════ 🎯 HIGH IMPACT + LOW EFFORT (DO FIRST) ──────────────────────────────────── [DEBT-002] Memory leak fix (1 day) [DEBT-005] Remove unused dependencies (2 hours) [DEBT-007] Add missing indexes (4 hours) Total effort: 1.75 days Expected impact: High stability, reduced costs 📋 HIGH IMPACT + HIGH EFFORT (PLAN & SCHEDULE) ────────────────────────────────────────────── [DEBT-001] Implement data encryption (2 days) [DEBT-004] Refactor duplicated logic (3 days) [DEBT-008] Migrate to new API version (5 days) Total effort: 10 days Expected impact: Security, maintainability ⚡ LOW IMPACT + LOW EFFORT (QUICK WINS) ─────────────────────────────────────── [DEBT-006] Simplify complex component (1 day) [DEBT-009] Update deprecated API calls (2 hours) [DEBT-010] Fix linting warnings (1 hour) Total effort: 1.5 days Expected impact: Code quality, dev experience ⏸️ LOW IMPACT + HIGH EFFORT (DEFER) ──────────────────────────────────── [DEBT-011] Achieve 100% test coverage (5 days) [DEBT-012] Complete architectural refactor (10 days) Total effort: 15 days Recommendation: Defer or break into smaller items
Phase 6: Debt Story Generation
-
GROUP related debt items
-
CREATE debt reduction story proposals:
- Story title
- Combined debt items
- Total effort estimate
- Expected value/benefit
-
SUGGEST story descriptions
-
DISPLAY debt stories:
📝 DEBT REDUCTION STORIES ══════════════════════════════════ Suggested Stories to Create: [DEBT-STORY-001] Security Hardening Sprint - Combines: DEBT-001, DEBT-013, DEBT-015 - Items: 3 security issues - Effort: 5 days - Value: Critical security and compliance - Priority: P0 - Must do next sprint [DEBT-STORY-002] Performance Optimization Sprint - Combines: DEBT-003, DEBT-007, DEBT-014, DEBT-016 - Items: 4 performance issues - Effort: 6 days - Value: 50% faster page loads, better UX - Priority: P1 - High value [DEBT-STORY-003] Code Quality Refactor - Combines: DEBT-004, DEBT-006, DEBT-017 - Items: 3 maintainability issues - Effort: 5 days - Value: Easier maintenance, faster features - Priority: P2 - Medium value Create these stories? (y/n)
Phase 7: Debt Reduction Plan
-
ORGANIZE debt items into sprint-sized chunks
-
CREATE timeline for debt reduction:
- Immediate: Critical items
- Short-term: Important items
- Medium-term: Nice to have items
- Ongoing: Continuous improvements
-
CALCULATE capacity allocation:
- Percentage of sprint for debt work
- Expected completion timeline
-
DISPLAY reduction plan:
📅 DEBT REDUCTION PLAN ══════════════════════════════════ IMMEDIATE (This Week) ──────────────────────────────── Sprint Focus: Critical security and stability - Fix data encryption (2 days) - Patch memory leak (1 day) - Add authentication checks (1 day) Total: 4 days Team capacity: 2 developers × 2 days each SHORT-TERM (Next 2 Sprints) ──────────────────────────────── Sprint 1: Performance optimization - Optimize database queries (2 days) - Add caching layer (2 days) - Add missing indexes (0.5 days) Sprint 2: Code quality improvement - Refactor duplicated logic (3 days) - Simplify complex components (1 day) - Add missing tests (2 days) Total: 10.5 days MEDIUM-TERM (Month 2-3) ──────────────────────────────── - Documentation updates (2 days) - Dependency upgrades (1 day) - Architectural improvements (5 days) Total: 8 days ONGOING PREVENTION ──────────────────────────────── - Allocate 20% of each sprint to debt - Address new TODOs within 2 weeks - Code review checklist for debt - Monthly debt review meeting ESTIMATED COMPLETION ──────────────────────────────── All critical debt: 1 week All high-priority debt: 6 weeks All tracked debt: 12 weeks With 20% ongoing capacity: Sustainable
Phase 8: Trend Analysis
-
TRACK debt over time:
- New debt created (from recent stories)
- Debt resolved (from progress logs)
- Net change
-
CALCULATE debt velocity:
- Rate of debt creation
- Rate of debt resolution
- Projected timeline
-
DISPLAY trend analysis:
📉 DEBT TRENDS ══════════════════════════════════ Last 30 Days: - New debt created: 8 items (12 days effort) - Debt resolved: 3 items (4 days effort) - Net change: +5 items (+8 days) ⚠️ Monthly Rate: - Debt creation: 8 items/month - Debt resolution: 3 items/month - Net accumulation: 5 items/month Current Trajectory: - At current rate: Debt increasing - Projected debt in 3 months: 39 items (56 days) - Status: 🔴 Unsustainable With 20% Sprint Capacity (4 days/sprint): - Debt resolution: 8 items/month - Net change: Even or reducing - Clear current debt: 8 sprints (4 months) - Status: ✅ Sustainable Recommendation: Allocate 20% of sprint capacity to debt reduction to prevent accumulation and clear backlog.
Phase 9: Prevention Recommendations
-
ANALYZE root causes of debt
-
SUGGEST process improvements:
- Code review additions
- Definition of done criteria
- Quality gates
- Standards enforcement
-
RECOMMEND preventive measures:
- Performance budgets
- Complexity limits
- Coverage requirements
- Documentation standards
-
DISPLAY prevention recommendations:
🛡️ DEBT PREVENTION ══════════════════════════════════ PROCESS IMPROVEMENTS: Code Review Checklist: ✓ Add debt check to review template ✓ Block PRs with new TODO comments ✓ Require justification for technical debt ✓ Link debt to tracking story Definition of Done: ✓ All tests passing ✓ No new TODO/FIXME comments ✓ Performance benchmarks met ✓ Security checks passed ✓ Documentation updated Quality Gates: ✓ Automated: Lint, format, test coverage ✓ Manual: Security review for auth changes ✓ Manual: Performance review for queries STANDARDS TO ENFORCE: Performance Budgets: - Max page load: 2 seconds - Max API response: 500ms - Max database queries: 10 per request - Max N+1 queries: 0 Complexity Limits: - Max cyclomatic complexity: 10 - Max method length: 30 lines - Max class length: 300 lines - Max method parameters: 4 Coverage Requirements: - Minimum test coverage: 80% - All public methods tested - Edge cases covered - Browser tests for critical paths Documentation Standards: - All public APIs documented - Complex logic explained - Setup instructions complete - Deployment process documented TOOL RECOMMENDATIONS: Automated Checks: - Laravel Pint for code style - Pest for testing - PHPStan for static analysis - GitHub Actions for CI/CD Monitoring: - Laravel Telescope for debugging - Performance monitoring - Error tracking - Log aggregation
Phase 10: Report Export
-
COMPILE all debt data into comprehensive report
-
GENERATE debt backlog stories
-
CREATE tracking documents
-
OFFER export options:
💾 EXPORT OPTIONS ══════════════════════════════════ Export debt report to: 1. /tech-debt/report-2025-10-01.md - Complete debt inventory - Metrics and trends - Reduction plan - Prevention recommendations 2. Create debt stories in /docs/stories/backlog/: - DEBT-STORY-001.md (Security sprint) - DEBT-STORY-002.md (Performance sprint) - DEBT-STORY-003.md (Code quality sprint) 3. Create debt tracking dashboard: - /tech-debt/dashboard.md - Updated weekly with latest status Export all? (y/n) -
DISPLAY export summary:
✅ EXPORT COMPLETE ══════════════════════════════════ Files Created: ✓ /tech-debt/report-2025-10-01.md ✓ /tech-debt/dashboard.md ✓ /docs/stories/backlog/DEBT-STORY-001.md ✓ /docs/stories/backlog/DEBT-STORY-002.md ✓ /docs/stories/backlog/DEBT-STORY-003.md NEXT STEPS: 1. Review and prioritize debt stories 2. Schedule critical items for this sprint 3. Allocate 20% capacity for debt work 4. Update debt dashboard weekly 5. Track debt velocity monthly 💡 QUICK START: /sdd:story-start DEBT-STORY-001 # Begin security sprint
OUTPUTS
- Console display of complete debt analysis
- Optional:
/tech-debt/report-[date].md- Comprehensive debt report - Optional:
/tech-debt/dashboard.md- Tracking dashboard - Optional:
/docs/stories/backlog/DEBT-STORY-*.md- Debt reduction stories
RULES
- MUST scan all story directories (not just completed)
- MUST categorize debt by severity (critical/important/nice-to-have)
- MUST calculate effort estimates (hours/days)
- MUST prioritize by impact/effort matrix
- SHOULD link debt items to source stories
- SHOULD provide timeline for debt reduction
- SHOULD suggest prevention measures
- NEVER modify story files (read-only operation)
- ALWAYS show debt sources and dates
- ALWAYS provide actionable recommendations
- MUST handle missing data gracefully
Debt Severity Levels
Critical (P0)
- Security vulnerabilities
- Stability/crash issues
- Data loss risks
- Compliance violations
- Action: Fix immediately
Important (P1)
- Performance degradation
- Maintainability issues
- Moderate bug risks
- User experience problems
- Action: Fix within 1-2 sprints
Nice to Have (P2/P3)
- Code cleanup
- Minor refactoring
- Documentation gaps
- Optimization opportunities
- Action: Address when capacity allows
Examples
Example 1: All Debt
INPUT:
/sdd:story-tech-debt
OUTPUT:
→ Scanning all story directories...
→ Found 24 debt items across 18 stories
→ Categorizing and prioritizing...
🏗️ TECHNICAL DEBT INVENTORY
══════════════════════════════════
🔴 CRITICAL (3 items)
[DEBT-001] Security: Unencrypted sensitive data
[DEBT-002] Stability: Memory leak in queue worker
[DEBT-003] Security: Missing authentication check
🟡 IMPORTANT (8 items)
[DEBT-004] Performance: N+1 query issues
[DEBT-005] Maintenance: Duplicated business logic
[... 6 more ...]
🟢 NICE TO HAVE (13 items)
[DEBT-006] Cleanup: Unused dependencies
[... 12 more ...]
[Additional sections...]
📝 DEBT REDUCTION STORIES
Create 3 debt stories in backlog? (y/n)
Example 2: Critical Debt Only
INPUT:
/sdd:story-tech-debt critical
OUTPUT:
→ Scanning for critical debt only...
→ Found 3 critical items
🔴 CRITICAL DEBT (3 items, 6 days)
══════════════════════════════════
[DEBT-001] Security: Unencrypted Sensitive Data
- Story: STORY-2025-012
- Impact: High - PII at risk
- Effort: 2 days
- Description: User data stored without encryption
[DEBT-002] Stability: Memory Leak
- Story: STORY-2025-023
- Impact: High - Crashes after 24h
- Effort: 1 day
- Description: Queue worker memory accumulation
[DEBT-003] Security: Missing Auth Check
- Story: STORY-2025-028
- Impact: High - Unauthorized access possible
- Effort: 3 days
- Description: Admin endpoints lack verification
⚠️ ACTION REQUIRED
──────────────────────────────────
These critical items should be addressed immediately.
Estimated effort: 6 days total
Create emergency debt story? (y/n)
Example 3: No Debt Found
INPUT:
/sdd:story-tech-debt
OUTPUT:
→ Scanning all story directories...
→ Analyzing debt indicators...
✅ NO TECHNICAL DEBT DETECTED
══════════════════════════════════
No debt indicators found in stories:
- No TODO/FIXME comments
- No deferred items
- No temporary solutions
- No skipped tests
Status: 🎉 Clean codebase!
PREVENTION:
Continue following best practices:
- Code review process
- Test-driven development
- Performance monitoring
- Security checks
Run /sdd:story-metrics to see quality metrics.
Edge Cases
No Stories Available
- DETECT empty story directories
- DISPLAY no data message
- SUGGEST creating stories first
- PROVIDE guidance on starting
All Debt Resolved
- DETECT zero debt items
- CELEBRATE clean codebase
- SHOW prevention recommendations
- SUGGEST ongoing practices
Incomplete Debt Information
- PARSE flexibly from available data
- MARK incomplete items for review
- ESTIMATE effort conservatively
- CONTINUE with best-effort analysis
Very High Debt Load
- DETECT debt > 50% of development time
- DISPLAY warning alert
- PRIORITIZE ruthlessly (critical only)
- SUGGEST process intervention
Error Handling
- No story directories: Report missing structure, suggest
/sdd:project-init - Permission errors: Report specific file access issues
- Malformed story files: Skip problematic files, log warnings
- Invalid priority parameter: Show valid options, use default
- Export directory conflicts: Ask to overwrite or merge
Performance Considerations
- Efficient file scanning (single pass per directory)
- Lazy parsing (only parse when needed)
- Pattern matching with regex for debt indicators
- Streaming output for large debt lists
- Typical completion time: < 3 seconds for 50 stories
Related Commands
/sdd:story-metrics- Development velocity and quality metrics/sdd:story-patterns- Identify recurring patterns/sdd:project-status- Current project state/sdd:story-new [id]- Create debt reduction story
Constraints
- ✅ MUST be read-only (no story modifications)
- ✅ MUST categorize by severity (critical/important/nice-to-have)
- ✅ MUST provide effort estimates
- ⚠️ SHOULD link debt to source stories
- 📊 SHOULD include impact assessment
- 💡 SHOULD generate reduction plan
- 🛡️ SHOULD suggest prevention measures
- ⏱️ MUST complete analysis in reasonable time (< 5s)
- 📁 SHOULD offer to export and create stories