SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
How do you get
more out of
your user stories?
Let’s first
refresh our basics

© 2013
Key Agile
principles

!  

Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.

!  

We welcome changing requirements, even late in development.

!  

Business and IT teams must work together.

http://www.agilemanifesto.org/principles.html

© 2013
What is a
user story?

= Card + Conversation + Confirmation

© 2013
Card
What is a
user story?

#32
As a use
r
I want t
o do som
ething
so that s
ome bene
fit is
received

!   Physical token
!   Used in planning
!   Reminder for a conversation
!   Often annotated

© 2013
Conversation
What is a
user story?
!   Requirement itself
!   Verbal conversation / workshops
!   Supplemented with documents / wireframes / mocks

© 2013
Confirmation
What is a
user story?

#32
Given <
precondi
tions>
When <t
rigger>
Then <e
xpected
outcomes
>

!   Acceptance criteria
!   Used to determine when the story is done

© 2013
Now, let’s see what makes a
good user story?

© 2013
What makes a
good user story?

The INVEST guideline for writing a good story
Independent
Negotiable
Valuable
Estimable
Small
Testable
http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

© 2013
What makes a
good user story?

Pay by Visa
Pay by MasterCard

Independent
Negotiable

Pay by AmEx

Pay by Credit Card

Valuable
Estimable
Small

þ Do not overlap your stories in concept.
þ When sequencing the stories, try to find their natural order.

Testable
The order of stories should not restrict your customer’s ability to reprioritize or move stories out of scope.

© 2013
What makes a
good user story?
Independent
Negotiable
Valuable

As a purchaser, I want th
e receipt to display the da
te
of my purchase in ISO 86
01 format Comic Sans 12
pt
font with 9pt leading, so
that I can maintain my
records.

hen I
to indicate w
e receipt
tain my
aser, I want th
at I can main
As a purch
ase, so th
ted the purch
comple
records.

Estimable

þ Stories are negotiable...and negotiated.
þ Remember, your story is the essence of the requirement and not an explicit

Small

þ Sign off stories with working software.

contract.

Testable
Avoid signing off written stories before they are played, as it creates
contractual documents that shift the focus to documentation.
© 2013
What makes a
good user story?
Independent
Negotiable
Valuable
Estimable
Small
Testable

As a developer/DBA
, I want a new table
in the
Orders DB to capture
shipping informatio
n, so
that ???

eferred
cify my pr
e to spe
ther
t to be abl
address o
wan
m er , I
ip to an
As a custo
at I can sh
ls, so th
ping detai
ship
dress
y billing ad
than m

þ Your stories need to be valuable to and understandable by your customer.
þ They need to be framed from your customer’s perspective.

If it is difficult to write the "so that....” part easilyyou might want to consider the
story’s value and purpose.
Avoid layer-based development. Instead choose vertical slices of functionality.
Technical debt are not user stories.
© 2013
What makes a
good user story?
Independent
Negotiable

As a good world citize
n, I want world peace
,
so that we can all live
in harmony.

aypa
o pay by P
able t
want to be
goer, I
card.
s a movie
my credit
A
to use
don’t have
that I

l, so

Valuable

þ Your stories should have boundaries so you know when you are “done” and

Estimable

þ Your stories should be digestible by the team so they can estimate them.
þ Keep your stories understandable and of consistent granularity.
þ “Spike” stories that your team has difficulty understanding.

Small

what is required to be “done”.

Testable
Avoid “catch-all” stories with uncertain estimates.
Don’t get bogged with precision and detail.

© 2013
What makes a
good user story?
Independent
Negotiable
Valuable
Estimable
Small

As a movie goer, I wa
nt to be able to find
and
purchase movie tick
ets online, so that I h
ave
something to do ton
ight.

le,
ovie by tit
nd a m
e able to fi a movie I am
ant to b
tails of
e goer, I w
s a movi
ate the de
A
ckly loc
t I can qui
s o t ha
in.
interested

þ Keep your stories small enough to be measured and tracked.
þ Keep your story descriptions short and concise.

Testable
Stories should be measured in days not weeks.

© 2013
What makes a
good user story?

Improve readability
lete term
placed with comp
All acronyms re

Independent
Negotiable

inology

A user must never have to wait long for a screen to appear
New screens appear within 2 seconds 95% of time

Valuable
Estimable
Small

þ To know when your story is done, it needs to be testable.
þ Define acceptance criteria that are clear and precise so you know when you are
done and have delivered value.

Testable
First define your tests and then develop.

© 2013
How do you
size your stories?

