SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
User Stories
Mike Cohn

NDC London
6 December 2013

1

What problem do stories address?
Software requirements is a communication
problem
Those who want
the software must
communicate with
those who will
build it

®

© Copyright Mountain Goat Software

2
Balance is critical
If either side dominates, the business loses
If the business side dominates…
…functionality and dates are mandated with little
regard for reality or whether the developers
understand the requirements

If the developers dominate…
…technical jargon replaces the language
of the business and developers lose the opportunity to
learn from listening

®

© Copyright Mountain Goat Software

3

© Copyright Mountain Goat Software

4

Resource allocation
We need a way of
working together so
that resource allocation
becomes a shared
problem
Project fails when the
problem of resource
allocation falls too far to
one side

®
Responsibility for resource allocation
If developers are responsible…

• May trade quality for additional
features
• May only partially implement a
feature
• May solely make decisions that
should involve the business

If the business is responsible…

• Lengthy upfront requirements
negotiation and signoff
• Features are progressively
dropped as the deadline nears

© Copyright Mountain Goat Software

®

5

Imperfect schedules
We cannot perfectly predict a software
schedule
As users see the software, they come up with
new ideas
Too many intangibles
Developers have a notoriously hard time
estimating

If we can’t perfectly predict a schedule, we
can’t perfectly say what will be delivered
®

© Copyright Mountain Goat Software

6
So what do we do?
We make decisions based
on the information we
have
Rather than making one
…but do it often
all-encompassing set of
decisions

This is where
user stories
come in

…we spread decisionmaking across the project

© Copyright Mountain Goat Software

®

7

© Copyright Mountain Goat Software

8

Agenda

What stories are
Writing user stories
Why user stories

®
Three Cs
Card
• Stories are traditionally

Conversation
• Details behind the story come

written on note cards.
• Cards may be annotated with
estimates, notes, etc.

out during conversations with
product owner

Confirmation

• Acceptance tests confirm a
story was coded correctly

®

Source: XP Magazine 8/30/01, Ron Jeffries.

© Copyright Mountain Goat Software

9

Samples from a travel website
As a user, I want to
reserve a hotel room.

As a vacation traveler,
I want to see photos of
the hotels.

As a user, I want to
cancel a reservation.

As a frequent flyer, I
want to rebook a past trip
so that I save time
booking trips I take often.

®

© Copyright Mountain Goat Software

10
Where are the details?
As a user, I can cancel a reservation.
Does the user get a full or partial refund?
Is the refund to her credit card or is it site credit?

How far ahead must the reservation be cancelled?
Is that the same for all hotels?
For all site visitors? Can frequent travelers cancel later?

Is a confirmation provided to the user?
How?

®

© Copyright Mountain Goat Software

11

Details as conditions of satisfaction
As a user, I can
cancel a reservation.
product owner’s
conditions of satisfaction
can be added to a story
• These are essentially
tests

• The

®

Verify that a premium member can
cancel the same day without a fee.
Verify that a non-premium member is
charged 10% for a same-day cancellation.
Verify that an email confirmation is sent.
Verify that the hotel is notified of any
cancellation.

© Copyright Mountain Goat Software

12
Details added in smaller sub-stories
As a premium site
member, I can cancel a
reservation up to the
last minute.

As a user, I can
cancel a reservation.

As a non-premium
member, I can cancel up
to 24 hours in advance.
As a site visitor, I am
emailed a confirmation of
any cancelled
reservation.

®

© Copyright Mountain Goat Software

13

Techniques can be combined
These approaches are not mutually
exclusive
Write stories at an appropriate level
By the time it’s implemented, each story
will have conditions of satisfaction
associated with it

®

© Copyright Mountain Goat Software

14
The product backlog iceberg
Priority

®

© Copyright Mountain Goat Software

15

Some additional useful terms
Theme
A collection of
related user
stories

Epic
A large user
story
®

© Copyright Mountain Goat Software

16
An example

