SlideShare a Scribd company logo
1 of 37
USER STORY SLIDES
User Stories (including Spikes)
Requirements Management
• Acceptance Criteria
• Acceptance criteria (AC) are the requirements of a feature or story.
• AC are specific and are outcomes that must be met. They define the
boundaries of the story and are agreed upon measures under which the
Product Management (PM) will accept a completed story.
• Product Management will complete user acceptance testing; this is not
formal testing, but rather exploratory and can be done during sprint
reviews.
• AC describe what the product or API will do and how it is expected to
perform. AC are generally written in backlog refinement to the point that
the team feels like they have enough detail to meet definition of ready.
Building Testable Acceptance Criteria
BDD Format:
Given ___________
When ___________
Then ____________
Alternative to BDD:
We know we are done when
1) ____________________
2) ____________________
How Developers may implement
User Story Example with BDD
As a Working Parent,
I want to preorder a medication refill with
an Alexa Medical Mgmt System,
So that I can pick my child up on time
from daycare
Given the day is a workday
When the Parent leaves work
Then I can pick up my medication
And have ample time to pick the
child up from daycare
User Story Examples
Title: FHIR Non-med Order Modify
As a FHIR Consumer (Developer),
I want an API that supports modifying a non-med order on the scratchpad
prior to signature,
So that I can modify order details prior to submission
Given a non-med order is on the scratchpad
When a modify order action is sent via FHIR
Then the order details are available to be updated
Given a non-med order detail is updated
When a modify order action is sent via FHIR
Then the order detail is updated on the scratchpad
Title: Non-med Order Modify
As a Lab Tech,
I want to modify a non-med order on the scratchpad prior to signature,
So that I can modify order details prior to submission
Given a non-med order is on the scratchpad
When the Lab Tech selects the modify order action
Then the order details are available to be updated
Given a non-med order detail is updated
When a modify order action has been selected
Then the order detail is updated on the scratchpad
Title: Search Algorithm Spike
As the Natural Language Processing team
We want to identify the search algorithm we will use
So that medical terminology can be best supported
We will know we are done when:
1. At least 3 industry options are reviewed
2. A recommendation is made
3. A prototype of the recommended option is given to the team
Title: Retrospective – Include End Client in Monthly Demo
As the RevCycle Scheduling team
We want to include our end clients in a monthly demo
So that we can get faster feedback on in development work
We will know we are done when:
1. At least 3 clients have accepted invitation to monthly demo
2. At least 1 client attends the first monthly demo
3. At least 1 new user story is created from client in demo
• User Story – As a bank customer, I want to
view my balances so that I can verify my cell
phone deposits were made to my account
correctly
• Spike – Research the histogram in the web
portal to obtain feedback on size, style and
charting
• Technical Story – Increase the performance
of the upload process to increase the
throughput bandwidth for all users
Different Types of Stories
Write your Feature and User
Stories
• Break into groups
• For the MVP / Proposed Release (25 min)
• Write Feature and User Stories with the appropriate level of detail
• As a ___, I want to ____, so that ___
format is not required but is recommended
• Acceptance criteria using BDD Given __, When ___, Then___
format is also recommended
• Further decomposition will likely occur
• Present back: Who wants to go first?
• Team to critique each story for the criteria that defines a good story
• Why is this so important for effective delivery?
Team Rules
• Definition of Done
• Quality required for the team to agree that any work is done
• What is your thin vertical slice?
• ProcessIT
• How to manage subtasks
• Specific versus general tasks
• Hold Code Review
• Update Requirements
• How does new work arrive at the team?
• Product Owner only?
User Story Splitting Example
• As a customer, I want to pay for the goods in my shopping
basket, so that I can receive my products at home
o As a customer, I want to log-in with my account, so that I don't
have to re-enter my personal information every time
o As a customer, I want to review and confirm my order, so that I
can correct mistakes before I pay
o As a customer, I want to pay for my order with a wire transfer, so
that I can confirm my order
o As a customer, I want to pay for my order with credit card, so
that I can confirm my order
o As a customer, I want to receive a confirmation email with my
order, so that I have proof of my purchase
Happy vs Unhappy
• Feature:
Withdrawal cash from ATM
• Happy User Story:
As an Account Holder
I want to withdraw cash from an ATM
So that I can get money when the bank is
closed
Example Acceptance Criteria - Happy
• Scenario 1: Account has sufficient funds
Given the account balance is $100
And the card is valid
And the machine contains enough money
When the Account Holder requests $20
Then the ATM should dispense $20
And the account balance should be $80
And the card should be returned
Happy vs Unhappy
• Unhappy User Story:
As an Account Holder
I want to be notified if I have insufficient
funds
So that I can get money into my bank
account
Acceptance Criteria Example - Unhappy
COMPANY CONFIDENTIAL | FOR INTERNAL USE ONLY | DO NOT COPY 15
• Scenario 2: Account has insufficient funds
Given the account balance is $10
And the card is valid
And the machine contains enough money
When the Account Holder requests $20
Then the ATM should not dispense any money
And the ATM states there are insufficient funds
And the account balance remains at $10
And the card should be returned
Example Acceptance Criteria - Unhappy
• Scenario 3: Card has been deactivated
Given the card is disabled
When the Account Holder requests $20
Then the ATM retains the card
And the ATM states the card has been
retained
Story Splitting
• Break into groups
• Using Splitting Techniques to divide stories into smaller stories (15
min)
• Make sure split stories are well formed
• As a ___, I want ____, so that ___
• Acceptance Criteria
Definition of Ready
• The work is ready to start.
Definition of Done
The work is done.
The work occurs.
• Set of criteria each user story must
meet before it is ready for a sprint.
• Used for all stories, does not often
change.
• Agreement between scrum team
members on what needs to be
completed for the story to be done.
• Changes based on the needs of the
story.
USER Story slides #2
Part 1: User Story Creation
As a(n) _________
(user)
I want _________
(objective)
So that_________
(reason)
4 Tips for Writing Good User Stories
The story’s reason should not be a
reiteration of the story’s objective.
The story has an objective
that is clearly defined.
The story has enough detail that
anyone on the team could “pick it up,”
but not too much.
The story clearly states who the user
is and answers the “why” behind the
need.
For this activity, let’s
assume we are helping
our product manager
do backlog grooming.
User Story Creation: User Story Refresher
Different people will use your
application, and may use it in
different ways.
I want _________
(objective)
So that_________
(reason)
As a(n) _________
(user)
Each user has an idea of what they
need. This should be the
“minimum bar” of expectations.
There is a reason or a “why”
behind each request.
Developing the reason requires
you to understand how your user
thinks.
Chart View
Quick Links
Solemani, Ladan (#303455, Female, DOB 01/13/1978, Age 42)
Medications +
Zoloft 50mg 0049-4900
Ibuprofen 50mg 0012-5500
Captopril 50mg 0078-4100
Allergy Alert
Lab Orders
Complete Blood Count (CBC)
User Story Creation: Scenario
One of our EHR’s needs an allergy
alert function.
The alert needs to reference data from
the patient’s known allergies.
If the user prescribes a medication
on the known allergy list, the system
should generate an allergy alert.
Good User Story Bad User Story
As a nurse, I want to see an allergy alert
on my screen if the medication I’m
prescribing is on the patient’s known
allergy list, so that I know my patient may
have an allergic reaction if I prescribe that
medication.
The reason is not the same as the
objective.
The user is clearly defined (i.e. a nurse)
Has enough detail, but not too much
that it stifles creativity.
The story clearly answers the “why”
behind the need..
The reason is the same as the objective.
The user is not specific.
The story does not answer the “why”
behind the need..
As a user, I want a notification window
when I prescribe a medication on a
patient’s known allergy list, so I know
they are allergic to the medication.
X
X
X
? What problems do you see with the following user stories?
Example C:
As a doctor, I want the application to be
available 99.99% of the time when I try
to access it, so that I can access the
application
Example A:
As a user, I can look up a patient’s
medication
Example B:
As a purchasing specialist, I can manage
hospital payments
User Story Creation
We need a scheduling system for an
inpatient facility
An Admissions Coordinator needs to see
how many beds are available in real-time,
and only one person can be in each bed.
A coordinator should be able to select a
bed and fill it with an occupant as patients
are admitted.
We need a scheduling system for an
inpatient facility
An Admissions Coordinator needs to see
how many beds are available in real-time,
and only one person can be in each bed.
A coordinator should be able to select a
bed and fill it with an occupant as patients
are admitted.
?
User Story 1:
As a(n) <user>
I want <objective>
So that <reason>
User Story 2:
As a(n) <user>
I want <objective>
So that <reason>
What user story or stories can you create with this information?
(take 20 minutes for this exercise)
Part 2: Story pointing & task creation
Story Pointing
Using the site above, assign story points to each story you created in Part 1, and explain your
approach. (take 20 minutes for this exercise)
Go to cadencycommander.com
Type in your name and team name
6 Tips for Writing Good Tasks
To avoid scope creep, all acceptance
criteria should be clearly defined.
The task can be completed in a defined,
short period of time
The task does not break
existing functionality.
The task is specific and is a vertical slice of
work that contributes to shippable function
by the end of the sprint.
The definition of done should include
all design, coding, testing, and
documentation. Coding tasks must
include white box and functional
testing.
Tasks are prioritized, and tasks are
planned with teammates to avoid
conflicting task prioritization.
Chart View
Quick Links
Solemani, Ladan (#303455, Female, DOB 01/13/1978, Age 42)
Medications +
Zoloft 50mg 0049-4900
Ibuprofen 50mg 0012-5500
Captopril 50mg 0078-4100
Allergy Alert
Lab Orders
Complete Blood Count (CBC)
Task Creation: Example Scenario
User Story
As a nurse, I want to see an allergy alert on my
screen if the medication I’m prescribing is on
the patient’s known allergy list, so that I know
my patient may have an allergic reaction if I
prescribe that medication.
Good Task Bad Task
Create a RESTful service that
determines if a prescription exists in
the patient’s allergy list.
• Create a workflow to add items to
the allergy list and generate an
alert if the medication is already on
the allergy list.
• Perform testing.
Can be completed in about a day
(approximate).
Contributes to something that is
shippable at the end of the sprint.
Is specific—to the stack and tools you
are using.
Can not be completed in a day
Does not contribute to something
shippable at the end of the sprint.
Is not specific.
X
X
X
Acceptance Criteria Example:
Submitting a valid prescription code and existing
patient ID to the service will generate a response of
True or False. Invalid data will generate an error
response.
Task Creation
Take one of your user stories from the first activity and break it down into tasks.
Task 1:
Task 2:
Task 3:
Task 4:
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx

More Related Content

Similar to How to Write Great User Stories Today.pptx

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...AgileNetwork
 
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 approachAgileNetwork
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
User story tune up
User story tune upUser story tune up
User story tune upnhoreillys
 
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?Vladimir Tarasov
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
 
20190110 LeanKanban Meetup Story Splitting and Automated Testing
20190110 LeanKanban Meetup Story Splitting and Automated Testing20190110 LeanKanban Meetup Story Splitting and Automated Testing
20190110 LeanKanban Meetup Story Splitting and Automated TestingCraeg Strong
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12Ravi Tadwalkar
 
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
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners
 

Similar to How to Write Great User Stories Today.pptx (20)

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 Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Effective User Stories.pdf
Effective User Stories.pdfEffective User Stories.pdf
Effective User Stories.pdf
 
User story tune up
User story tune upUser story tune up
User story tune up
 
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?
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
GRO n GO
GRO n GO GRO n GO
GRO n GO
 
Requirement Capturing Techniques
Requirement Capturing TechniquesRequirement Capturing Techniques
Requirement Capturing Techniques
 
Scrum it up!
Scrum it up!Scrum it up!
Scrum it up!
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Story of user story
Story of user storyStory of user story
Story of user story
 
20190110 LeanKanban Meetup Story Splitting and Automated Testing
20190110 LeanKanban Meetup Story Splitting and Automated Testing20190110 LeanKanban Meetup Story Splitting and Automated Testing
20190110 LeanKanban Meetup Story Splitting and Automated Testing
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12
 
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
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + Mobile
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 

How to Write Great User Stories Today.pptx

  • 3. Requirements Management • Acceptance Criteria • Acceptance criteria (AC) are the requirements of a feature or story. • AC are specific and are outcomes that must be met. They define the boundaries of the story and are agreed upon measures under which the Product Management (PM) will accept a completed story. • Product Management will complete user acceptance testing; this is not formal testing, but rather exploratory and can be done during sprint reviews. • AC describe what the product or API will do and how it is expected to perform. AC are generally written in backlog refinement to the point that the team feels like they have enough detail to meet definition of ready.
  • 4. Building Testable Acceptance Criteria BDD Format: Given ___________ When ___________ Then ____________ Alternative to BDD: We know we are done when 1) ____________________ 2) ____________________ How Developers may implement
  • 5. User Story Example with BDD As a Working Parent, I want to preorder a medication refill with an Alexa Medical Mgmt System, So that I can pick my child up on time from daycare Given the day is a workday When the Parent leaves work Then I can pick up my medication And have ample time to pick the child up from daycare
  • 6. User Story Examples Title: FHIR Non-med Order Modify As a FHIR Consumer (Developer), I want an API that supports modifying a non-med order on the scratchpad prior to signature, So that I can modify order details prior to submission Given a non-med order is on the scratchpad When a modify order action is sent via FHIR Then the order details are available to be updated Given a non-med order detail is updated When a modify order action is sent via FHIR Then the order detail is updated on the scratchpad Title: Non-med Order Modify As a Lab Tech, I want to modify a non-med order on the scratchpad prior to signature, So that I can modify order details prior to submission Given a non-med order is on the scratchpad When the Lab Tech selects the modify order action Then the order details are available to be updated Given a non-med order detail is updated When a modify order action has been selected Then the order detail is updated on the scratchpad Title: Search Algorithm Spike As the Natural Language Processing team We want to identify the search algorithm we will use So that medical terminology can be best supported We will know we are done when: 1. At least 3 industry options are reviewed 2. A recommendation is made 3. A prototype of the recommended option is given to the team Title: Retrospective – Include End Client in Monthly Demo As the RevCycle Scheduling team We want to include our end clients in a monthly demo So that we can get faster feedback on in development work We will know we are done when: 1. At least 3 clients have accepted invitation to monthly demo 2. At least 1 client attends the first monthly demo 3. At least 1 new user story is created from client in demo
  • 7. • User Story – As a bank customer, I want to view my balances so that I can verify my cell phone deposits were made to my account correctly • Spike – Research the histogram in the web portal to obtain feedback on size, style and charting • Technical Story – Increase the performance of the upload process to increase the throughput bandwidth for all users Different Types of Stories
  • 8. Write your Feature and User Stories • Break into groups • For the MVP / Proposed Release (25 min) • Write Feature and User Stories with the appropriate level of detail • As a ___, I want to ____, so that ___ format is not required but is recommended • Acceptance criteria using BDD Given __, When ___, Then___ format is also recommended • Further decomposition will likely occur • Present back: Who wants to go first? • Team to critique each story for the criteria that defines a good story • Why is this so important for effective delivery?
  • 9. Team Rules • Definition of Done • Quality required for the team to agree that any work is done • What is your thin vertical slice? • ProcessIT • How to manage subtasks • Specific versus general tasks • Hold Code Review • Update Requirements • How does new work arrive at the team? • Product Owner only?
  • 10. User Story Splitting Example • As a customer, I want to pay for the goods in my shopping basket, so that I can receive my products at home o As a customer, I want to log-in with my account, so that I don't have to re-enter my personal information every time o As a customer, I want to review and confirm my order, so that I can correct mistakes before I pay o As a customer, I want to pay for my order with a wire transfer, so that I can confirm my order o As a customer, I want to pay for my order with credit card, so that I can confirm my order o As a customer, I want to receive a confirmation email with my order, so that I have proof of my purchase
  • 11. Happy vs Unhappy • Feature: Withdrawal cash from ATM • Happy User Story: As an Account Holder I want to withdraw cash from an ATM So that I can get money when the bank is closed
  • 12. Example Acceptance Criteria - Happy • Scenario 1: Account has sufficient funds Given the account balance is $100 And the card is valid And the machine contains enough money When the Account Holder requests $20 Then the ATM should dispense $20 And the account balance should be $80 And the card should be returned
  • 13. Happy vs Unhappy • Unhappy User Story: As an Account Holder I want to be notified if I have insufficient funds So that I can get money into my bank account
  • 14. Acceptance Criteria Example - Unhappy COMPANY CONFIDENTIAL | FOR INTERNAL USE ONLY | DO NOT COPY 15 • Scenario 2: Account has insufficient funds Given the account balance is $10 And the card is valid And the machine contains enough money When the Account Holder requests $20 Then the ATM should not dispense any money And the ATM states there are insufficient funds And the account balance remains at $10 And the card should be returned
  • 15. Example Acceptance Criteria - Unhappy • Scenario 3: Card has been deactivated Given the card is disabled When the Account Holder requests $20 Then the ATM retains the card And the ATM states the card has been retained
  • 16.
  • 17. Story Splitting • Break into groups • Using Splitting Techniques to divide stories into smaller stories (15 min) • Make sure split stories are well formed • As a ___, I want ____, so that ___ • Acceptance Criteria
  • 18. Definition of Ready • The work is ready to start. Definition of Done The work is done. The work occurs. • Set of criteria each user story must meet before it is ready for a sprint. • Used for all stories, does not often change. • Agreement between scrum team members on what needs to be completed for the story to be done. • Changes based on the needs of the story.
  • 20. Part 1: User Story Creation As a(n) _________ (user) I want _________ (objective) So that_________ (reason)
  • 21. 4 Tips for Writing Good User Stories The story’s reason should not be a reiteration of the story’s objective. The story has an objective that is clearly defined. The story has enough detail that anyone on the team could “pick it up,” but not too much. The story clearly states who the user is and answers the “why” behind the need. For this activity, let’s assume we are helping our product manager do backlog grooming.
  • 22. User Story Creation: User Story Refresher Different people will use your application, and may use it in different ways. I want _________ (objective) So that_________ (reason) As a(n) _________ (user) Each user has an idea of what they need. This should be the “minimum bar” of expectations. There is a reason or a “why” behind each request. Developing the reason requires you to understand how your user thinks.
  • 23. Chart View Quick Links Solemani, Ladan (#303455, Female, DOB 01/13/1978, Age 42) Medications + Zoloft 50mg 0049-4900 Ibuprofen 50mg 0012-5500 Captopril 50mg 0078-4100 Allergy Alert Lab Orders Complete Blood Count (CBC) User Story Creation: Scenario One of our EHR’s needs an allergy alert function. The alert needs to reference data from the patient’s known allergies. If the user prescribes a medication on the known allergy list, the system should generate an allergy alert.
  • 24. Good User Story Bad User Story As a nurse, I want to see an allergy alert on my screen if the medication I’m prescribing is on the patient’s known allergy list, so that I know my patient may have an allergic reaction if I prescribe that medication. The reason is not the same as the objective. The user is clearly defined (i.e. a nurse) Has enough detail, but not too much that it stifles creativity. The story clearly answers the “why” behind the need.. The reason is the same as the objective. The user is not specific. The story does not answer the “why” behind the need.. As a user, I want a notification window when I prescribe a medication on a patient’s known allergy list, so I know they are allergic to the medication. X X X
  • 25. ? What problems do you see with the following user stories? Example C: As a doctor, I want the application to be available 99.99% of the time when I try to access it, so that I can access the application Example A: As a user, I can look up a patient’s medication Example B: As a purchasing specialist, I can manage hospital payments
  • 26. User Story Creation We need a scheduling system for an inpatient facility An Admissions Coordinator needs to see how many beds are available in real-time, and only one person can be in each bed. A coordinator should be able to select a bed and fill it with an occupant as patients are admitted.
  • 27. We need a scheduling system for an inpatient facility An Admissions Coordinator needs to see how many beds are available in real-time, and only one person can be in each bed. A coordinator should be able to select a bed and fill it with an occupant as patients are admitted. ? User Story 1: As a(n) <user> I want <objective> So that <reason> User Story 2: As a(n) <user> I want <objective> So that <reason> What user story or stories can you create with this information? (take 20 minutes for this exercise)
  • 28. Part 2: Story pointing & task creation
  • 29. Story Pointing Using the site above, assign story points to each story you created in Part 1, and explain your approach. (take 20 minutes for this exercise) Go to cadencycommander.com Type in your name and team name
  • 30. 6 Tips for Writing Good Tasks To avoid scope creep, all acceptance criteria should be clearly defined. The task can be completed in a defined, short period of time The task does not break existing functionality. The task is specific and is a vertical slice of work that contributes to shippable function by the end of the sprint. The definition of done should include all design, coding, testing, and documentation. Coding tasks must include white box and functional testing. Tasks are prioritized, and tasks are planned with teammates to avoid conflicting task prioritization.
  • 31. Chart View Quick Links Solemani, Ladan (#303455, Female, DOB 01/13/1978, Age 42) Medications + Zoloft 50mg 0049-4900 Ibuprofen 50mg 0012-5500 Captopril 50mg 0078-4100 Allergy Alert Lab Orders Complete Blood Count (CBC) Task Creation: Example Scenario User Story As a nurse, I want to see an allergy alert on my screen if the medication I’m prescribing is on the patient’s known allergy list, so that I know my patient may have an allergic reaction if I prescribe that medication.
  • 32. Good Task Bad Task Create a RESTful service that determines if a prescription exists in the patient’s allergy list. • Create a workflow to add items to the allergy list and generate an alert if the medication is already on the allergy list. • Perform testing. Can be completed in about a day (approximate). Contributes to something that is shippable at the end of the sprint. Is specific—to the stack and tools you are using. Can not be completed in a day Does not contribute to something shippable at the end of the sprint. Is not specific. X X X Acceptance Criteria Example: Submitting a valid prescription code and existing patient ID to the service will generate a response of True or False. Invalid data will generate an error response.
  • 33. Task Creation Take one of your user stories from the first activity and break it down into tasks. Task 1: Task 2: Task 3: Task 4:

Editor's Notes

  1. Time: 5 min Note:  Jay Note: Review slide Stories should be reworded or rewritten if they do not meet the INVEST criteria INVEST criteria can be components of Definition of Ready  [Some key points]  Key is to create shared understanding – “Conversation” of the 3 Cs: [Card, Conversation, Confirmation] Not trying to document system but requirements Acceptance criteria show “agreements” and traceability for quality compliance Pictures, diagrams, etc. are very helpful to add-on/capture the conversation
  2. Time: 5 min   Acceptance criteria refers to a set of predefined requirements that must be met in order to mark a user story complete Acceptance criteria should be added to Epics, Features and Stories.   Product Owners works with the Team to write acceptance criteria during Backlog Refinement Acceptance Criteria must be expressed clearly, in simple language the customer would use Acceptance Criteria must be testable: easily translated into one or more manual/automated test cases. Written with the spirit of “just enough” Added when the PM/PO recommends work in an upcoming release.   Avoid “system shall” or other software requirement statements.   
  3. Time: 5 min Acceptance criteria should be tested independently and have clear scenarios for success or failure. BDD - Behavior-Driven Development – an approach that improves communication between business and technical teams to create software with business value. BDD (Business-Driven Development); Given/When/Then/And Format (Given) some context (When) some action is carried out (Then) a particular set of observable consequences should obtain The BDD format helps define test steps and expected test results Same language as Cucumber coding TDD (Test-Driven Development); 1,2,3 Format
  4. Time: 3 min [Review slide]
  5. Time: 3 min [Review slide]
  6. Time: 5 min Understand difference between acceptance criteria and specifications  [Refinement ceremony] Instead of documenting what you think the system should do you, should be documenting what the system does as a result of the stories that are being completed 
  7. Time: 3 min Note – Review Slide
  8. Time: 25 minutes Breakout 10 minutes Review Don’t need to use the formats for Features unless desired. Review user stories as a group to talk about quality. Note:  Introduce Rita after Breakout  When the breakout room is needed, ask participants to go to their group channel (i.e. Blue Group) within the Team’s Group and select the “Meet” button at the top, right corner of their screen to begin a meeting with their breakout group.  To communicate with participants (e.g. inform them they have 5 minutes left, the time has ended, and they should return to the meeting invite, etc.). Type the message in the individual channel.
  9. Time: 5 min Note:  Scrum Teams define Team Rules to document how they will work together.  Some rules will include: Definition of Done is an important way of ensuring increment of value can be considered complete Subtasks are your smallest pieces of work to be tracked Subtasks are used by teams to decompose user stories at the Sprint Planning meeting to a more granular level.   The Product Owner is responsible for managing / approving / prioritizing new work, all new unplanned work coming into the Sprint  “Working together, everyone achieves more!” [Thin vertical slice] Write specific subtasks; metrics monitored Discusses management of Subtask decomposition; tasks to document to ensure you do and well       As teams mature, subtasks may change ►become part of your ingrained process or DoD 
  10. Time: 1 min Note: Review Slide
  11. Time: 1 min Note: Review Slide
  12. Time: 1 min Note: Review Slide
  13. Time: 1 min Note: Review Slide
  14. Time: 1 min Note: Review Slide
  15. Time: 1 min This handy reference sheet is available from http://www.richardlawrence.info/splitting-user-stories/ Working from a prioritized backlog of small user stories allows a team to get value and high-quality feedback on frequent intervals.  Many teams struggle to split large user stories and features into good, small stories. Fortunately, story splitting is a skill that can be learned over time
  16. Time: 15 min Breakout 5 min Review Since the team is not present to decompose to tasks, we will focus on crating user stories and acceptance criteria   When the breakout room is needed, ask participants to go to their group channel (i.e. Blue Group) within the Team’s Group and select the “Meet” button at the top, right corner of their screen to begin a meeting with their breakout group.  To communicate with participants (e.g. inform them they have 5 minutes left, the time has ended, and they should return to the meeting invite, etc.). Type the message in the individual channel.
  17. Time: 6 min Note:  Jay DoR-  Set of agreements that lets everyone know when something is ready to begin Criteria that each story must have before we consider moving it into the Sprint  Should be consistent across all stories  Team sets expectations that work cannot be pulled into the Sprint unless it meet the DoR      DoD-  is an agreed upon set of items that must be completed before user story can be considered complete.  Is an important way of ensuring increment value can be considered complete We must meet the Definition of Done to ensure product quality
  18. The “why” of the user story allows the team to think outside the preverbal box, and create innovative solutions to the client’s problem. User stories should be clear, but also flexible and leave room for creativity Example of a reason being a reiteration of the objective: As a doctor, I need to see my patient’s chart, so that I can see my patient’s information.
  19. What you’re looking for: Example A: User is not specific enough. Reason not defined. Not enough detail to be “picked up” by another associate. Example B: Reason not defined. Not enough detail to be “picked up” by another associate, i.e. the user story is too vague, it does not specify what you want to do with the hospital payments. Example C: Reason is the same as the objective. There are minimum expectations that are the foundation for every user story, e.g. the application works, looks good, and can easily access it.
  20. Now, let’s take a moment to practice creating user stories as a team.
  21. Qualities of a Good User Story: The story has a clear objective. The story defines the user. The story has enough detail that anyone on the team could “pick it up,” but not too much (i.e. we want user stories that are flexible and leave room for creativity) The story clearly answers the “why” behind the need. The “why” of the user story allows the team to think outside the preverbal box, and create innovative solutions to the client’s problem. The story’s reason should not be a reiteration of the story’s objective, (e.g. As a doctor, I need to see my patient’s chart, so that I can see my patient’s information)
  22. What you’re looking for: The entire team is participating in estimation If there is a tie in voting, the team should select the larger estimate The team is reaching a consensus on estimates and they are discussing it until a consensus can be reached (or a tie) Note on managers: The team members who vote on estimates are the team members who do the work (this means managers should not be voting on estimates) Scrum Masters/Engineering Managers should not suggest to decrease a size/estimate - their opinion carries too much influence and they may be too disconnected from the work
  23. Qualities of a Good Task: A task shouldn't take more than a defined, short period of time to complete (typically less than a week) A task should contribute toward something that is shippable by the end of the sprint A task should not break initial functionality Coding tasks should include whitebox and functional testing, and all testing should be complete within the sprint