© 2013
How do you
size your stories?
Advantages of larger stories

Larger
Vs.
Smaller

No ‘challenge’ of splitting
Perceived ‘efficiencies’
Clearer business value
Easier to prioritize

Advantages of smaller stories
Accurate estimates

Finding t
he
right sto
ry size
can be h
ard

Planning flexibility
Measure of progress
Understanding of scope

© 2013
How do you
size your stories?

§ 
§ 
§ 
§ 

Agree on target story size with the development team.
The exercise is a joint effort with the customer and the development team.
Don’t break down stories too soon - progressively elaborate.
Use story complexity, operational (eg. CRUD) and data boundaries as guides.

Breaking down
stories

© 2013
How do you know when
your story is done?

© 2013
How do you know
when your story
is done?
Tips for writing
acceptance criteria

Given <
some in
itial con
text>
when <a
n event
occurs>
then <en
s
ure som

e outcom

es>

þ Define “complete” with the customer
þ Write acceptance criteria collaboratively with the customer
þ All the criteria must be met before the story is “complete”
þ Consider using a template
þ Include all Risks, Assumptions, Issues and Dependencies (RAID)
© 2013
How do you know
when your story
is done?

Smart

Be smart with

Measurable Possible to observe and quantify

acceptance criteria

Achievable

Capable of existing or taking place

Relevant

Having a connection

Timely

When will the outcome be observed?

Explicitly defined and definite

© 2013
Lifecycle of a story

© 2013
Lifecycle of a story

“

The fundamental idea is that you do just barely enough
modelling at the beginning of the project to understand the
requirements for your system at a high level, then you gather
the details as you need to…just-in-time.

*

*

*

-- Scott W. Ambler

Why “just-‐in-‐time”?
§ 
§ 
§ 
§ 

Reduces potential waste.
Provides flexibility to change, prioritize.
Enables learning from delivery.
Tighter feedback loop between business and the delivery team.
© 2013

”
Lifecycle of a story
#1. Start at the
Product Level

!   Develop an understanding of the breadth
§  Objectives/vision statements
§  Elevator pitch
§  Product box
§  User roles & goals
§  Context diagrams
§  High-level domain model
§  Feature lists
§  Paper prototypes
§  …

Product Families
Themes
Feature Sets
Features / Epics
Stories

© 2013
Lifecycle of a story
#1. Start at the
Product Level
#2. Examine the
Release Level

!   Take a closer look at a subset of features:
§  Data models
§  Business needs
§  Architectural dependencies
§  Quality attributes (Non-Functional
Requirements)

§  Personas/actors
§  Define epics
§  More paper prototyping
§  …

Product Families
Themes
Feature Sets
Features / Epics
Stories

© 2013
Lifecycle of a story
#1. Start at the
Product Level
#2. Examine the
Release Level
#3. Deep-dive into the
Iteration Level

!   Go deep, but focusing just on one thin slice
§  User stories
§  Narratives
§  Acceptance criteria and tests
§  Working software
§  Involve Subject Matter Experts
and Stakeholders

§  User and exploratory testing
§  …

Product Families
Themes
Feature Sets
Features / Epics
Stories

© 2013
Non-functional
requirements

© 2013
Non-functional
requirements as…
Acceptance Criteria

As a customer, I want to be able to pay by
PayPal, so that I can complete my
purchase.

[Acceptance Criteria]
- payment confirmed within 5 seconds
- handle 100 concurrent payments
- encrypted redirect to PayPal
…

http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories

© 2013
Non-functional
requirements as…
Acceptance Criteria

As a developer, I want all connections to
the database to be made through a
connection pool, so that ???

Separate User Stories
As a CTO, I want up to 50 users to be
able to use the application with a fiveuser database license, so that I can
minimize ongoing license costs.

http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories

© 2013
Non-functional
requirements as…
Acceptance Criteria

[CONSTRAINT]

Separate User Stories

As the CTO, I want the system to use our existing

Constraint Cards

orders database rather than create a new one,
so that we don’t have one more database to
maintain.

http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories

© 2013
Story Anti-patterns

© 2013
Story Anti-patterns

§  Is there any reference to business value?
§  Is your story too detailed. Is it “replacing” the conversation?

Look out for these
smells...

§  Do you have trouble prioritizing it?
§  Is it too small or too big to estimate?
§  Does it have implementation details and technical language?
§  Are you thinking *too* far ahead?
§  Is the product owner unable to explain the card to you?
§  Are you splitting it by process lines (analysis/code/test)?
§  Gold-plating?
© 2013
Back to our basics