As a VP Marketing, I want
to review the performance
of historical promotional
campaigns so that I can
identify and repeat
profitable ones.
ly

ar
Cle

®

pic
ne
a

As a VP Marketing, I want to
select the timeframe to use
when reviewing the
performance of past
promotional campaigns, so
that …
Epics???

As a VP Marketing, I can
select which type of
campaigns (direct mail, TV,
email, radio, etc.) to include
when reviewing the
performance of past …
© Copyright Mountain Goat Software

17

As a VP Marketing, I want
to see information on
direct mailings when
reviewing historical
campaigns.
As a VP Marketing, I want
to see information on TV
ads when reviewing
historical campaigns.
As a VP Marketing, I want
to see information on
email ads when reviewing
historical campaigns.
®

© Copyright Mountain Goat Software

18
Agenda

What stories are
Writing user stories
Why user stories

®

© Copyright Mountain Goat Software

19

Logging in
• See how many user stories you can
write about logging in.
• Examples:
• As a registered user, I am required to
log in so that I can access the system.
• As a forgetful user, I can request a
password reminder so that I can log in
if I forget mine.
“As a <user role>,
I <want/need/can/
etc> <goal>
so that <reason>.”
®

© Copyright Mountain Goat Software

20
Story-writing workshops
Includes whole team plus possibly some
external stakeholders
Typically not done every sprint
Brainstorm to generate stories
Goal is to write as many stories as possible
Some will be “implementation ready”
Others will be epics

No prioritization at this point
© Copyright Mountain Goat Software

®

21

Start with epics and iterate
As a frequent
flyer, I want to
see check my
account.

Frequent Flyer

As a frequent
flyer, I want to
book a trip.

As a frequent
flyer, I want
to…

®

As a frequent
flyer, I want to
book a trip using
miles.
As a frequent
flyer, I want to
rebook a trip I
take often.
As a frequent
flyer, I want to
request an
upgrade.
As a frequent
flyer, I want to
see if my
upgrade cleared.
© Copyright Mountain Goat Software

22
Agenda

What stories are
Writing user stories
Why user stories

© Copyright Mountain Goat Software

®

23

So why user stories?
Shift focus from writing to talking

If requirements are
written down

“You built what I
asked for, but it’s
not what I need.”

®

then

The user will get
what she wants
At best she’ll get
what was written

© Copyright Mountain Goat Software

24
Words are imprecise
Entrée comes
with
soup or salad
and bread.

Which is right?

•
•

(Soup or Salad) and Bread
(Soup) or (Salad and Bread)

© Copyright Mountain Goat Software

®

25

Examples
The user can enter a
name. It can be 127
characters.

The system should
prominently display a warning
message whenever the user
enters invalid data.

®

• Must the user enter a
name?
• Can it be other than
127 chars?

• What does should

mean?
• What does prominently
display mean?
• Is invalid data defined
elsewhere?
© Copyright Mountain Goat Software

26
Additional reasons
Stories are understandable
Developers and customers understand them
People are better able to remember events if
they are organized into stories†

Support and encourage iterative
development
Can easily start with epics and disaggregate
closer to development time
†Bower,

Black, and Turner. 1979.
Scripts in Memory for Text.
© Copyright Mountain Goat Software

®

27

Yet more reasons
Stories are the right size for planning
Stories support opportunistic development
We design solutions by moving
opportunistically between top-down and
bottom-up approaches†

Stories support participatory design

†Guindon.

®

1990. Designing the Design Process.

© Copyright Mountain Goat Software

28
What if we had stories instead?

© Copyright Mountain Goat Software

®

29

Most importantly…
Don’t forget the purpose
The story text we write on
cards is less important
than the conversations we
have.

®

© Copyright Mountain Goat Software

30
Mike Cohn
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
twitter: mikewcohn
(720) 890-6110

®

© Copyright Mountain Goat Software

31

Weitere ähnliche Inhalte

Was ist angesagt?

Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product OwnerMike Cohn
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with ScrumMike Cohn
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentMike Cohn
 
