(License: CC BY-SA 4.0)
* The Agile process is driven by customer descriptions of what is required (user scenarios)
* Agile Planning begins with the creation of user stories
* User Stories are the central focus for developers
* User Stories are derived from user/client meeting and describe how the product will be used in very specific ways
* They are derived from user scenarios and tell WHO can do WHAT and WHY
* Analogous to functional requirements
* Act as guidelines on how to plan for testing the product
* Agile team assesses each story and assigns a cost
* Stories are grouped for a deliverable increment
* Complexity of a user story is estimated in Story Points. Story points estimate the relative complexity of satisfying the requirement.
* Each user story should imply an acceptance test
* Coding: Recommends the construction of a unit test for a story before coding starts
* A commitment is made on a delivery date for all the stories of the deliverable increment
* User stories should be recorded in virtual or physical cards placed on the team's working board
Examples taken from http://www.westborosystems.com/2010/02/user-story-examples/
Initial | Final |
---|---|
Team must decide upon the criteria on which to classify each story.
Then, team must select a way to record the story using these criteria
Example: I.N.V.E.S.T.
I – independent, not requiring other features
N – negotiable, can be excluded, revised, etc
V – valuable, clearly contributing to product usefulness
E – estimable, reasonable development estimates can be made from the story
S – small, stories that are too big tend to be vague and miss some points
T – testable, stories need to have a means of verifying functionality
* They are created from the user stories
* Should be discrete, codable, testable elements
* Usually implemented by one programmer, but can be pair-programming
* Can be used to collect ‘metrics’: how many points per week can a developer complete?