© 2013
Key Agile
principles

!  

Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.

!  

We welcome changing requirements, even late in development.

!  

Business and IT teams must work together.

© 2013
§ 

Cohn, Mike

§ 
§ 

References

(2004) "User Stories Applied”, Addison Wesley, ISBN 0-321-20568Non-functional requirements
http://www.mountaingoatsoftware.com/blog/non-functionalrequirements-as-user-stories

§ 

Sutherland, J (2007) User Stories Done Right
http://www.gbcacm.org/sites/www.gbcacm.org/files/slides/4A%20-%20User
%20Stories%20Done%20Right.pdf

§ 

Wake, B (2003) INVEST acronym
http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

§ 

Meyer, Paul J (2003) SMART acronym
"What would you do if you knew you couldn’t fail? Creating S.M.A.R.T. Goals".
Attitude Is Everything: If You Want to Succeed Above and Beyond. Meyer Resource
Group, Incorporated, The. ISBN 978-0-89811-304-4.

§ 

Jeffries, Ron (2001) Card, Conversation, Confirmation
http://xprogramming.com/articles/expcardconversationconfirmation/

§ 

Lawrence, R (2009) Patterns for Splitting User Stories
http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/

© 2013
How do you get the most out of
your user stories?

© 2013
Agile Project Management
Make decisions, not documentation
The best Agile requirements are the ones the
team builds as they work. Mingle generates
actionable project records from natural team
collaboration.

Learn More

See how Mingle can help you make the most
out of your user stories

Weitere ähnliche Inhalte

Was ist angesagt?

User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements managementChristian Hassa
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)Matthew Philip
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniquesAshutosh Rai
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 

Was ist angesagt? (20)

User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements management
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Story Maps in practice
Story Maps in practiceStory Maps in practice
Story Maps in practice
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
Story of user story
Story of user storyStory of user story
Story of user story
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniques
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 

Ähnlich wie How do you get more out of your User Stories?

Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Lviv Startup Club
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousAgile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousExcella
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileSalesforce Admins
 
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Technology Expresso Expresso-Consulting
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAraf Karsh Hamid
 
BA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User StoriesSunil-QA
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User StoriesSunil-QA
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User StoriesSunil-QA
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 

Ähnlich wie How do you get more out of your User Stories? (20)

Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User Story
User StoryUser Story
User Story
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousAgile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using Agile
 
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
 
Building Blocks for Lean Agile Requirements (c) technology expresso v12 9 m...
Building Blocks for Lean Agile Requirements (c) technology expresso v12   9 m...Building Blocks for Lean Agile Requirements (c) technology expresso v12   9 m...
Building Blocks for Lean Agile Requirements (c) technology expresso v12 9 m...
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven Design
 
BA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshop
 
LEYTON_AgileBusinessAnalystSample
LEYTON_AgileBusinessAnalystSampleLEYTON_AgileBusinessAnalystSample
LEYTON_AgileBusinessAnalystSample
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User Stories
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User Stories
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
User stories explained
User stories explainedUser stories explained
User stories explained
 
Epic in Agile
Epic in Agile Epic in Agile
Epic in Agile
 

Mehr von Thoughtworks

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a ProductThoughtworks
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & DogsThoughtworks
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovationThoughtworks
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teamsThoughtworks
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of InnovationThoughtworks
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer ExperienceThoughtworks
 
When we design together
When we design togetherWhen we design together
When we design togetherThoughtworks
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)Thoughtworks
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloudThoughtworks
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of InnovationThoughtworks
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go liveThoughtworks
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the RubiconThoughtworks
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!Thoughtworks
 
Docker container security
Docker container securityDocker container security
Docker container securityThoughtworks
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unitThoughtworks
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to TuringThoughtworks
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked outThoughtworks
 

