becoming an effective product owner

54
Becoming an Effective Product Owner Mike Cohn 14 November 2006 1

Upload: mike-cohn

Post on 07-Jan-2017

3.040 views

Category:

Business


0 download

TRANSCRIPT

Becoming an Effective Product Owner

Mike Cohn14 November 2006

1

© Mountain Goat Software, LLC

Four questions

2 What are some differences between the role of the product owner and the ScrumMaster?

1 What are the primary responsibilities of the product owner?

3 What skills should the ideal product owner possess?

4 What things would you expect to happen on a project without a product owner?

2

© Mountain Goat Software, LLC

Traditional view of product management

Identify customer needs

Generate product concepts

concepts

Test product concepts

3

© Mountain Goat Software, LLC

Prior to Scrum and Agile, it was considered prudent to understand what was wanted and how it was going to be delivered at the very start of the project.

All future work hung off, depended on this work.

The theory was that changes at the start of the project cost $1, but the same change made when the project was 60% complete cost $100.

4

© Mountain Goat Software, LLC

Means Uncertainty

End

Unc

erta

inty

High

Low

High Low

Waterfall

Means UncertaintyEn

d U

ncer

tain

ty

High

Low

High Low

Agile

5

© Mountain Goat Software, LLC

Emergence

advance

uncover some requirements, but

Every project has some emergent requirements

Emergent requirements are those are users cannot identify in advance

6

© Mountain Goat Software, LLC

So what do we do?We talk more, write less

But write some if you need to

Show software to usersAcknowledge that requirements emerge

And all that this implies

product

backlog

7

© Mountain Goat Software, LLC

Strategy

Portfolio

ProductReleaseSprint

Daily

Agile Product Management is

mostly concerned with the space from Product to

Sprint.

8

© Mountain Goat Software, LLC

Telling Stories with the

Product Backlog

9

© Mountain Goat Software, LLC

Stories are traditionally written on note cards.May be annotated with notes, estimates, etc.

Card

Source: XP Magazine 8/30/01, Ron Jeffries.

Details behind the story come out during conversations with product owner

Conversation

story was coded correctly

10

© Mountain Goat Software, LLC

As a user, I want to reserve a hotel room.

As a user, I want to cancel a reservation.

As a vacation planner, I want to see photos of the hotels.

As a frequent flier, I want to rebook a past trip, so that I save time booking trips I take often.

11

© Mountain Goat Software, LLC

As a user, I can cancel a reservation.Does the user get a full or partial refund?

Is the refund to her credit card or is it site credit?

How far ahead must the reservation be cancelled?

Is that the same for all hotels?

For all site visitors? Can frequent travelers cancel later?

How?

12

© Mountain Goat Software, LLC

The product owner’s conditions of satisfaction can be added to a story

As a user, I can cancel a reservation. Verify that a premium member can

cancel the same day without a fee.Verify that a non-premium member is charged 10% for a same-day cancellation.Verify that an email confirmation is sent.Verify that the hotel is notified of any cancellation.

13

© Mountain Goat Software, LLC

As a user, I can cancel a reservation.

As a premium site member, I can cancel a reservation up to the last minute.

As a non-premium member, I can cancel up to 24 hours in advance.

As a site visitor, I am emailed a confirmation of any cancelled reservation.

14

© Mountain Goat Software, LLC

You can start by identifying only a sprint’s worth of backlog items

But, it’s often quick and easy to stock the product backlog with most of its items

This is helpful for release planning, expectation setting,

The key is to write product backlog items with different levels of detail

Fine-grained for stories about to be worked on

Coarse-grained for stories further in the future

15

© Mountain Goat Software, LLC

User StoryA description of desired

perspective of the user or customer.

Theme

user stories.

Epic

16

© Mountain Goat Software, LLC

As a VP Marketing, I want to review the performance of historical promotional campaigns so that I can identify and

As a VP Marketing, I want to select the timeframe to use when reviewing the performance of past promotional campaigns, so that I can identify and repeat

As a VP Marketing, I can select which type of campaigns (direct mail, TV, email, radio, etc.) to include when reviewing the performance of historical promotional campaigns.

An epic;

17

© Mountain Goat Software, LLC

As a VP Marketing, I want to see information on direct mailings when reviewing historical campaigns.

As a VP Marketing, I want to see information on television advertising when reviewing historical campaigns.

As a VP Marketing, I want to see information on email advertising when reviewing historical campaigns.

18

© Mountain Goat Software, LLC

