requirements-analysis
Requirements Analysis
Requirement Types
Functional Requirements
What the system should DO.
- "Users can log in with email and password"
- "System sends order confirmation email"
Non-Functional Requirements
How the system should BEHAVE.
- Performance: "Page loads in < 2 seconds"
- Security: "Passwords stored with bcrypt"
- Scalability: "Supports 10,000 concurrent users"
Constraints
Limitations on the solution.
- "Must use existing authentication system"
- "Must run on AWS"
Analysis Techniques
Ask "Why?" Five Times
Uncover the real requirement.
Requirement: "Add export to Excel button"
Why? → "Users need to share reports"
Why? → "Finance reviews monthly sales"
Why? → "They compare against targets"
Why? → "To identify underperforming regions"
Real Need: Regional performance dashboard
SMART Criteria
Requirements should be:
- Specific: Clear and unambiguous
- Measurable: Can verify completion
- Achievable: Technically feasible
- Relevant: Aligned with goals
- Time-bound: Has deadline
Edge Case Analysis
- What happens with no data?
- What happens with too much data?
- What if the user is offline?
- What if permissions are denied?
Requirement Validation
- Is it testable?
- Is it achievable?
- Is it necessary?
- Is it consistent with other requirements?
- Is it complete?
- Is the priority clear?
Documenting Requirements
**REQ-001**: User Authentication
**Description**: Users must authenticate to access the system.
**Acceptance Criteria**:
1. Given valid credentials, user gains access
2. Given invalid credentials, user sees error
3. After 5 failed attempts, account is locked
**Priority**: Must Have
**Dependencies**: REQ-002 (User Management)
More from dralgorhythm/claude-agentic-framework
threat-modeling
Identify and analyze security threats. Use when designing systems, reviewing architecture, or assessing risk. Covers STRIDE methodology.
41context-management
Manage project context effectively. Use when onboarding, context switching, or maintaining project knowledge. Covers context capture and sharing.
40observability
Implement observability solutions. Use when setting up monitoring, logging, or tracing. Covers OpenTelemetry, metrics, and alerting.
36data-management
Design and manage data storage effectively. Use when working with databases, schemas, or data migrations. Covers schema design, migrations, and data integrity.
35expo-router
Expo Router 6.x file-based routing for React Native. Use when setting up navigation, creating screens, handling route params, or structuring app layouts with Stack/Tabs navigators.
34nativewind
NativeWind 4.x styling for React Native. Use when applying Tailwind classes to RN components, configuring NativeWind, or converting web Tailwind patterns to mobile.
34