SlideShare ist ein Scribd-Unternehmen logo
1 von 17
USER STORIES
What are they?
Who are they for?
What benefit do they bring?
What are the best practices?
User Story origin

From XP's use cases to the 3Cs
− Card: token representing requirements
− Conversation: grooming/pre-planning/prioritisation
− Confirmation: define how we know it's done

user stories are an artefact of team negotiation
on scope commitment, a medium to add
certainty to what the team is building, obtain
early feedback ('fail' and learn early) and
improve as part of incremental software
delivery
Story journey from Design Thinking
to Scrum
Story mapping via user activities
Build/measure/improve minimum
viable product
http://www.slideshare.net/chassa/2013-0603specification-byexamplewithgherkinchristianhassa
Characteristics of a good story

I Independent The user story should be self-contained, in a
way that there is no inherent dependency on another user story.

N Negotiable User stories, up until they are part of an iteration,
can always be changed and rewritten.

V Valuable A user story must deliver value to the end user.

E Estimatable You must always be able to estimate the size of a
user story.

S Scalable (small sized) User stories should not be so big
as to become impossible to plan/task/prioritize with a certain level of
certainty.

T Testable The user story or its related description must provide the
necessary information to make test development possible.
Story formatting: best practices
1. As a… I want… so that…: role, feature and
business case (V in INVEST)
2. Assumptions: are captured to avoid
misunderstandings: system availability,
excluded story scope, dependencies… (S & I
in INVEST)
3. Scenarios + given/when/then: T in INVEST.
Acceptance Criteria are a set of statements,
each with a clear pass/fail result, that specify
both functional (e.g., minimal marketable
functionality) and non-functional (e.g., minimal
quality) requirements.
1.a. Defining the role: “As a....”

This is the WHO? Something or someone that
sends a stimulus into the system boundary

Keeping the story valuable and user centric

Use role and personae to help define most
adequate features

As a... designer/dev? Effort vs. value (Customers
only value tasks instrumentally, as required steps on the way to getting
what they really want)

Developer? Technical stories should only be used when the
product is constrained to a single subsystem or component & there is no
obvious external user/device/system

Read more:
https://www.scrumalliance.org/community/articles/2011/august/5-common-mistakes-we-make-writing-user-stories
What is a valid role?
• Real stories go from outside the system
boundary to inside the system, or vice versa.
• If we see a story focused only on things happening inside the system, it's a
sign that this is an implementation detail, not something the user regards
as a system behavior.
http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/
Can spikes be user stories?

Definitions

“A Spike is a technical [or functional] investigation to produce an answer in
regards to some acceptance criteria on a story prioritized in upcoming
Sprints” http://agileatlas.org/articles/item/spikes-in-scrum-the-exception-not-the-rule

“"a story that cannot be estimated until a team runs a timeboxed
investigation. The output of a spike story is an estimate for the original
story.” http://underlap.blogspot.co.uk/2013/02/why-i-hate-spikes.html

Characteristics
Does not fit INVEST or ‘user’ in ‘user story https/
://davenicolette.wordpress.com/2014/09/25/is-a-spike-a-type-of-story

Team collaboration should happen *within* the user story container (as tasks)
and spikes are exceptions to the rule because of the size/dependency of the
task.

Spikes tend to be ‘specialist’ owned whereas Stories are cross-functional

Prototypes, Proof of Concepts (PoC), and Wireframes all fall into the
classification of Spikes
Can spikes be user stories?(continued)

Estimates

Like tasks, spikes should be estimated in time & further framed with a timebox.
XP has used the ‘Gold star card’ concept to ensure management of spikes

Team velocity is a metrics used to calculate value rather than effort
http://guide.agilealliance.org/guide/velocity.html

Velocity is used as a predictive measurement and analytics tool shared with
stakeholders, so they know when they are likely to receive working software. If
effort is written into it, the metric loses reliability.
http://johnharo.net/agile-should-you-estimate-spikes-with-story-p
1.b. Defining the feature “I want...”

Define the feature/series of events. How the
role triggers the stimulus; usually verb+object

Englobes the set of criterion (WHAT vs.
HOW)

Is unique to both the 'role' and the 'benefit'

Example: “I want to collect books in my
shopping basket”
1.c. Defining the benefit “so that...”