Includes developers, users, customer, others

Brainstorm to generate stories

Goal is to write as many stories as possible

Some will be “implementation ready”

Others will be “epics”

No prioritization at this point

19

© Mountain Goat Software, LLC

Start with epics and iterateAs a frequent flier, I want to see check my account.

As a frequent flier, I want to ...

Frequent flier

As a frequent flier, I want to book a trip using miles.

As a frequent flier, I want to rebook a trip I take often.

As a frequent flier, I want to request an upgrade.

As a frequent flier, I want to see if my upgrade cleared.

As a frequent flier, I want to book a trip.

20

© Mountain Goat Software, LLC

Another approach

interfaceAsk open-ended, context-free questions as you go:

What will the users most likely want to do next?

What mistakes could the user make here?

What could confuse the user at this point?

What additional information could the user need?

Consider these questions for each user role

21

© Mountain Goat Software, LLC

“As a <user role>, I want <goal>so that <reason>.”

MyCookSpace.comYour team has been hired and given gobs of VC money to create a social networking site (like MySpace) for cooks. The idea is that cooks will exchange recipes and tips. They’ll also buy kitchen-related products from the advertisers on the site. We want some novel way of rewarding cooks who post the best and most popular recipes as noted by other cooks on the site.

Write some user stories for MyCookSpace.com.

22

© Mountain Goat Software, LLC

FixedProcess

FixedOutput

Must be described in just enough detail to be turned into the output by the process

Input

Just-in-timejust-enough

23

© Mountain Goat Software, LLC

What makes a good story?IndependentI

NegotiableN

ValuableV

EstimatableE

Sized AppropriatelyS

TestableT

24

© Mountain Goat Software, LLC

IndependentDependenices lead to problems estimating and prioritizingCan ideally select a story to work on without pulling in 18 other stories

NegotiableStories are not contracts

ValuableTo users or customers, not developers

customers

25

© Mountain Goat Software, LLC

EstimatableBecause plans are based on user stories, we need to be able to estimate them

S ized AppropriatelySmall enough to complete in one sprint if you’re about to work on itBigger if further off on the horizon

TestableTestable so that you have a easy, binary way of

except”

26

© Mountain Goat Software, LLC

Prioritizing the

Product Backlog

27

© Mountain Goat Software, LLC

Three steps

1. Organize needs into themes

2. Assess importance of each theme

3. Prioritize themes

28

© Mountain Goat Software, LLC

Why themes?Often individual stories cannot be prioritized against each other

What’s more important in a word processor?

The A key or the E key?

Tables or undo?

What’s more important on a car?

The left front wheel or the right front wheel?

Increased leg room or a larger engine?

29

© Mountain Goat Software, LLC

Steps for organizing into themes

1. Write each story on its own note card or post-it

2. Eliminate redundant stories

3. Group similar stories

4. Label each group with a theme name

5. If you have a lot of themes or have small themes, consider making themes of themes

6. Review the results

If you started with a story-writing

workshop you may already have

themes.

30

© Mountain Goat Software, LLC

Distribute cards equally to all participantsNo particular pattern to how you do this

Someone reads a card and places in on wall / table

Others look for similar cards and add them to it

Next person reads a card, places it, and others place similar cards with it

Continue repeating until out of cards

31

© Mountain Goat Software, LLC

..., I want to see if my upgrade cleared.

Be sure you are organizing stories around user needs;not around how you’ll build the software or

how the company is organized.

32

© Mountain Goat Software, LLC

5-10 themes

Smaller items as needed

Typical release (6-9 months) has 50-100

product backlog items

3-10 backlog

items per theme

33

© Mountain Goat Software, LLC

Two general approaches1. Team opinion2. Survey users

Theme screeningTheme scoringRelative weightingKano analysisFinancial analysisAnalytic Hierarchy Process

Step 2Assess importance of each theme

We’ll look at

today.

34

© Mountain Goat Software, LLC

Choosing your approach

Expert Opinion

User Interview

Theme screening

Theme scoring

Relative weighting

Kano analysis

Financial analysis

Analytic Hierarchy Process

✔ ✔

✔ ✔

35

© Mountain Goat Software, LLC

Theme screeningIdentify 5-9 (approximately) selection criteria for what is important in the next release

Select a baseline theme

Likely to be included in the next release

Understood by most team members

Assess each candidate theme relative to the baseline theme

36

© Mountain Goat Software, LLC

+ + - 0 - +Importance to existing customers

