BMAD-METHOD/.bmad/bmm/workflows/debug/pattern-analysis/instructions.md

200 lines
4.1 KiB
Markdown

# pattern-detection
Analyze code and commit history for defect patterns and systemic issues.
## Context
This task identifies recurring defect patterns, systemic issues, and common problem areas to enable proactive quality improvements.
## Task Execution
### Step 1: Historical Analysis
#### Recent Commits Analysis
1. Review last 20-50 commits for:
- Files frequently modified (hotspots)
- Repeated fix attempts
- Revert commits indicating instability
- Emergency/hotfix patterns
#### Bug History Review
1. Analyze recent bug reports for:
- Common symptoms
- Recurring locations
- Similar root causes
- Fix patterns
### Step 2: Code Pattern Detection
#### Anti-Pattern Identification
Look for common problematic patterns:
- God objects/functions (excessive responsibility)
- Copy-paste code (DRY violations)
- Dead code (unused functions/variables)
- Complex conditionals (cyclomatic complexity)
- Long parameter lists
- Inappropriate intimacy (tight coupling)
#### Vulnerability Patterns
Check for security/reliability issues:
- Input validation gaps
- Error handling inconsistencies
- Resource leak patterns
- Race condition indicators
- SQL injection risks
- XSS vulnerabilities
### Step 3: Architectural Pattern Analysis
#### Dependency Issues
- Circular dependencies
- Version conflicts
- Missing abstractions
- Leaky abstractions
- Inappropriate dependencies
#### Design Smells
- Violated SOLID principles
- Missing design patterns where needed
- Over-engineering indicators
- Technical debt accumulation
### Step 4: Team Pattern Analysis
#### Development Patterns
- Rush commits (end of sprint)
- Incomplete implementations
- Missing tests for bug fixes
- Documentation gaps
- Code review oversights
#### Communication Patterns
- Misunderstood requirements
- Incomplete handoffs
- Knowledge silos
- Missing context in commits
### Step 5: Pattern Correlation
1. Group related patterns by:
- Component/module
- Developer/team
- Time period
- Feature area
2. Identify correlations:
- Patterns that appear together
- Cascade effects
- Root pattern causing others
## Output Format
```markdown
# Defect Pattern Analysis Report
## Executive Summary
[High-level overview of key patterns found]
## Critical Patterns Detected
### Pattern 1: [Pattern Name]
**Type:** [Anti-pattern/Vulnerability/Design/Process]
**Frequency:** [Number of occurrences]
**Locations:**
- [file:line]
- [file:line]
**Description:** [What the pattern is]
**Impact:** [Why it matters]
**Example:** [Code snippet or commit reference]
**Recommendation:** [How to address]
## Hotspot Analysis
### High-Change Files
1. [filename] - [change count] changes, [bug count] bugs
2. [filename] - [change count] changes, [bug count] bugs
### Complex Areas
1. [component] - Complexity score: [number]
2. [component] - Complexity score: [number]
## Systemic Issues
### Issue 1: [Issue Name]
**Pattern Indicators:**
- [Pattern that indicates this issue]
- [Another indicator]
**Root Cause:** [Underlying systemic problem]
**Affected Areas:** [Components/teams affected]
**Priority:** [Critical/High/Medium/Low]
**Remediation Strategy:** [How to fix systematically]
## Trend Analysis
### Improving Areas
- [Area showing positive trends]
### Degrading Areas
- [Area showing negative trends]
### Stable Problem Areas
- [Persistent issues not getting better or worse]
## Recommendations
### Immediate Actions
1. [Quick win to address patterns]
2. [Another quick action]
### Short-term Improvements
1. [1-2 sprint improvements]
2. [Process changes needed]
### Long-term Strategy
1. [Architectural changes]
2. [Team/process evolution]
## Prevention Checklist
- [ ] Add static analysis for [pattern]
- [ ] Implement pre-commit hooks for [issue]
- [ ] Create coding standards for [area]
- [ ] Add automated tests for [vulnerability]
- [ ] Improve documentation for [component]
```
## Completion Criteria
- [ ] Historical analysis completed
- [ ] Code patterns identified
- [ ] Architectural issues found
- [ ] Team patterns analyzed
- [ ] Correlations established
- [ ] Recommendations provided
- [ ] Prevention strategies defined