Project Economics
Project EconomicsProject Economics
Project EconomicsMike Cohn
 
Agile and the Seven Sins of Project Management
Agile and the Seven Sins of Project ManagementAgile and the Seven Sins of Project Management
Agile and the Seven Sins of Project ManagementMike Cohn
 
Agile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsAgile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsPat Scherer
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter SaddingtonPeter Saddington
 
Agile Product Management
Agile Product ManagementAgile Product Management
Agile Product ManagementMike Cohn
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process John Derrico
 
Incorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeIncorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeMike Cohn
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
Agile estimation and planning peter saddington
Agile estimation and planning  peter saddingtonAgile estimation and planning  peter saddington
Agile estimation and planning peter saddingtonPeter Saddington
 
Agile2009 - How to sell a traditional client on an Agile project plan
Agile2009 - How to sell a traditional client on an Agile project planAgile2009 - How to sell a traditional client on an Agile project plan
Agile2009 - How to sell a traditional client on an Agile project planOpenSource Connections
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to AgileRichard Cheng
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The IterationRally Software
 

Was ist angesagt? (20)

Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product Owner
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game Development
 
Project Economics
Project EconomicsProject Economics
Project Economics
 
Agile and the Seven Sins of Project Management
Agile and the Seven Sins of Project ManagementAgile and the Seven Sins of Project Management
Agile and the Seven Sins of Project Management
 
Agile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsAgile Requirements Stories and Backlogs
Agile Requirements Stories and Backlogs
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter Saddington
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile Product Management
Agile Product ManagementAgile Product Management
Agile Product Management
 
User Stories
User StoriesUser Stories
User Stories
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process
 
Incorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeIncorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of Change
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Agile estimation and planning peter saddington
Agile estimation and planning  peter saddingtonAgile estimation and planning  peter saddington
Agile estimation and planning peter saddington
 
Sell scrum in 15 min
Sell scrum in 15 minSell scrum in 15 min
Sell scrum in 15 min
 
Agile2009 - How to sell a traditional client on an Agile project plan
Agile2009 - How to sell a traditional client on an Agile project planAgile2009 - How to sell a traditional client on an Agile project plan
Agile2009 - How to sell a traditional client on an Agile project plan
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The Iteration
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 

Andere mochten auch

User stories and decomposing requirements
User stories and decomposing requirementsUser stories and decomposing requirements
User stories and decomposing requirementsAndy Brandt
 
Voluntas conference mar11
Voluntas conference mar11Voluntas conference mar11
Voluntas conference mar11sheilaadamson
 
User Stories: Stories for Grown-Ups
User Stories: Stories for Grown-UpsUser Stories: Stories for Grown-Ups
User Stories: Stories for Grown-UpsSandy Mamoli
 
Project cartoon how projects really work
Project cartoon   how projects really workProject cartoon   how projects really work
Project cartoon how projects really workAsa Chan
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of StorytellingFadi Stephan
 
Introduction To User Stories For Agile Product Development
Introduction To User Stories For Agile Product DevelopmentIntroduction To User Stories For Agile Product Development
Introduction To User Stories For Agile Product Developmentzenpdm
 
Overcoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasOvercoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasMike Cohn
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentDevasis Roy
 
Scrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamScrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamMike Cohn
 
STC Toronto Agile Intro - How can this possibly work?
STC Toronto Agile Intro - How can this possibly work?STC Toronto Agile Intro - How can this possibly work?
STC Toronto Agile Intro - How can this possibly work?Michael Sahota
 
Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Mike Cohn
 
Introduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierIntroduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierJ.D. Meier
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamMike Cohn
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamMike Cohn
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 

Andere mochten auch (20)

User stories and decomposing requirements
User stories and decomposing requirementsUser stories and decomposing requirements
User stories and decomposing requirements
 
Voluntas conference mar11
Voluntas conference mar11Voluntas conference mar11
Voluntas conference mar11
 
User Stories: Stories for Grown-Ups
User Stories: Stories for Grown-UpsUser Stories: Stories for Grown-Ups
User Stories: Stories for Grown-Ups
 