Competitiveness with ABC Corp.

The

me

F

The

me

E

The

me

C

The

me

B

The

me

A

0

The

me

G

Net score

+ - 0 0 0 0 0

+ 0 0 0 + + +

3

Generates revenue in Q2 0 0 0 0 + 0 +

Themes

0 0 1 0 2

Rank 1 4 5 4 3 4 2

Continue? Y N N Y Y N Y

+ = better than0 = same as- = worse than

37

© Mountain Goat Software, LLC

Theme scoring

weighted

Avoids compression of a category

Much worse than reference 1Worse than reference 2

Same as reference 3Better than reference 4

Much better than reference 5

38

© Mountain Goat Software, LLC

25 3 0.75

Competitive. with ABC

Starts us integrating...W

eigh

t

Net score

10

15

3.90

Generates Q2 revenue 50

Theme A

Importance to existing cust.

Rat

ing

WeightedScore

2 0.20

3 0.45

5 2.50

1 0.25

Theme B

Rat

ing

WeightedScore

3 0.30

4 0.60

2 1.00

4 1.00

Theme C

Rat

ing

WeightedScore

3 0.30

4 0.60

3 1.50

2.15 3.40

Rank 1 3 2

Continue? Yes No Yes

39

© Mountain Goat Software, LLC

Prioritizing MyCookSpace.comAssume we have a minimally functional site up with 4,000 registered cooks

We want 400,000 cooksAs groups, decide whether you want to use theme screening or theme scoring.Identify 4-5 themesIdentify some selection criteria

What’s important to the company in making this decision?

Complete a theme screening/scoring worksheet

40

© Mountain Goat Software, LLC

41

© Mountain Goat Software, LLC

∑∑

8 6 14 40 64 44More investment choices

Cos

t Pe

rcen

t

Estim

ate

91

Prio

rity

9 2 11 31 40 27 115

1 9 10 29 42 29 100

35 100 146 100

The

mes

42

© Mountain Goat Software, LLC

8 6 22 41 64 44More investment choices

Cos

t Pe

rcen

t

Estim

ate

The

mes

93

Prio

rity

9 2 20 38 40 27 141

1 9 11 21 42 29 72

53 100 14 100

2 1Weight→

43

© Mountain Goat Software, LLC

Priority pokerAn iterative approach to estimating:

44

© Mountain Goat Software, LLC

A

23 4 5 6 7 8 9

Estimator Round 1 Round 2

Susan

Vadim

Ann

Chris

3 58 52 55 7

45

© Mountain Goat Software, LLC

Relative weighting MyCookSpace.com

Using priority poker and the relative weighting worksheet provided, prioritize the themes you’ve

46

© Mountain Goat Software, LLC

Mandatory / Baseline

Must be present in order for

Linear The more of it, the better

Three types of features

Exciters / Delighters

Features a user doesn’t know she wants, until she sees it

47

© Mountain Goat Software, LLC

Surveying usersTo assess whether a feature is baseline, linear, or exciting we can:

Sometimes guessOr survey a small set of users (20-30)

We ask two questionsA functional question

How do you feel if a feature is present?

And a dysfunctional questionHow do you feel if that feature is absent?

48

© Mountain Goat Software, LLC

form of question

I expect it to be that way.X

form of question water, how do you

I expect it to be that way. X

49

© Mountain Goat Software, LLC

Categorizing an answer pair

Q E E E L

R I I I M

R I I I M

R I I I M

R R R R Q

Like

Expe

ct

Live

with

Like

Expect

Neutral

Live with

Dislike

Dysfunctional QuestionFu

nctio

nal Q

uest

ion

M MandatoryL LinearE ExciterQ QuestionableR ReverseI Indifferent

50

© Mountain Goat Software, LLC

3 11 31 1 3 2

4 22 20 4 1 0

21 9 14 5 1 1

Apply formatting themes

Automate report execution

Export reports to PowerPoint

Que

stio

nabl

e

Rev

erse

Indi

ffere

nt

Man

dato

ry

Line

ar

Exci

ter

Theme

51

© Mountain Goat Software, LLC

All of the baseline features

Some amount of linear features

But leaving room for at least a few exciters

52

© Mountain Goat Software, LLC

Date What Where

February London

March 1, 2007

Denver, CO

2007 CA

Register atwww.mountaingoatsoftware.com

53

© Mountain Goat Software, LLC

Mike Cohn contact [email protected]

www.mountaingoatsoftware.com

54