Gap Analysis Process
Objective
Analyze the gap between requirements and existing codebase to inform implementation strategy decisions.
Analysis Framework
1. Current State Investigation
2. Requirements Feasibility Analysis
3. Implementation Approach Options
Option A: Extend Existing Components
When to consider: Feature fits naturally into existing structure
Which files/modules to extend:
- Identify specific files requiring changes
- Assess impact on existing functionality
- Evaluate backward compatibility concerns
Compatibility assessment:
- Check if extension respects existing interfaces
- Verify no breaking changes to consumers
- Assess test coverage impact
Complexity and maintainability:
- Evaluate cognitive load of additional functionality
- Check if single responsibility principle is maintained
- Assess if file size remains manageable
Trade-offs:
- ✅ Minimal new files, faster initial development
- ✅ Leverages existing patterns and infrastructure
- ❌ Risk of bloating existing components
- ❌ May complicate existing logic
Option B: Create New Components
When to consider: Feature has distinct responsibility or existing components are already complex
Trade-offs:
- ✅ Clean separation of concerns
- ✅ Easier to test in isolation
- ✅ Reduces complexity in existing components
- ❌ More files to navigate
- ❌ Requires careful interface design
Option C: Hybrid Approach
When to consider: Complex features requiring both extension and new creation
Combination strategy:
- Which parts extend existing components
- Which parts warrant new components
- How they interact
Phased implementation:
- Initial phase: minimal viable changes
- Subsequent phases: refactoring or new components
- Migration strategy if needed
Risk mitigation:
- Incremental rollout approach
- Feature flags or configuration
- Rollback strategy
Trade-offs:
- ✅ Balanced approach for complex features
- ✅ Allows iterative refinement
- ❌ More complex planning required
❌ Potential for inconsistency if not well-coordinated
4. Out-of-Scope for Gap Analysis
Defer deep research activities to the design phase.
Record unknowns as concise "Research Needed" items only.
5. Implementation Complexity & Risk
- Effort:
- S (1–3 days): existing patterns, minimal deps, straightforward integration
- M (3–7 days): some new patterns/integrations, moderate complexity
- L (1–2 weeks): significant functionality, multiple integrations or workflows
- XL (2+ weeks): architectural changes, unfamiliar tech, broad impact
- Risk:
- High: unknown tech, complex integrations, architectural shifts, unclear perf/security path
- Medium: new patterns with guidance, manageable integrations, known perf solutions
- Low: extend established patterns, familiar tech, clear scope, minimal integration
Output Checklist
- Requirement-to-Asset Map with gaps tagged (Missing / Unknown / Constraint)
- Options A/B/C with short rationale and trade-offs
- Effort (S/M/L/XL) and Risk (High/Medium/Low) with one-line justification each
- Recommendations for design phase:
- Preferred approach and key decisions
- Research items to carry forward
Principles
- Information over decisions: Provide analysis and options, not final choices
- Multiple viable options: Offer credible alternatives when applicable
- Explicit gaps and assumptions: Flag unknowns and constraints clearly
- Context-aware: Align with existing patterns and architecture limits
- Transparent effort and risk: Justify labels succinctly