This is the WHY?

Helps the PO prioritise. This section is sometimes fleshed
out to include the business case, or recap on pain points/opportunities
identified in Design Thinking

Helps guarantee value specific to the 'role'

Example: “so that I can purchase multiple
books at once”
2. Acceptance criteria in practice:
specification by example

Define a scenario: acceptance criterion
headline

Use the Triple A of Given/When/Then
− Given=Arrange: Context, initial state of the system
− When=Act: Execution of the feature/event
− Then=Assert: Assertion of observable behaviour

Example:
scenario: Books can be added to the shopping basket
Given my shopping basket is empty
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 1 copy of “Harry Potter”
Advantages of specification by
example

Scenario gives quick ‘in’ into the aim(s) of the
feature

Going through given/when/then helps drive
reflection, detection of borderline cases,
negative testing, which will uncover more work
(ex: content/UX/design on error messages)

Language is simple and can be used by both
business and systems (Cucumber/Java style of
Behaviour Driven Development)
Specification by example extended
to deployment automation (CI)
Specifications used to detect code
regression across full project
(not just latest feature)

Weitere ähnliche Inhalte

Was ist angesagt?

Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
Dimitri Ponomareff
 

Was ist angesagt? (20)

Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Fundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part IFundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part I
 
Elephant Carpaccio workshop
Elephant Carpaccio workshopElephant Carpaccio workshop
Elephant Carpaccio workshop
 
User Story
User StoryUser Story
User Story
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
 
User Story vs. UseCase : Introductory Primer
User Story vs. UseCase : Introductory PrimerUser Story vs. UseCase : Introductory Primer
User Story vs. UseCase : Introductory Primer
 
Keep CALMS and DevSecOps
Keep CALMS and DevSecOps Keep CALMS and DevSecOps
Keep CALMS and DevSecOps
 
Quebrando Histórias de Usuário
Quebrando Histórias de UsuárioQuebrando Histórias de Usuário
Quebrando Histórias de Usuário
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Comic Agile Volume One_ When ag - Luxshan Ratnaravi.pdf
Comic Agile Volume One_ When ag - Luxshan Ratnaravi.pdfComic Agile Volume One_ When ag - Luxshan Ratnaravi.pdf
Comic Agile Volume One_ When ag - Luxshan Ratnaravi.pdf
 
Scrum refinement
Scrum refinementScrum refinement
Scrum refinement
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
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
 

Ähnlich wie A business case for User Stories

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 A business case for User Stories (20)

User stories explained
User stories explainedUser stories explained
User stories explained
 
Developing User stories - Beyond the Basics
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the Basics
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
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
User StoriesUser Stories
User Stories
 
User Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdfUser Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdf
 
Scrum it up!
Scrum it up!Scrum it up!
Scrum it up!
 
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
 
Art of Writing in Agile : STC Summit 2017
Art of Writing in Agile : STC Summit 2017Art of Writing in Agile : STC Summit 2017
Art of Writing in Agile : STC Summit 2017
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 
User-Story-Primer.pdf
User-Story-Primer.pdfUser-Story-Primer.pdf
User-Story-Primer.pdf
 
All about User story
All about User storyAll about User story
All about User story
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
solen user stories
solen user storiessolen user stories
solen user stories
 
Scrum in One Day
Scrum in One DayScrum in One Day
Scrum in One Day
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdf
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