Project cartoon how projects really work
Project cartoon   how projects really workProject cartoon   how projects really work
Project cartoon how projects really work
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of Storytelling
 
Introduction To User Stories For Agile Product Development
Introduction To User Stories For Agile Product DevelopmentIntroduction To User Stories For Agile Product Development
Introduction To User Stories For Agile Product Development
 
Overcoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasOvercoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & Agilephobias
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Scrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamScrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing Team
 
STC Toronto Agile Intro - How can this possibly work?
STC Toronto Agile Intro - How can this possibly work?STC Toronto Agile Intro - How can this possibly work?
STC Toronto Agile Intro - How can this possibly work?
 
Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014
 
Agile explained
Agile explainedAgile explained
Agile explained
 
Agile for Customer Delight
Agile for Customer DelightAgile for Customer Delight
Agile for Customer Delight
 
Online class intro to agile & scrum - final
Online class   intro to agile & scrum - finalOnline class   intro to agile & scrum - final
Online class intro to agile & scrum - final
 
Introduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierIntroduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. Meier
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed Team
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed Team
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
Introduction to Agile & Scrum
Introduction to Agile & ScrumIntroduction to Agile & Scrum
Introduction to Agile & Scrum
 

Ähnlich wie User Stories

Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User StoriesMike Cohn
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile RequirementsMike Cohn
 
Mobile Monetization
Mobile MonetizationMobile Monetization
Mobile Monetizationnpobbathi
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingThanh Nguyen
 
UX for Mobile in the Enterprise
UX for Mobile in the EnterpriseUX for Mobile in the Enterprise
UX for Mobile in the EnterpriseRoss Belmont
 
Using Analytics to Influence Change
Using Analytics to Influence ChangeUsing Analytics to Influence Change
Using Analytics to Influence ChangeChristopher Au
 
Final presentation
Final presentationFinal presentation
Final presentationBrandon Hill
 
Boston User Group IBM OS Mar 18 - Final Deck
Boston User Group IBM OS Mar 18 - Final DeckBoston User Group IBM OS Mar 18 - Final Deck
Boston User Group IBM OS Mar 18 - Final DeckLaura Roach
 
Know and Delight Your Users: UX Analytics
Know and Delight Your Users: UX AnalyticsKnow and Delight Your Users: UX Analytics
Know and Delight Your Users: UX AnalyticsCemal Buyukgokcesu
 
Sustainable growth tactics for subscription apps
Sustainable growth tactics for subscription appsSustainable growth tactics for subscription apps
Sustainable growth tactics for subscription appsEkaterina Shpadareva
 
The Nonprofit Guide to Google Analytics - Tapp Network.pdf
The Nonprofit Guide to Google Analytics - Tapp Network.pdfThe Nonprofit Guide to Google Analytics - Tapp Network.pdf
The Nonprofit Guide to Google Analytics - Tapp Network.pdfTechSoup
 
How to Buy HR Software
How to Buy HR SoftwareHow to Buy HR Software
How to Buy HR SoftwareTincup & Co.
 
Top 5 Do's and Don'ts for App Retargeting
Top 5 Do's and Don'ts for App RetargetingTop 5 Do's and Don'ts for App Retargeting
Top 5 Do's and Don'ts for App RetargetingAdjust
 
What Makes a Great Nonprofit Website? .pdf
What Makes a Great Nonprofit Website? .pdfWhat Makes a Great Nonprofit Website? .pdf
What Makes a Great Nonprofit Website? .pdfTechSoup
 
WW Tip Sheet- Industry Tips and Tricks from Concur
WW Tip Sheet- Industry Tips and Tricks from ConcurWW Tip Sheet- Industry Tips and Tricks from Concur
WW Tip Sheet- Industry Tips and Tricks from ConcurBrian Conner
 
UX Analytics Cemal Büyükgökçesu
UX Analytics Cemal BüyükgökçesuUX Analytics Cemal Büyükgökçesu
UX Analytics Cemal BüyükgökçesuUserspots
 

