The Story of User Stories

Post on 08-Aug-2015

78 views 0 download

Tags:

Transcript of The Story of User Stories

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

robbie@robbiemaciver.com

@robbiemaciver

robbiemaciver