user story mapping in practice

Post on 11-May-2015

17.801 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Creating a backlog of user stories is pretty straight forward but it doesn't help you when it comes to decisions like what to build first, how to prioritize and groom the backlog, how to scope and plan the project, and how to visualize progress. The traditional backlog is simply too flat and often too long to help you see the bigger picture and make good decisions. User Story Mapping helps simplify all of these common project issues. By adding a third dimension to your backlog, your team will make better decisions about priorities, scope, and planning while improving your ability to visualize progress. In this practical session I’ll cover the basics of user story mapping before walking you through case studies of how our teams are using this approach and the results we are achieving. I'll show you the before, during, and after pictures from several projects so that you can understand how our maps progress during the projects and how we use them to influence iterative development, promote good decision making, and visualize priorities, plans, scope and progress.

TRANSCRIPT

User Story Mapping

in Practice

#Agile2013 / #SDEC13

@SRogalsky

Blog.protegra.com

Steve.Rogalsky@protegra.com

Steve Rogalsky

Story Time!

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                                                                                   

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                     

A++

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                     

A++ B+

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                     

A++ B C

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                       

A++ B C F

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                       

A++ B C F

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                       

A++ B C F F-

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                       

A++ B C F F- #%&#@*&!

My First “Agile” Project

Retail costing/pricing system

ItemSearch

ItemMaintenance

FactorMaintance

CostingEngine

PricingEngine

Cost/PricePrototyper

                                            

                                                       

A++ B C F F- #%&#@*&!

What to build firstFailed at iterative developmentScoping the project

Prioritizing and grooming the backlog

Planning the project

The goal of this life isn't to be perfect but to be

progressively less stupid

- Marshall Rosenberg

Learning Outcomes

What to build firstEncouraging iterative developmentScoping the project

Prioritizing and grooming the backlog

Planning the project

How user story mapping can help you with:

Visualizing Project Progress BONUS!

Fast forward a little bit…

Another story, this time with a map

Internal Users will:• Search

Submitted Enrollments

• View Submitted Enrollment

• Process Enrollment

External Users will:• Select a

Contract/Group• Enter Personal Info• Select Benefits• Enter Dependencies• View Summary• Submit an Enrollment

Things Users Will Do

• Add Member Details

• Select Dental coverage

• Select Vision coverage

• Display Member Detail Summary

• Show Confirmation Page

• …

Identify User Stories

Identify Priorities.Left to Right; Top Down

Move risky cards to the top

Release 1: Single, No kids, Dental Coverage Only, no Life & Disability

Identify the Smallest Release Possible

Highlight Scope Changes

And now… Take a look at our Project Plan

Visualizing our progress

Green = Done Blue = In Progress

The beginning

Early in the project

Almost Done

All green = Done!

To Summarize…

What to build firstEncouraging iterative developmentScoping the project

Prioritizing and grooming the backlog

Planning the project

Visualizing Project Progress

User story mapping helped us with:

Your Turn

*We’ll start with the 2nd row

1. [silently] “Things People Do”

Search Email

File Emails

Compose Email

Read Email

Delete Email

View Calendar

Create Appt

View Appt

Update Appt Create

Contact

Update Contact

Delete Contact

2. Read & Remove duplicates

Search Email

File Emails

Compose Email

Read Email

Delete Email

View Calendar

Create Appt

View Appt

Update Appt Create

Contact

Update Contact

Delete Contact

3. [silently] Group

Organize Email

Manage Calendar

Manage Contacts

Manage Email

4. Name your groups

5. Arrange left to right

Organize Email

Manage Calendar

Manage Contacts

Search Email

File Emails

Compose Email

Read Email

Delete Email

View Calendar

Create Appt

View Appt

Update Appt

Create Contact

Update Contact

Delete Contact

Manage Email

Your map may look similar to…

The Stories that maps tell…

#1 Visualization is awesome

#Planning  #Scoping  #Prioritizing  #Grooming

#1 Visualization is awesome

Example: Nice clean board to start.

#VisualizeProgress

#1 Visualization is awesome

After 2 weeks of vacations…

Progress

#VisualizeProgress

#1 Visualization is awesome

But also, a lot ofBlockers & Issues!

#VisualizeProgress

#Scoping

“This visualization stuff, it’s going to be good.”

- CEO/Owner

#VisualizeProgress

#2 Silent Brainstorming FTW

#3 USM (Backlog) as waste?

Nope. Why? Cognitive Ease

#4 Duplicate cards on your iteration/kanban board

instead of

leaving a hole in your map

Duplicated card

Kanban boardUser Story Map

#VisualizeProgress

#5 USM as MVP?

#Planning  #WhatToBuildFirst

#5 USM as MVP!

#Planning  #WhatToBuildFirst

#6 Good for an project.(Even the easy ones)

At the beginning

#Scoping

Half way done. One new card

#Scoping

Almost done. Still only one new card.

#Scoping

Done. Only one new card.

#Scoping

#6 Good for any project.(Even the hard ones)

At the beginning

#Scoping

After completing the first few stories, we realized this project

was *way* bigger than we knew.

#Scoping

We quickly scaled it down to a version that still (barely) met the minimum project goals

#Scoping

Done!

#Scoping

#7 What to build first is key…

“Most of the time, we can create a horizontal slice of the whole application in one or two

iterations” – Jeff Patton

#WhatToBuildFirst  #Iterative

Patterns we’ve used

Objective vs. Subjective

Quality

#WhatToBuildFirst  #Iterative

Patterns we’ve used

Pick a subset of users for the first release.

Single with only Dental

#WhatToBuildFirst  #Iterative

Ask: “If we went live early, what could we do without in the

first release?”

#WhatToBuildFirst  #Iterative

Patterns we’ve used

Patterns we’ve used

Not every task needs to be included in the first relase

#WhatToBuildFirst  #Iterative

Patterns we’ve used

Search? Only by ID.

All others later

#WhatToBuildFirst  #Iterative

Patterns we’ve used

** Treat the project like a startup ** Look for assumptions

& risks

#WhatToBuildFirst  #Iterative

Back to your app.Let’s practice that first slice.

What to build first?

• What are the risks/assumptions for this project?

• What are things we can do without? • What subset of users might we focus on?• Etc…

What small stories would you need to build a horizontal slice of the whole app in 1-2 iterations?

** Write your top 4 **

In ClosingUser Story Maps can help you:- Make better decisions- Visualize progress- Influence iterative development- … Increase your ability to deliver

@SRogalsky

WinnipegAgilist@blogspot.com

Steve.Rogalsky@protegra.com

Steve Rogalsky

Thanks! Questions?

http://www.slideshare.net/SteveRogalsky/user-story-mapping-in-practice

LinksMy blog: User Story Map series:- How to create:

http://winnipegagilist.blogspot.ca/2012/03/how-to-create-user-story-map.html

- How to prioritize: http://winnipegagilist.blogspot.com/2013/02/how-to-prioritize-user-story-map.html

- Tips for facilitation: http://winnipegagilist.blogspot.com/2012/12/tips-for-facilitating-user-story.html

Jeff Patton articles:- http://www.agileproductdesign.com/blog/the_new_backlog.html - http://www.agileproductdesign.com/writing/how_you_slice_it.pdf

DotNetRocks podcast:- Show #750: http://www.dotnetrocks.com/default.aspx?showNum=750

This presentation:- http://www.slideshare.net/SteveRogalsky/user-story-mapping-in-practice

top related