Defining Project Requirements
Introduction
This lesson teaches how to define the project requirements by identifying application features and writing user stories that capture specific aspects of each feature.
Learning Outcomes
- Distinguish between functional and non-functional requirements.
- Write a user story from a product or feature description.
- Identify and correct poorly written user stories.
- Write acceptance criteria for a user story.
- Identify and decompose story epics.
- Identify the need for a Spike story.
- Identify the Minimum Viable Product.
Study Resources
For your study of this topic, use these resources. All three videos are assigned as a pre-class activity; start there. The articles and blogs provide additional context and examples; focus on the articles on spikes and MVP. Use the Wikipedia articles as references for deeper exploration.
Video Lessons
-
Agile at Work: Planning with Agile User Stories by Doug Rose available on Lynda.com through the RIT library.
- Creating user stories (3:27)
- Writing effective stories (3:53)
- Grouping with themes or epics (4:34)
NOTE: In one place, the Creating user stories video makes an equivalence between the Definition of Done list and the Acceptance Criteria making it sound like these are the same thing. This is not the most common interpretation which is that these are two distinct lists each serving a different purpose. The Definition of Done is the same in most user stories and is a list of all the process steps that must be completed to finish development of the user story. The Acceptance Criteria are specific to each user story. The criteria are written in a specific format, and each one provides a description of one aspect of the required user story funtionality. Together, all the acceptance criteria should fully define the user story requirements.
- Agile Requirements Foundations by Angela Wick available on Lynda.com through the RIT library.
- User Stories (4:52)
- Acceptance Criteria (3:19)
Web Articles and Blogs
- Atlassian: Epics, stories, versions and sprints
- ScrumAlliance: Epics, Stories, Themes and Tasks
- LeadingAgile: Acceptance Criteria
- ScrumAlliance: Don’t estimate a Spike
- Leanstack: Minimum Viable Product
Wikipedia
Consider these links as reference material for deeper study.
- Requirements analysis
- Functional requirement
- Non-functional requirement
- Use case
- User story
- Minimum viable product (MVP)