A business case for User Stories

  • 1. USER STORIES What are they? Who are they for? What benefit do they bring? What are the best practices?
  • 2. User Story origin  From XP's use cases to the 3Cs − Card: token representing requirements − Conversation: grooming/pre-planning/prioritisation − Confirmation: define how we know it's done  user stories are an artefact of team negotiation on scope commitment, a medium to add certainty to what the team is building, obtain early feedback ('fail' and learn early) and improve as part of incremental software delivery
  • 3. Story journey from Design Thinking to Scrum
  • 4. Story mapping via user activities
  • 6. Characteristics of a good story  I Independent The user story should be self-contained, in a way that there is no inherent dependency on another user story.  N Negotiable User stories, up until they are part of an iteration, can always be changed and rewritten.  V Valuable A user story must deliver value to the end user.  E Estimatable You must always be able to estimate the size of a user story.  S Scalable (small sized) User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.  T Testable The user story or its related description must provide the necessary information to make test development possible.
  • 7. Story formatting: best practices 1. As a… I want… so that…: role, feature and business case (V in INVEST) 2. Assumptions: are captured to avoid misunderstandings: system availability, excluded story scope, dependencies… (S & I in INVEST) 3. Scenarios + given/when/then: T in INVEST. Acceptance Criteria are a set of statements, each with a clear pass/fail result, that specify both functional (e.g., minimal marketable functionality) and non-functional (e.g., minimal quality) requirements.
  • 8. 1.a. Defining the role: “As a....”  This is the WHO? Something or someone that sends a stimulus into the system boundary  Keeping the story valuable and user centric  Use role and personae to help define most adequate features  As a... designer/dev? Effort vs. value (Customers only value tasks instrumentally, as required steps on the way to getting what they really want)  Developer? Technical stories should only be used when the product is constrained to a single subsystem or component & there is no obvious external user/device/system  Read more: https://www.scrumalliance.org/community/articles/2011/august/5-common-mistakes-we-make-writing-user-stories
  • 9. What is a valid role? • Real stories go from outside the system boundary to inside the system, or vice versa. • If we see a story focused only on things happening inside the system, it's a sign that this is an implementation detail, not something the user regards as a system behavior. http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/
  • 10. Can spikes be user stories?  Definitions  “A Spike is a technical [or functional] investigation to produce an answer in regards to some acceptance criteria on a story prioritized in upcoming Sprints” http://agileatlas.org/articles/item/spikes-in-scrum-the-exception-not-the-rule  “"a story that cannot be estimated until a team runs a timeboxed investigation. The output of a spike story is an estimate for the original story.” http://underlap.blogspot.co.uk/2013/02/why-i-hate-spikes.html  Characteristics Does not fit INVEST or ‘user’ in ‘user story https/ ://davenicolette.wordpress.com/2014/09/25/is-a-spike-a-type-of-story  Team collaboration should happen *within* the user story container (as tasks) and spikes are exceptions to the rule because of the size/dependency of the task.  Spikes tend to be ‘specialist’ owned whereas Stories are cross-functional  Prototypes, Proof of Concepts (PoC), and Wireframes all fall into the classification of Spikes
  • 11. Can spikes be user stories?(continued)  Estimates  Like tasks, spikes should be estimated in time & further framed with a timebox. XP has used the ‘Gold star card’ concept to ensure management of spikes  Team velocity is a metrics used to calculate value rather than effort http://guide.agilealliance.org/guide/velocity.html  Velocity is used as a predictive measurement and analytics tool shared with stakeholders, so they know when they are likely to receive working software. If effort is written into it, the metric loses reliability. http://johnharo.net/agile-should-you-estimate-spikes-with-story-p
  • 12. 1.b. Defining the feature “I want...”  Define the feature/series of events. How the role triggers the stimulus; usually verb+object  Englobes the set of criterion (WHAT vs. HOW)  Is unique to both the 'role' and the 'benefit'  Example: “I want to collect books in my shopping basket”
  • 13. 1.c. Defining the benefit “so that...”  This is the WHY?  Helps the PO prioritise. This section is sometimes fleshed out to include the business case, or recap on pain points/opportunities identified in Design Thinking  Helps guarantee value specific to the 'role'  Example: “so that I can purchase multiple books at once”
  • 14. 2. Acceptance criteria in practice: specification by example  Define a scenario: acceptance criterion headline  Use the Triple A of Given/When/Then − Given=Arrange: Context, initial state of the system − When=Act: Execution of the feature/event − Then=Assert: Assertion of observable behaviour  Example: scenario: Books can be added to the shopping basket Given my shopping basket is empty When I add the book “Harry Potter” to my shopping basket Then my shopping basket should contain 1 copy of “Harry Potter”
  • 15. Advantages of specification by example  Scenario gives quick ‘in’ into the aim(s) of the feature  Going through given/when/then helps drive reflection, detection of borderline cases, negative testing, which will uncover more work (ex: content/UX/design on error messages)  Language is simple and can be used by both business and systems (Cucumber/Java style of Behaviour Driven Development)
  • 16. Specification by example extended to deployment automation (CI)
  • 17. Specifications used to detect code regression across full project (not just latest feature)