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 nguyenhuuca/assessment
compliance
Ensure regulatory compliance. Use when implementing GDPR, HIPAA, PCI-DSS, or SOC2 requirements. Covers compliance frameworks and controls.
17security-review
Conduct security code reviews. Use when reviewing code for vulnerabilities, assessing security posture, or auditing applications. Covers security review checklist.
13identity-access
Implement identity and access management. Use when designing authentication, authorization, or user management. Covers OAuth2, OIDC, and RBAC.
12execution-roadmaps
Create execution roadmaps for projects. Use when planning multi-phase projects or feature rollouts. Covers phased delivery and milestone planning.
12cloud-native-patterns
Apply cloud-native architecture patterns. Use when designing for scalability, resilience, or cloud deployment. Covers microservices, containers, and distributed systems.
12agile-methodology
Apply agile development practices. Use when planning sprints, running ceremonies, or improving team processes. Covers Scrum, Kanban, and agile principles.
12