User Stories

ITEC 3870 Software Development II,
Anca Doloc-Mihu and Cengiz Günay

(License: CC BY-SA 4.0)

Prev - Requirements in Agile, Next - Teamwork

User Stories in Agile

* 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

User Stories in Agile

* 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 of User Story

Examples taken from http://www.westborosystems.com/2010/02/user-story-examples/

User Story might get history during the development

InitialFinal

How to classify each story

  • 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

Developer points

* 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?

Daily Scrum

Prev - Requirements in Agile, Next - Teamwork

Home