Vous êtes sur la page 1sur 2

User Stories Quick Reference Guide

What is a user story? Characteristics of a good user story Why user stories?
A user story describes product functionality  Supports satisfying the customer through early
from a customer’s perspective. It is a and continuous delivery of valuable software
Independent
collaboration tool - a reminder to have a  Shifts the focus from writing to talking - words
conversation about what the customer needs. are imprecise
What does a user story typically look like? Negotiable  Equally understandable by developers and
customers
“As a <user role>, I want to  Emphasize the user’s goals, not the system
Valuable
attributes. Focus on what is needed and why, not
<goal> so that <benefit>” INVEST how.
Estimable  Support and encourage iterative development –
e.g. As a nurse practitioner, I want to add an the customer ranks the stories according to
appointment to my schedule so that no patient relative business value
has to wait more than 5 minutes for treatment Small  The right size for planning - written at different
levels based on their implementation horizon
Starting with goal stories
Testable
 Support participatory design - involve the
Consider each user role and identify the goals that
customers in a collaborative problem solving
user role has for interacting with our software
process
Augment when appropriate User roles User stories in the Product Backlog
 User stories don’t have to be the end-all, be-all  Broadens scope from looking at only one
for representing user requirements user Each backlog
 Augment them with written documentation as  Allows users to vary by: item is a story An Epic is a large story
appropriate o How they use the software and for what
o Examples of inputs and expected result (be o Background
specific, this will help with developing o Familiarity with the software/computers
automated tests)  Used extensively in usage-centered design
o Business rules, data dictionaries, use cases  Advantages
o Diagrams, spreadsheets o Users become tangible – software solves
the needs of real people
o Incorporate roles into stories A Theme is a collection of related stories

www.virtual-genius.com AGILITY. CRAFT. ARCHITECTURE. Copyright ©2010 Virtual Genius, LLC.


Independent1 Estimable Patterns for splitting stories2
 Dependencies make prioritizing  Stories used in project planning Workflow Steps
As a content manager, I can publish a news story to the corporate website
and planning more difficult  Developers are responsible for estimating …I can publish a news story directly to the corporate website
 “Slice the cake” – each story must  Planning poker or planning game can be used to …I can publish a news story with editor review
…I can publish a news story with legal review
have a little from each layer make accurate estimates
o Exercising each layer of the  Story points are a relative measure of effort in Business Rule Variations
architecture reduces risk of implementing a story As a user, I can search for flights with flexible dates
…as “n days between x and y”
finding last-minute problems  A story might not be estimable if: …as “a weekend in December”
in one of the layers o Developers lack domain knowledge …as “+/- days of x and y”
o Possible to release application o Developers lack technical knowledge Major Effort
with only partial functionality o The story is too big As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express
Negotiable Small …I can pay with one credit card type (of VISA, MC, DC, AMEX)
…I can pay with all four credit card types (VISA, MC, DC, AMEX)
 Stories are not:  Small stories for implementing in the near
o Written contracts future, and epics for further out Simple/Complex
As a user, I can search for flights between two destinations
o Requirements the software  Large stories (epics): …specifying a max number of stops
must fulfill (they represent o Hard to estimate …including nearby airports
customer requirements rather o Hard to plan - won’t fit in a single iteration
Variations in Data
than document them) o Should be split into smaller stories As a content manager, I can create news stories
 Do not need to include all details, o Often hide assumptions that should be made …in English
…in Japanese
otherwise gives impression of: explicit
o false precision or  Can make bugs into user stories Data Entry Methods
completeness As a user, I can search for flights between two destinations
…using simple date input
o no need to discuss further …with a fancy calendar UI
Valuable Testable
Defer Performance
 Stories must be valuable to either:  Specify acceptance criteria: these tests As a user, I can search for flights between two destinations
o Users (e.g. “As a doctor, I…”) demonstrate that a story meets the customer’s …(slow – just get it done, show a “searching animation”)
o Customers/stakeholders (e.g. expectations …(in under 5 seconds)

“As the executive sponsor of  Tests define the conditions of satisfaction for Operations (eg. CRUD: Create/Read/Update/Delete)
this project, I…”) the story As a user, I can manage my account
…I can sign up for my account
 Completed stories have more  Be specific and use actual values for testing …I can edit my account settings
value when possible (i.e., specification by example) …I can cancel my account
o Finish with the achievement of  Use an ATDD tool such as Cucumber or FitNesse
Break Out a Spike
a meaningful goal to specify and automate the acceptance tests As a user, I can pay by credit card
o Deliver value to the customer against the system …Investigate credit card processing
…Implement credit card processing (as 1 or more stories)

1
User stories content adapted from Mike Cohn, User Stories Applied (Addison Wesley: 2004).
2
Adapted from Story Splitting Cheat Sheet by Richard Lawrence of Humanizing Work (http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories)
www.virtual-genius.com Copyright ©2010 Virtual Genius, LLC.