Mehr von Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Kürzlich hochgeladen

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Kürzlich hochgeladen (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

How do you get more out of your User Stories?

  • 1. How do you get more out of your user stories?
  • 2. Let’s first refresh our basics © 2013
  • 3. Key Agile principles !   Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. !   We welcome changing requirements, even late in development. !   Business and IT teams must work together. http://www.agilemanifesto.org/principles.html © 2013
  • 4. What is a user story? = Card + Conversation + Confirmation © 2013
  • 5. Card What is a user story? #32 As a use r I want t o do som ething so that s ome bene fit is received !   Physical token !   Used in planning !   Reminder for a conversation !   Often annotated © 2013
  • 6. Conversation What is a user story? !   Requirement itself !   Verbal conversation / workshops !   Supplemented with documents / wireframes / mocks © 2013
  • 7. Confirmation What is a user story? #32 Given < precondi tions> When <t rigger> Then <e xpected outcomes > !   Acceptance criteria !   Used to determine when the story is done © 2013
  • 8. Now, let’s see what makes a good user story? © 2013
  • 9. What makes a good user story? The INVEST guideline for writing a good story Independent Negotiable Valuable Estimable Small Testable http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ © 2013
  • 10. What makes a good user story? Pay by Visa Pay by MasterCard Independent Negotiable Pay by AmEx Pay by Credit Card Valuable Estimable Small þ Do not overlap your stories in concept. þ When sequencing the stories, try to find their natural order. Testable The order of stories should not restrict your customer’s ability to reprioritize or move stories out of scope. © 2013
  • 11. What makes a good user story? Independent Negotiable Valuable As a purchaser, I want th e receipt to display the da te of my purchase in ISO 86 01 format Comic Sans 12 pt font with 9pt leading, so that I can maintain my records. hen I to indicate w e receipt tain my aser, I want th at I can main As a purch ase, so th ted the purch comple records. Estimable þ Stories are negotiable...and negotiated. þ Remember, your story is the essence of the requirement and not an explicit Small þ Sign off stories with working software. contract. Testable Avoid signing off written stories before they are played, as it creates contractual documents that shift the focus to documentation. © 2013
  • 12. What makes a good user story? Independent Negotiable Valuable Estimable Small Testable As a developer/DBA , I want a new table in the Orders DB to capture shipping informatio n, so that ??? eferred cify my pr e to spe ther t to be abl address o wan m er , I ip to an As a custo at I can sh ls, so th ping detai ship dress y billing ad than m þ Your stories need to be valuable to and understandable by your customer. þ They need to be framed from your customer’s perspective. If it is difficult to write the "so that....” part easilyyou might want to consider the story’s value and purpose. Avoid layer-based development. Instead choose vertical slices of functionality. Technical debt are not user stories. © 2013
  • 13. What makes a good user story? Independent Negotiable As a good world citize n, I want world peace , so that we can all live in harmony. aypa o pay by P able t want to be goer, I card. s a movie my credit A to use don’t have that I l, so Valuable þ Your stories should have boundaries so you know when you are “done” and Estimable þ Your stories should be digestible by the team so they can estimate them. þ Keep your stories understandable and of consistent granularity. þ “Spike” stories that your team has difficulty understanding. Small what is required to be “done”. Testable Avoid “catch-all” stories with uncertain estimates. Don’t get bogged with precision and detail. © 2013
  • 14. What makes a good user story? Independent Negotiable Valuable Estimable Small As a movie goer, I wa nt to be able to find and purchase movie tick ets online, so that I h ave something to do ton ight. le, ovie by tit nd a m e able to fi a movie I am ant to b tails of e goer, I w s a movi ate the de A ckly loc t I can qui s o t ha in. interested þ Keep your stories small enough to be measured and tracked. þ Keep your story descriptions short and concise. Testable Stories should be measured in days not weeks. © 2013
  • 15. What makes a good user story? Improve readability lete term placed with comp All acronyms re Independent Negotiable inology A user must never have to wait long for a screen to appear New screens appear within 2 seconds 95% of time Valuable Estimable Small þ To know when your story is done, it needs to be testable. þ Define acceptance criteria that are clear and precise so you know when you are done and have delivered value. Testable First define your tests and then develop. © 2013
  • 16. How do you size your stories? © 2013
  • 17. How do you size your stories? Advantages of larger stories Larger Vs. Smaller No ‘challenge’ of splitting Perceived ‘efficiencies’ Clearer business value Easier to prioritize Advantages of smaller stories Accurate estimates Finding t he right sto ry size can be h ard Planning flexibility Measure of progress Understanding of scope © 2013
  • 18. How do you size your stories? §  §  §  §  Agree on target story size with the development team. The exercise is a joint effort with the customer and the development team. Don’t break down stories too soon - progressively elaborate. Use story complexity, operational (eg. CRUD) and data boundaries as guides. Breaking down stories © 2013
  • 19. How do you know when your story is done? © 2013
  • 20. How do you know when your story is done? Tips for writing acceptance criteria Given < some in itial con text> when <a n event occurs> then <en s ure som e outcom es> þ Define “complete” with the customer þ Write acceptance criteria collaboratively with the customer þ All the criteria must be met before the story is “complete” þ Consider using a template þ Include all Risks, Assumptions, Issues and Dependencies (RAID) © 2013
  • 21. How do you know when your story is done? Smart Be smart with Measurable Possible to observe and quantify acceptance criteria Achievable Capable of existing or taking place Relevant Having a connection Timely When will the outcome be observed? Explicitly defined and definite © 2013
  • 22. Lifecycle of a story © 2013
  • 23. Lifecycle of a story “ The fundamental idea is that you do just barely enough modelling at the beginning of the project to understand the requirements for your system at a high level, then you gather the details as you need to…just-in-time. * * * -- Scott W. Ambler Why “just-‐in-‐time”? §  §  §  §  Reduces potential waste. Provides flexibility to change, prioritize. Enables learning from delivery. Tighter feedback loop between business and the delivery team. © 2013 ”
  • 24. Lifecycle of a story #1. Start at the Product Level !   Develop an understanding of the breadth §  Objectives/vision statements §  Elevator pitch §  Product box §  User roles & goals §  Context diagrams §  High-level domain model §  Feature lists §  Paper prototypes §  … Product Families Themes Feature Sets Features / Epics Stories © 2013
  • 25. Lifecycle of a story #1. Start at the Product Level #2. Examine the Release Level !   Take a closer look at a subset of features: §  Data models §  Business needs §  Architectural dependencies §  Quality attributes (Non-Functional Requirements) §  Personas/actors §  Define epics §  More paper prototyping §  … Product Families Themes Feature Sets Features / Epics Stories © 2013
  • 26. Lifecycle of a story #1. Start at the Product Level #2. Examine the Release Level #3. Deep-dive into the Iteration Level !   Go deep, but focusing just on one thin slice §  User stories §  Narratives §  Acceptance criteria and tests §  Working software §  Involve Subject Matter Experts and Stakeholders §  User and exploratory testing §  … Product Families Themes Feature Sets Features / Epics Stories © 2013
  • 28. Non-functional requirements as… Acceptance Criteria As a customer, I want to be able to pay by PayPal, so that I can complete my purchase. [Acceptance Criteria] - payment confirmed within 5 seconds - handle 100 concurrent payments - encrypted redirect to PayPal … http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories © 2013
  • 29. Non-functional requirements as… Acceptance Criteria As a developer, I want all connections to the database to be made through a connection pool, so that ??? Separate User Stories As a CTO, I want up to 50 users to be able to use the application with a fiveuser database license, so that I can minimize ongoing license costs. http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories © 2013
  • 30. Non-functional requirements as… Acceptance Criteria [CONSTRAINT] Separate User Stories As the CTO, I want the system to use our existing Constraint Cards orders database rather than create a new one, so that we don’t have one more database to maintain. http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories © 2013
  • 32. Story Anti-patterns §  Is there any reference to business value? §  Is your story too detailed. Is it “replacing” the conversation? Look out for these smells... §  Do you have trouble prioritizing it? §  Is it too small or too big to estimate? §  Does it have implementation details and technical language? §  Are you thinking *too* far ahead? §  Is the product owner unable to explain the card to you? §  Are you splitting it by process lines (analysis/code/test)? §  Gold-plating? © 2013
  • 33. Back to our basics © 2013
  • 34. Key Agile principles !   Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. !   We welcome changing requirements, even late in development. !   Business and IT teams must work together. © 2013
  • 35. §  Cohn, Mike §  §  References (2004) "User Stories Applied”, Addison Wesley, ISBN 0-321-20568Non-functional requirements http://www.mountaingoatsoftware.com/blog/non-functionalrequirements-as-user-stories §  Sutherland, J (2007) User Stories Done Right http://www.gbcacm.org/sites/www.gbcacm.org/files/slides/4A%20-%20User %20Stories%20Done%20Right.pdf §  Wake, B (2003) INVEST acronym http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ §  Meyer, Paul J (2003) SMART acronym "What would you do if you knew you couldn’t fail? Creating S.M.A.R.T. Goals". Attitude Is Everything: If You Want to Succeed Above and Beyond. Meyer Resource Group, Incorporated, The. ISBN 978-0-89811-304-4. §  Jeffries, Ron (2001) Card, Conversation, Confirmation http://xprogramming.com/articles/expcardconversationconfirmation/ §  Lawrence, R (2009) Patterns for Splitting User Stories http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/ © 2013
  • 36. How do you get the most out of your user stories? © 2013
  • 37. Agile Project Management Make decisions, not documentation The best Agile requirements are the ones the team builds as they work. Mingle generates actionable project records from natural team collaboration. Learn More See how Mingle can help you make the most out of your user stories