Ähnlich wie User Stories (20)

Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Mobile Monetization
Mobile MonetizationMobile Monetization
Mobile Monetization
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
 
UX for Mobile in the Enterprise
UX for Mobile in the EnterpriseUX for Mobile in the Enterprise
UX for Mobile in the Enterprise
 
Using Analytics to Influence Change
Using Analytics to Influence ChangeUsing Analytics to Influence Change
Using Analytics to Influence Change
 
Final presentation
Final presentationFinal presentation
Final presentation
 
Boston User Group IBM OS Mar 18 - Final Deck
Boston User Group IBM OS Mar 18 - Final DeckBoston User Group IBM OS Mar 18 - Final Deck
Boston User Group IBM OS Mar 18 - Final Deck
 
Know and Delight Your Users: UX Analytics
Know and Delight Your Users: UX AnalyticsKnow and Delight Your Users: UX Analytics
Know and Delight Your Users: UX Analytics
 
Sustainable growth tactics for subscription apps
Sustainable growth tactics for subscription appsSustainable growth tactics for subscription apps
Sustainable growth tactics for subscription apps
 
The Nonprofit Guide to Google Analytics - Tapp Network.pdf
The Nonprofit Guide to Google Analytics - Tapp Network.pdfThe Nonprofit Guide to Google Analytics - Tapp Network.pdf
The Nonprofit Guide to Google Analytics - Tapp Network.pdf
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
How to Buy HR Software
How to Buy HR SoftwareHow to Buy HR Software
How to Buy HR Software
 
Top 5 Do's and Don'ts for App Retargeting
Top 5 Do's and Don'ts for App RetargetingTop 5 Do's and Don'ts for App Retargeting
Top 5 Do's and Don'ts for App Retargeting
 
What Makes a Great Nonprofit Website? .pdf
What Makes a Great Nonprofit Website? .pdfWhat Makes a Great Nonprofit Website? .pdf
What Makes a Great Nonprofit Website? .pdf
 
WW Tip Sheet- Industry Tips and Tricks from Concur
WW Tip Sheet- Industry Tips and Tricks from ConcurWW Tip Sheet- Industry Tips and Tricks from Concur
WW Tip Sheet- Industry Tips and Tricks from Concur
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
UX Analytics Cemal Büyükgökçesu
UX Analytics Cemal BüyükgökçesuUX Analytics Cemal Büyükgökçesu
UX Analytics Cemal Büyükgökçesu
 

Mehr von Mike Cohn

Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Mike Cohn
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with SrumMike Cohn
 
Advanced Agile Planning
Advanced Agile PlanningAdvanced Agile Planning
Advanced Agile PlanningMike Cohn
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with SrumMike Cohn
 
ADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessMike Cohn
 
ADAPTing to Enterprise Agile
ADAPTing to Enterprise AgileADAPTing to Enterprise Agile
ADAPTing to Enterprise AgileMike Cohn
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentMike Cohn
 
Leading a Self-Organizing Team
 Leading a Self-Organizing Team Leading a Self-Organizing Team
Leading a Self-Organizing TeamMike Cohn
 

Mehr von Mike Cohn (9)

Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with Srum
 
Advanced Agile Planning
Advanced Agile PlanningAdvanced Agile Planning
Advanced Agile Planning
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with Srum
 
ADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued Success
 
ADAPTing to Enterprise Agile
ADAPTing to Enterprise AgileADAPTing to Enterprise Agile
ADAPTing to Enterprise Agile
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
Leading a Self-Organizing Team
 Leading a Self-Organizing Team Leading a Self-Organizing Team
Leading a Self-Organizing Team
 

