Definition |
Short, informal descriptions of one or more aspects of a software feature from an end-user perspective |
Formalized, detailed descriptions of system interactions, often including actors, scenarios, preconditions, and postconditions |
Format |
As a [role], I want to [action/desire] so that [benefit/reason]. |
Typically structured with title, main success scenario, extensions, preconditions, and postconditions |
Length |
Typically one to three sentences |
Can be several pages long |
Detail |
High-level and often focuses on value or benefit. |
Detailed, specifying step-by-step interactions |
Purpose |
Convey the value of a feature or requirement to the development team. |
Describe how a system will behave under various conditions |
Usage |
Agile development methodologies, especially Scrum |
Traditional software development, requirements gathering, and detailed system design |
Stakeholders |
Mainly product owners, developers, and end-users |
Business analysts, system architects, testers, and sometimes end-users |
Flexibility |
Adaptable to changing requirements |
More rigid, requires updates when changes occur |
Associated Artifacts |
Acceptance criteria, tasks |
Diagrams, mock-ups, test cases |