Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Not Your Mama's Acceptance Criteria: A Product Owner's Guide to
Writing Excellent User Stories
Presenter:Candase Hokanson, Senior Project ManagerSeilevel
Not Your Mama’s Acceptance CriteriaA Product Owner’s Guide to Writing Excellent User Stories
July11,2019
Candase Hokanson
OUR
AGENDA
TOPICIntroduction 10 min
Identify user stories 25 min
Elaborate user stories 5 min
Refine user stories 15 min
Q&A 5 min
Requirements Architecture
Business Objective
Feature
User Story
Acceptance Criteria
This Presentation
Feature
Epic
User Story
Acceptance Criteria
Scrum
Portfolio Epic
Solution Epic
Program Epic
Acceptance Criteria
Scaled Agile Framework
Feature
User Story
User Story Lifecycle
Identifying
Elaborating &
Designing
Refining
Ready
DevelopingTesting (QA)
Testing (UAT/BAT)
Accepting
Using in Production
BA
BAUX
ARCH
PO
Dev
BA
PO
Dev
Dev
PO
Dev
PM
PMBAQA
SME
SME
BA
PO
SME
Biz
ARCH
ARCH
Getting to “Ready”
Identifying Elaborating Refining Ready
Identify & prioritize features
Create process flows
Identify user stories
Facilitate design working sessions
Create mock‐ups
Elicit initial story point estimates
Create more detailed models
Construct acceptance criteria
Hold “storytime” session with team
Update story size as needed
Understand objectives
Prioritize stories
IdentifyIdentify &
prioritize features
Understand business objectives
Create process flows
Identify User Stories
Business Objectives Model
BusinessProblem 1
BusinessObjective 1
ProductConcept
Feature 1
BusinessProblem 2
BusinessObjective 3
BusinessObjective 2
BusinessProblem 6
BusinessProblem 5
BusinessProblem 4
BusinessProblem 3
Feature 3
Feature 3
BusinessObjective 4
BusinessObjective 6
BusinessObjective 5
Feature 2
Feature 4
Feature 4
Business Objective 2b
Increase salesvolume from
channels otherthan local
booths
Case Study Business Objectives Model
Business Problem 1
Cookie sales have declined5% in the last
two years
Business Objective 1
Increase 2019revenue by
10%
Product ConceptBusiness Problem 2
Customers arenot finding
cookie booths locally
Booth locator
Cookie eStore
Business Objective 2a
Make it easierto find the
local boothsonline
Business Problem 3
Customers don’thave cash/checkso aren’t buying
at booth
IdentifyIdentify &
prioritize features
Understand business objectives
Create process flows
Identify user stories
Feature Tree
4. Feature
Product Concept
1. Feature 2. Feature 3. Feature
5. Feature 6. Feature
1.1 User Story1.2 User Story1.1.1 Acceptance Criteria
R1 R2 R3
1.4 User Story1.3 User Story
1.5 User Story1.6 User Story
R2 R2 R2
Story Maps
http://www.tacticalprojectmanagement.com/6‐takeaways‐from‐the‐agile‐conference/
Sample Features
1. View cookie menu
Cookie eStore
2. Add cookies to cart 4. Track order status 6. Find a local cookie booth
3. Check out with Order 5. Associate order with local chapter
IdentifyIdentify features
Understand business objectives
Create process flows
Identify User Stories
Using Process Flows in agile
Step 1
Step 1.1
Step 1.1.1
L1 steps typically align to Features
L2 steps typically align to User Stories
L3 steps typically align to Acceptance Criteria
Example L1 Process Flow
1. View cookie menu
Feature: View cookie menu
The ability for shoppers to use the cookie eStore app on their smartphone to view the variety of cookies that are available to choose from.
3. Check out2. Add cookies to cart
Example L2 Process Flow
2.1 Select cookies desired
2.4 Update quantity
2.2 Add cookies to cart
2.3 Update quantity?
2.5 Remove item from cart
Yes2.6 View cart
totalRemove it
No
IdentifyIdentify features
Understand business objectives
Create process flows
Identify User Stories
Write User Stories
2. Add cookies to cart
2.1 Select cookies desired
2.2 Add cookies to cart
2.3 Update quantity?
2.4 Update quantity
2.5 Remove item from cart
2.6 Calculate & display cart total
User Story: Calculate & display cart total
As a cookie shopper, I want to see a running total of all of the items I’ve added to my cart, so that I can ensure I stay within my budget.
As a <role>, I want to <do something> so I can <achieve some outcome>.
FORMAT
2.1 As an online shopper, I want to see the menu of cookie flavors, so that I may select the ones I want to purchase.
2. 1 As an online shopper, I want to know how many of each flavor are available for purchase, so that I do not try to purchase unavailable cookies.
2.5 As an online shopper, I want to want to be able to remove cookies from my cart so that I do not have to start all over on my order when I add cookies accidentally to the cart.
Sample User Stories
Elaborate & DesignCreate Mock‐upsFacilitate design
working sessions
What is design?
DefineProcess the findings from your empathy work to form a user point of view for your design.
PrototypeTransform your ideas into a physical form so that you can experience and interact with them.
TestTry out high‐resolution products to refine prototypes, learn more about the user, and refine your original point of view.
IdeateGenerate/explore a wide variety of possible solutions, allowing you to step beyond the obvious and explore a range of ideas.
EmpathizeWork to fully understand the experience of the user for whom you are designing.
Facilitate Sessions with a User‐Centric Design Focus
Create Mock‐ups
LOGO
Filters
Menu
COOKIE PHOTO
Cart
Add to Cart
QTY: 1
Items: 0 Total: $0.00
RefineConstruct acceptance criteria
Create more detailed models
Example L3 Process Flows
2.2 Add cookies to cart
2.3 Update Quantity
2.4 Remove item from cart
2.2.1 taxable item?
2.2.2 Find local tax rate
2.2.3 Find local product priceYes
2.2.4 Calculate item total price
2.2.5 Add item price to cart total
2.2.6 Display cart total
2.3.1 Calculate price delta
2.3.2 Add price delta to cart total
=Current local price + (if applicable) [Current local price * local tax rate](discounts are already factored into current local price table)
=Quantity delta * item total price
2.3.3 Update displayed total
2.4.1 Identify item (s) total price
2.4.2 Subtract price from cart
=Last item quantity * item total price
2.4.3 Update displayed total
No
Display Action Response tables show how the UI should behave
LOGO
What We Do
Cart
Find A Booth Contact UsVolunteer
COOKIE PHOTO
Filters
CookiesHome Press
Description
COOKIE PHOTO
Description
COOKIE PHOTO
Description
COOKIE PHOTO
Description
COOKIE PHOTO
Description
COOKIE PHOTO
Description
Add to Cart
Items: 0 Total: $0
Participant:Chapter:
QTY: 1Add to CartQTY: 1Add to
CartQTY: 1
Add to CartQTY: 1 Add to
CartQTY: 1 Add to CartQTY: 1
RefineConstruct acceptance criteria
Create more detailed models
Given, When, Then overview
Given a user is…‐logged in‐viewing a page‐has already taken an actionThese build from the preceding acceptance criteria
PreconditionWhen they…‐click something‐enter something incorrectly‐take any other actionThese are the user behaviors associated with normal, alternate, AND exception flows
User TriggerThen…‐display something‐notify someone‐process something‐validate somethingThese are how the system responds, and can include several AND clauses, but not OR clauses
Postcondition
AC02Given the menu of products is being displayed onlineWhen an online shopper views the menu itemsThen the menu items must be organized by category.
Example Acceptance CriteriaAC01
Given an online shopper wants to buy cookies onlineWhen an online shopper enters the eStoreThen the online shopper must be able to view the pictures and descriptions of the menu items.
AC03Given the online shopper wants to know more about a productWhen the shopper clicks on the descriptionThen the description page for that product must be displayed.
Ready
Prioritize Stories
MVP:Minimum Viable Product
Sample Product Concept for Cookie Buyer
1. View cookie menu
1.1 Select to view cookie list
2. Add cookies to cart
3. Associate order w/ chapter
4. Check out with cookie order
6. Find a local cookie booth
5. Track order status
1.2 Browse cookies
1.3 Search cookie types
1.5 View cookie details
2.1 Select to add cookie to cart
2.3 Increase cookie quantity
2.4 Decrease cookie quantity
2.5 Remove cookie from cart
2.2 View calculated cookie cart total
1.4 Filter cookies by nutritional content
1.6 Scroll through cookie gallery
3.1 Select city and state
3.2 View list of active city chapters
3.3 Select chapter to link to
3.4 Review list of active chapter members
3.5 Select members to credit order to
4.1 Select to check out
4.2 Populate shipping information
4.3 Populate billing information
4.4 Select shipping speed
4.5 Submit order
4.6 View order confirmation
5.1 View order status
5.2 Receive shipment notification
5.3 Receive shipment delay notifications
Proposed MVP
6.1 Search booths by city
6.2 Search booths by chapter
6.3 View booth hours
5.4 Receive out of stock notifications
5.5 Update shipping information
5.6 Cancel order
6.4 Explore cookie booth map
6.5 Volunteer to help with local booth
Getting to Ready Overview
• Get the first pass of the backlog set up
Identify
• Understand your users and give the developers context of the overall product
Elaborate
• Add the details needed to the stories to build
Refine
• Prioritize the stories and ensure they are ready to go into a sprint
Ready
Questions?
36
Candase HokansonBusiness Architect, Seilevel
S www.seilevel.com
@Seilevel
www.facebook.com/Seilevel
Download 6 Requirements Models for Agile Projects Whitepaper https://page.seilevel.com/6‐requirements‐models/