Kürzlich hochgeladen

Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Seta Wicaksana
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxmbikashkanyari
 
Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Peter Ward
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
Guide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFGuide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFChandresh Chudasama
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCRashishs7044
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaoncallgirls2057
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
Financial-Statement-Analysis-of-Coca-cola-Company.pptx
Financial-Statement-Analysis-of-Coca-cola-Company.pptxFinancial-Statement-Analysis-of-Coca-cola-Company.pptx
Financial-Statement-Analysis-of-Coca-cola-Company.pptxsaniyaimamuddin
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCRashishs7044
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Americas Got Grants
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCRashishs7044
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCRashishs7044
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 

Kürzlich hochgeladen (20)

Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
 
Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...Fordham -How effective decision-making is within the IT department - Analysis...
Fordham -How effective decision-making is within the IT department - Analysis...
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
Guide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFGuide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDF
 
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
Financial-Statement-Analysis-of-Coca-cola-Company.pptx
Financial-Statement-Analysis-of-Coca-cola-Company.pptxFinancial-Statement-Analysis-of-Coca-cola-Company.pptx
Financial-Statement-Analysis-of-Coca-cola-Company.pptx
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 

User Stories

  • 1. User Stories Mike Cohn NDC London 6 December 2013 1 What problem do stories address? Software requirements is a communication problem Those who want the software must communicate with those who will build it ® © Copyright Mountain Goat Software 2
  • 2. Balance is critical If either side dominates, the business loses If the business side dominates… …functionality and dates are mandated with little regard for reality or whether the developers understand the requirements If the developers dominate… …technical jargon replaces the language of the business and developers lose the opportunity to learn from listening ® © Copyright Mountain Goat Software 3 © Copyright Mountain Goat Software 4 Resource allocation We need a way of working together so that resource allocation becomes a shared problem Project fails when the problem of resource allocation falls too far to one side ®
  • 3. Responsibility for resource allocation If developers are responsible… • May trade quality for additional features • May only partially implement a feature • May solely make decisions that should involve the business If the business is responsible… • Lengthy upfront requirements negotiation and signoff • Features are progressively dropped as the deadline nears © Copyright Mountain Goat Software ® 5 Imperfect schedules We cannot perfectly predict a software schedule As users see the software, they come up with new ideas Too many intangibles Developers have a notoriously hard time estimating If we can’t perfectly predict a schedule, we can’t perfectly say what will be delivered ® © Copyright Mountain Goat Software 6
  • 4. So what do we do? We make decisions based on the information we have Rather than making one …but do it often all-encompassing set of decisions This is where user stories come in …we spread decisionmaking across the project © Copyright Mountain Goat Software ® 7 © Copyright Mountain Goat Software 8 Agenda What stories are Writing user stories Why user stories ®
  • 5. Three Cs Card • Stories are traditionally Conversation • Details behind the story come written on note cards. • Cards may be annotated with estimates, notes, etc. out during conversations with product owner Confirmation • Acceptance tests confirm a story was coded correctly ® Source: XP Magazine 8/30/01, Ron Jeffries. © Copyright Mountain Goat Software 9 Samples from a travel website As a user, I want to reserve a hotel room. As a vacation traveler, I want to see photos of the hotels. As a user, I want to cancel a reservation. As a frequent flyer, I want to rebook a past trip so that I save time booking trips I take often. ® © Copyright Mountain Goat Software 10
  • 6. Where are the details? As a user, I can cancel a reservation. Does the user get a full or partial refund? Is the refund to her credit card or is it site credit? How far ahead must the reservation be cancelled? Is that the same for all hotels? For all site visitors? Can frequent travelers cancel later? Is a confirmation provided to the user? How? ® © Copyright Mountain Goat Software 11 Details as conditions of satisfaction As a user, I can cancel a reservation. product owner’s conditions of satisfaction can be added to a story • These are essentially tests • The ® Verify that a premium member can cancel the same day without a fee. Verify that a non-premium member is charged 10% for a same-day cancellation. Verify that an email confirmation is sent. Verify that the hotel is notified of any cancellation. © Copyright Mountain Goat Software 12
  • 7. Details added in smaller sub-stories As a premium site member, I can cancel a reservation up to the last minute. As a user, I can cancel a reservation. As a non-premium member, I can cancel up to 24 hours in advance. As a site visitor, I am emailed a confirmation of any cancelled reservation. ® © Copyright Mountain Goat Software 13 Techniques can be combined These approaches are not mutually exclusive Write stories at an appropriate level By the time it’s implemented, each story will have conditions of satisfaction associated with it ® © Copyright Mountain Goat Software 14
  • 8. The product backlog iceberg Priority ® © Copyright Mountain Goat Software 15 Some additional useful terms Theme A collection of related user stories Epic A large user story ® © Copyright Mountain Goat Software 16
  • 9. An example As a VP Marketing, I want to review the performance of historical promotional campaigns so that I can identify and repeat profitable ones. ly ar Cle ® pic ne a As a VP Marketing, I want to select the timeframe to use when reviewing the performance of past promotional campaigns, so that … Epics??? As a VP Marketing, I can select which type of campaigns (direct mail, TV, email, radio, etc.) to include when reviewing the performance of past … © Copyright Mountain Goat Software 17 As a VP Marketing, I want to see information on direct mailings when reviewing historical campaigns. As a VP Marketing, I want to see information on TV ads when reviewing historical campaigns. As a VP Marketing, I want to see information on email ads when reviewing historical campaigns. ® © Copyright Mountain Goat Software 18
  • 10. Agenda What stories are Writing user stories Why user stories ® © Copyright Mountain Goat Software 19 Logging in • See how many user stories you can write about logging in. • Examples: • As a registered user, I am required to log in so that I can access the system. • As a forgetful user, I can request a password reminder so that I can log in if I forget mine. “As a <user role>, I <want/need/can/ etc> <goal> so that <reason>.” ® © Copyright Mountain Goat Software 20
  • 11. Story-writing workshops Includes whole team plus possibly some external stakeholders Typically not done every sprint Brainstorm to generate stories Goal is to write as many stories as possible Some will be “implementation ready” Others will be epics No prioritization at this point © Copyright Mountain Goat Software ® 21 Start with epics and iterate As a frequent flyer, I want to see check my account. Frequent Flyer As a frequent flyer, I want to book a trip. As a frequent flyer, I want to… ® As a frequent flyer, I want to book a trip using miles. As a frequent flyer, I want to rebook a trip I take often. As a frequent flyer, I want to request an upgrade. As a frequent flyer, I want to see if my upgrade cleared. © Copyright Mountain Goat Software 22
  • 12. Agenda What stories are Writing user stories Why user stories © Copyright Mountain Goat Software ® 23 So why user stories? Shift focus from writing to talking If requirements are written down “You built what I asked for, but it’s not what I need.” ® then The user will get what she wants At best she’ll get what was written © Copyright Mountain Goat Software 24
  • 13. Words are imprecise Entrée comes with soup or salad and bread. Which is right? • • (Soup or Salad) and Bread (Soup) or (Salad and Bread) © Copyright Mountain Goat Software ® 25 Examples The user can enter a name. It can be 127 characters. The system should prominently display a warning message whenever the user enters invalid data. ® • Must the user enter a name? • Can it be other than 127 chars? • What does should mean? • What does prominently display mean? • Is invalid data defined elsewhere? © Copyright Mountain Goat Software 26
  • 14. Additional reasons Stories are understandable Developers and customers understand them People are better able to remember events if they are organized into stories† Support and encourage iterative development Can easily start with epics and disaggregate closer to development time †Bower, Black, and Turner. 1979. Scripts in Memory for Text. © Copyright Mountain Goat Software ® 27 Yet more reasons Stories are the right size for planning Stories support opportunistic development We design solutions by moving opportunistically between top-down and bottom-up approaches† Stories support participatory design †Guindon. ® 1990. Designing the Design Process. © Copyright Mountain Goat Software 28
  • 15. What if we had stories instead? © Copyright Mountain Goat Software ® 29 Most importantly… Don’t forget the purpose The story text we write on cards is less important than the conversations we have. ® © Copyright Mountain Goat Software 30