The Mac Iver Group, LP © 2005-2015 1
Robbie Mac Iver, Agile Consultant & Coach
There's no sense in being precise when you don't even know what you're talking about
-- John von Neumann
The Story of User Stories
The Mac Iver Group, LP © 2005-2015 2
Why User Stories? User Story Basics Some Practice Next Steps
The Mac Iver Group, LP © 2005-2015 3
Why User Stories? User Story Basics Some Practice Next Steps
The Mac Iver Group, LP © 2005-2015 4
The Agile Approach
Make Good Decisions About What Work to DoAnd what work NOT to do
Effectively Deliver That WorkPredictable visible progress
Deliver Value Very FrequentlyHelp the business today
The Mac Iver Group, LP © 2005-2015 5
Why User Stories?
As a <Role> I want
to <perform a
function> so that
<some value> Requirements
=
The Mac Iver Group, LP © 2005-2015 6
The Mac Iver Group, LP © 2005-2015 7
A Not So Hypothetical Project Roadmap
Construct Customizations
Setup Search Dev Environment
Acquire Content
Create Data Warehouse
Construct UI
Validate Content
Create Test Cases
Move/Upgrade Servers
The Mac Iver Group, LP © 2005-2015 8
A Not So Hypothetical Project Roadmap
Construct Customizations
Setup Search Dev Environment
Acquire Content
Create Data Warehouse
Construct UI
Validate Content
Create Test Cases
Move/Upgrade Servers
What’s
The
Business
Value???
The Mac Iver Group, LP © 2005-2015 9
It’s All Too Common
The Mac Iver Group, LP © 2005-2015 10
Why User Stories?
As a <Role> I want
to <perform a
function> so that
<some value>
=
Business Outcomes
The Mac Iver Group, LP © 2005-2015 11
The Rush to a Product Backlog
What Do We Need To
Accomplish?
Product Backlog
The Mac Iver Group, LP © 2005-2015 12
The Rush to a Product Backlog
What Do We Need To
Accomplish?
Product Backlog
85 percent of working adults cannot tell you their organization’s
most important goals
The 4 Disciplines of Execution- McChesney, Covey, Huling
The Mac Iver Group, LP © 2005-2015 13
The Process is Important
What Do We Need To
Accomplish?
Where Are We Going?
Vision/Strategy
How Do We Get There?
Roadmap Product Backlog
The Mac Iver Group, LP © 2005-2015 14
Provide a Clear Vision
Provide Clarity of Purpose Refined for Current Business
Conditions What’s the impact? What’s our objective? What’s our approach?
Communicated Clearly Broadly & often
The Mac Iver Group, LP © 2005-2015 15
Provide a Clear Vision
Provide Clarity of Purpose Refined for Current Business
Conditions What’s the impact? What’s our objective? What’s our approach?
Communicated Clearly Broadly & often
As a <Role> I want
to <perform a
function> so that
<some value>
The Mac Iver Group, LP © 2005-2015 16
Product Roadmaps
What Business Problem(s) are We Solving?
When? What Are the
Incremental Steps?
Organize Along the Value Stream
The Mac Iver Group, LP © 2005-2015 17
Sample RoadmapE
nable Change M
anagement
Asset Group A
Manage Infrastructure Assets
Asset Group B
Asset Group C
Manage Applications
Manage Topology
Toda
y
March
2014
May 20
14
July 2014
The Mac Iver Group, LP © 2005-2015 18
Sample RoadmapE
nable Change M
anagement
Asset Group A
Manage Infrastructure Assets
Asset Group B
Asset Group C
Manage Applications
Manage Topology
Toda
y
March
2014
May 20
14
July 2014
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>
As a <Role> I
want to <perform
a function> so
that <some
value>As a <Role> I
want to <perform
a function> so
that <some
value>
The Mac Iver Group, LP © 2005-2015 19
Impactful Releases
Make a Difference Today Focused Specific
Capability or Audience Significant Step To Overall
Vision
The Mac Iver Group, LP © 2005-2015 20
Emergence
Arch/Design Decisions
Detail Requirements
Solution Details Emerge As We Learn More About the Problem Details
The Mac Iver Group, LP © 2005-2015 21
Deliver Value Frequently
The Mac Iver Group, LP © 2005-2015 22
Why User Stories? User Story Basics Some Practice Next Steps
The Mac Iver Group, LP © 2005-2015 23
Business Problems to Stories
Business Problem
ScenariosPersona
User Stories
The Mac Iver Group, LP © 2005-2015 24
Product Backlog “Grooming”
Business Problem
ScenariosPersona
User Stories
On-Going Effort Through Out the Product Life Cycle
The Mac Iver Group, LP © 2005-2015 25
Minimum Solution Set
Business Problem
ScenariosPersona
User Stories
The Mac Iver Group, LP © 2005-2015 26
Persona
Who is the user?
What is his/her job?
Why does he/she need your product to do that job?
What is a typical day at work?
What are his/her primary concerns?
The Mac Iver Group, LP © 2005-2015 27
Persona Example
Associate Anyone driving a company vehicle or any vehicle on behalf of the company
Job Title Various
Assumptions Familiar with basic computing, enough to follow a link and complete a form. Should have access to email
Situation • Just involved in an accident. • Need to capture what happened ASAP• May be rattled by the event, need to
minimize frustration with a tool very easy to use
• Once accident reported, interaction with this application may end
Motivation Help Risk Management get the best outcome for the company and get this incident behind me
The Mac Iver Group, LP © 2005-2015 28
As a <role> I want to <perform a function>so that <some value>
User Stories
As a field engineer I want to make sure I
have executed all the steps necessary to finish
a task so that I do not make a mistake or leave
out something important.
The Mac Iver Group, LP © 2005-2015 29
As a vacation planner, I can see photos of the hotels that are near specific points of interest so I can help my client decide on an appropriate place to stay
Some Examples
As a bank
customer, I want
to view my
balance online so
that I can avoid
overdrafts.As an electricity
consumer, I want to
pay my bill online so
that I can save the
trouble of mailing my
payment
As a decision engine system, I want to
receive loan applicant data so
that I can determine loan eligibility
As CTO I want the system to use our existing database so we don’t have multiple databases to support
The Mac Iver Group, LP © 2005-2015 30
INVEST in Good User Stories
Independent: care should be taken to avoid introducing dependencies between stories
Negotiable: stories are not written contracts or requirements… they are conversations
Valuable: stories should address the value they bring to the customer, or other stakeholders
Estimatable: if the story is not bounded, then we have no way to determine its size
Small: larger Epics (“Features”) are okay, but they need to be broken down to smaller stories
Testable: the criteria for successful delivery of the feature needs to be defined along with the story
The Mac Iver Group, LP © 2005-2015 31
Conditions of
Success
Acceptance Criteria
Acceptance Criteria
• Condition ….
• Condition ….
• Condition ….
• Demonstrate that ….
• Demonstrate that ….
• Demonstrate that ….
The Mac Iver Group, LP © 2005-2015 32
Sample Product BacklogName User Story Priority SizeMake Reservation As a pet owner I want to reserve a PoodlePalace Suite so that FiFi will have
the ultimate doggie day care experience.1 8
Meal Preference As a pet owner I want to specify a meal/treat preference so that FiFi has her usual food.
2 2
Web Camera As a pet owner I want to view FiFi via a web camera so that I can see how happy and active she is.
3 13
Pooch Profile As a pet owner I want to create a Pooch Profile so that I don't have to keep repeating my preferences.
4 5
Online Payment As a pet owner I want to pay on-line for FiFi's stay at PoodlePalace so that her accommodation is guaranteed.
5 8
Confirm Reservation
As a reservationist I want to send a confirmation to FiFi's owners so that they be assured of their reservation for FiFi.
6 8
Space Availability As a reservationist I want to the availability of an accommodation so that I don't accept multiple reservations for the same date.
7 3
Medical Treatment
As a pet handler I want to be reminded when to administer any medicines for FiFi so that she receives the proper treatments.
8 8
Special Needs As a pet handler I want to review any special needs for FiFi so that I know how to care for her.
9 3
Temperament As a pet handler I want to know which other dogs FiFi plays well with so that she has a safe environment.
10 5
Activity Schedule As a pet handler I want to create a schedule of activities for FiFi so that she is well attended.
11 5
Feedback As the owner of PoodlePalace I want to collect feedback from pet owners so that I know how to improve my services.
12 5
Historic Data As the owner of PoodlePalace I want to review historical data so that I know which services are most commonly used.
13 8
Virtual Tour As the owner of PoodlePalace I want to offer a virtual tour of my facilities so that potential customers are attracted to my business.
14 13
The Mac Iver Group, LP © 2005-2015 33
Bringing Business and Delivery Together
Product
Backlog
Grooming
Scrum, Kanban, …
Business Needs Delivery
Cycle
The Mac Iver Group, LP © 2005-2015 34
Why User Stories? User Story Basics Some Practice Next Steps
The Mac Iver Group, LP © 2005-2015 35
User Story Writing Pick a Product? Who Are Your Users?
Write 5-10 User Stories Verify With the INVEST
Model What Are the Acceptance
Criteria?
Quantity Over Quality
The Mac Iver Group, LP © 2005-2015 36
INVEST in Good User Stories
Independent: care should be taken to avoid introducing dependencies between stories
Negotiable: stories are not written contracts or requirements… they are conversations
Valuable: stories should address the value they bring to the customer, or other stakeholders
Estimatable: if the story is not bounded, then we have no way to determine its size
Small: larger Epics (“Features”) are okay, but they need to be broken down to smaller stories
Testable: the criteria for successful delivery of the feature needs to be defined along with the story
The Mac Iver Group, LP © 2005-2015 37
Why User Stories? User Story Basics Some Practice Next Steps
The Mac Iver Group, LP © 2005-2015 38
User Stories
Refine Business Outcomes
Promote Emergence
Support Product
Visions & Roadmaps
Enable Frequent Delivery
Show Predictable
Visible Progress
Improve Decision Making
As a <Role> I want
to <perform a
function> so that
<some value>
The Mac Iver Group, LP © 2005-2015 39
Where Can You Improve?
What Would be the Benefit to Your Organization?
What Do You Want to Start Doing Differently?
Next Steps
Consulting ▪ Coaching ▪ Mentoring▪ Agile Adoption ▪ Agile Leadership ▪ Product Management
▪ Leadership Agility 360™ Assessment
10+ Years Agile Techniques ▪ 10+ Years Project Leadership ▪ 20+ Years Information Technology
▪ Past President/Advisor National Board of Directors ▪ Founder Houston Chapter
▪ Stage Producer – Agile 2010, Agile 2011▪ Presenter – Agile 2010▪ Stage Producer – Agile Executive Forum 2011
www.robbiemaciver.com
@robbiemaciver
robbiemaciver