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)
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
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
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.
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
Time: 3 min
[Review slide]
Time: 3 min
[Review slide]
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
Time: 3 min
Note – Review Slide
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.
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
Time: 1 min
Note: Review Slide
Time: 1 min
Note: Review Slide
Time: 1 min
Note: Review Slide
Time: 1 min
Note: Review Slide
Time: 1 min
Note: Review Slide
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
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.
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
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.
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.
Now, let’s take a moment to practice creating user stories as a team.
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)
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
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