Crafting Great
User StoriesShannon Lucas
July 23rd, 2011
OutlineWhat and why
Writing stories
User roles & personas
Things that aren’t stories
Tracking stories
Examples
What a user
story isn’t
Functional
RequirementsDefined by IEEE 830
Contractual in nature
Example:3.4) The product shall have a gasoline-powered engine.3.5) The product shall have four wheels.
3.5.1) The product shall have a rubber tire mounted to each wheel.
3.6) The product shall have a steering wheel.3.7) The product shall have a steel body.
Use CasePart of Rational Unified Process (RUP)
Large in scope
Permanent artifacts
Purpose is to document agreement
Interaction ScenarioDetailed description of a user’s interaction with a system
Larger in scope than a use case
Emphasis on realism and detail
Characteristics:SettingActorsGoalsEvents
What a user
story is
What a User Story isExpresses functionality in terms of value to customers or users
Uses the language of the customer
Cross-cuts technical concerns
Emphasizes shared understanding
Cross-cutting
concerns
Single User Story
Cross-cutting
concerns
Single User Story
Why user
stories?
Benefits of storiesFocus is on user goals rather than system attributes
Defer detail till needed
Promote tacit knowledge across team
Humans remember stories
No illusion of precision
Stories are not contractual obligations
Writing stories
Structure of a User
StoryWritten Description
As a <user role>, I want to <goal> so that <benefit>.
Conversation
Confirmation
Acceptance criteriaConditions of satisfaction
Need to be specified by the customer
Written before the programmer begins coding
Should clarify the intent of the story to the developers
Must be testable
Qualities of a User
StoryFit on an index card
Written for a single user
Written in active voice
Written in language of the business
Avoid UI and technical details
Qualities of a User
StoryI - Independent
N - Negotiable
V - Valuable
E - Estimable
S - Small
T - Testable
User roles &
personas
User RolesThere’s no generic “user”
Each role is a single user
Can be humans or other systems
Abusers
Extreme characters
PersonasImaginary representation of a user role
Has a name, a photo, and a bio
Has an explanation of their motivations for using the product
Things that
aren’t stories
Things that aren’t
storiesConstraints
Models & Workflows
Storyboards
Wireframes
Storing &
tracking stories
Storing and tracking
storiesSpecialized tools
Post-It notes
Spreadsheets
Example Stories
Abuser StoryAs l33th@x, I want to put malicious content on the home page so that I can embarrass the company for not hiring me.
Bad User StoryAs a user, I want to register for a volunteer event so I can begin fundraising.
Good User StoryAs a volunteer, I want to create an account so that I can share my availability for volunteering to event planners.
Bad User StoryAs a volunteer I want to create an account so I can log in.
Good User StoryAs a donor, I want to donate to my friend's fundraising event online, so I can support her charity efforts.
Bad User StoryAs a staff member, I want to be able to train new staff quickly and efficiently using print or online resources, so that they can feel comfortable quickly.
Good User Story?As a political candidate, I want to participate in online discussions with potential voters so that I can understand what's really important to them.
Questions?
Thank you!
ResourcesScrum.org - http://www.scrum.org/
Scrum Alliance - http://www.scrumalliance.org/
All Things Product Owner - http://www.romanpichler.com/blog/user-stories/
User story tools: http://www.userstories.com/products
User Stories Applied by Mike Cohn