π You are here: Main Guide β Templates β Requirements Template
- π Learn Process: Requirements Phase Guide - How to use this template
- π See Example: Simple Feature Requirements - Template in action
- π EARS Reference: Standards Guide - EARS format details
- β‘οΈ Next Template: Design Template - After requirements are done
Use this template to create comprehensive requirements documents using the EARS (Easy Approach to Requirements Syntax) format.
- Feature Name: [Your Feature Name]
- Version: 1.0
- Date: [Current Date]
- Author: [Your Name]
- Stakeholders: [List key stakeholders]
[Provide a clear, concise overview of the feature. Explain what problem it solves and why it's needed. Keep this section to 2-3 paragraphs maximum.]
[One sentence summary of what this feature does]
[Explain the business value and expected outcomes]
[Define what is included and excluded from this feature]
User Story: As a [role/user type], I want [desired functionality], so that [benefit/value].
- WHEN [specific event or trigger] THEN [system name] SHALL [specific system response]
- IF [condition or state] THEN [system name] SHALL [required behavior]
- WHILE [ongoing condition] [system name] SHALL [continuous behavior]
- WHERE [context or location] [system name] SHALL [contextual behavior]
- Priority: [High/Medium/Low]
- Complexity: [High/Medium/Low]
- Dependencies: [List any dependencies on other requirements or systems]
- Assumptions: [List any assumptions made]
User Story: As a [role/user type], I want [desired functionality], so that [benefit/value].
- WHEN [specific event or trigger] THEN [system name] SHALL [specific system response]
- IF [condition or state] THEN [system name] SHALL [required behavior]
- Priority: [High/Medium/Low]
- Complexity: [High/Medium/Low]
- Dependencies: [List any dependencies]
- Assumptions: [List any assumptions]
User Story: As a [role/user type], I want [desired functionality], so that [benefit/value].
- WHEN [specific event or trigger] THEN [system name] SHALL [specific system response]
- IF [condition or state] THEN [system name] SHALL [required behavior]
- Priority: [High/Medium/Low]
- Complexity: [High/Medium/Low]
- Dependencies: [List any dependencies]
- Assumptions: [List any assumptions]
- WHEN [load condition] THEN [system name] SHALL [performance criteria]
- IF [usage scenario] THEN [system name] SHALL [response time requirement]
- WHEN [security event] THEN [system name] SHALL [security response]
- IF [authentication condition] THEN [system name] SHALL [access control behavior]
- WHEN [user interaction] THEN [system name] SHALL [usability standard]
- IF [accessibility condition] THEN [system name] SHALL [accessibility compliance]
- WHEN [failure condition] THEN [system name] SHALL [recovery behavior]
- IF [error state] THEN [system name] SHALL [error handling response]
- [List technical limitations or constraints]
- [Include platform, technology, or integration constraints]
- [List business rules or policy constraints]
- [Include budget, timeline, or resource constraints]
- [List assumptions about user behavior]
- [Include assumptions about system environment]
- [Note assumptions about external dependencies]
- All acceptance criteria are met
- Non-functional requirements are satisfied
- Integration requirements are fulfilled
- Testing criteria are passed
- [Define measurable success criteria]
- [Include performance benchmarks]
- [Specify quality gates]
| Term | Definition |
|---|---|
| [Term 1] | [Clear definition] |
| [Term 2] | [Clear definition] |
| [Term 3] | [Clear definition] |
Use this checklist to validate your requirements document:
- All user stories have clear roles, features, and benefits
- Each requirement has specific acceptance criteria using EARS format
- Non-functional requirements are addressed
- Success criteria are defined and measurable
- Requirements are written in active voice
- Each acceptance criterion is testable
- Requirements avoid implementation details
- Terminology is consistent throughout
- WHEN statements describe specific events or triggers
- IF statements describe clear conditions or states
- WHILE statements describe continuous behaviors
- WHERE statements describe specific contexts
- All statements use SHALL for system responses
- Requirements are unambiguous
- Technical jargon is explained in glossary
- Stakeholders can understand all requirements
- No conflicting requirements exist
- Requirements are numbered and organized
- Dependencies between requirements are clear
- Requirements link to business objectives
- Assumptions and constraints are documented
- β Use active voice and specific language
- β Focus on what the system should do, not how
- β Make each requirement testable and verifiable
- β Include both positive and negative scenarios
- β Consider edge cases and error conditions
- β Don't use vague terms like "user-friendly" or "fast"
- β Don't combine multiple requirements in one statement
- β Don't specify implementation details
- β Don't use subjective or unmeasurable criteria
- β Don't forget to consider non-functional aspects
Event-Driven (WHEN)
- User actions: "WHEN user clicks submit button"
- System events: "WHEN data sync completes"
- Time-based: "WHEN daily backup runs"
Condition-Based (IF)
- State checks: "IF user is authenticated"
- Data validation: "IF input is invalid"
- Permission checks: "IF user has admin role"
Continuous (WHILE)
- Ongoing processes: "WHILE file is uploading"
- Monitoring: "WHILE system is running"
- Real-time updates: "WHILE user is typing"
Contextual (WHERE)
- Platform-specific: "WHERE application runs on mobile"
- Environment-specific: "WHERE system is in production"
- Location-specific: "WHERE user is in restricted area"