© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
Prioritizing Your Product Backlog
Mike Cohn
June 8, 2010
© Copyright Mountain Goat Software®
®
Mike CohnFounding member and director of Agile Alliance and Scrum Alliance
Founder of Mountain Goat Software
Doing Scrum since 1995
Started my career as a programmer
1
2
© Copyright Mountain Goat Software®
®
Formal prioritization approaches forChoosing among projects
Choosing between “epics” or “big features”
An informal approach (expert opinion)Once you’ve selected the epics / big features
© Copyright Mountain Goat Software®
®
Features that are too small cannot be effectively prioritized against each otherWhat’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?
3
4
© Copyright Mountain Goat Software®
®
© Copyright Mountain Goat Software®
®
Prioritize epics then open them up to optimize release contents
The release
5
6
© Copyright Mountain Goat Software®
®
Kano analysis
Expert opinion
Theme screening
Theme scoring
Relative weighting
Financial analysis
© Copyright Mountain Goat Software®
®
Non-financialprioritization
7
8
© Copyright Mountain Goat Software®
®
• Must be present in order for users to be satisfied
Mandatory / Baseline
• The more of it, the better
Linear
• Features a user doesn’t know she wants, until she sees it
Exciters / Delighters
© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
®
Impact on user satisfaction
FeaturePresence
Satis
fact
ion
Low
Hig
h
Low High
Exciters/Delighters
MandatoryLinear
9
10
© Copyright Mountain Goat Software®
®
To assess whether a feature is baseline, linear, or exciting we can:
Sometimes guess
Or 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?
© Copyright Mountain Goat Software®
®
If your hotel room includes a free
bottle of water, how do you feel?
I expect it to be that way.I like it that way.
I am neutral.I can live with it that way.
I dislike it that way.
If your hotel room does not include a
free bottle of water, how do you
feel?
I expect it to be that way.I like it that way.
I am neutral.I can live with it that way.
I dislike it that way.
Functionalform ofquestion
Dysfunctionalform ofquestion
11
12
© Copyright Mountain Goat Software®
®
Categorizing an answer pair
Dysfuncctional Quuestion
Like Expect Neutral Live with Dislike
Like
Expect
Neutral
Live with
Dislike
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
Func
tiona
lQ
uest
ion
MandatoryLinearExciter
QuestionableReverseIndifferent
© Copyright Mountain Goat Software®
®
Aggregating results
Apply stylesheets
Automate report execution
Export reports to PowerPoint
3 11 31 1 3 2
4 22 20 4 1 0
21 9 14 5 1 1
Que
stio
nabl
e
Rev
erse
Indi
ffere
nt
Man
dato
ry
Line
ar
Exci
ter
The
mes
13
14
© Copyright Mountain Goat Software®
®
All of the baseline featuresBy definition, these must be present
Some amount of linear features
But leaving room for at least a few exciters
© Copyright Mountain Goat Software®
®
You are thinking about buying a new eco-friendly car. Identify examples of:• Mandatory features• Linear features• Exciters
Your new car
15
16
© Copyright Mountain Goat Software®
®
Assess the impact of having a story/theme from 1-9
Assess impact of NOT having it from 1-9
Calculate the value of each story or theme relative to the entire product backlog
This gives you the relative value of that story or theme
Estimate the cost of each story theme
Calculate the cost of each story or theme relative to the entire product backlog
This gives the relative cost of that story or theme
Priority is given by (Relative Value ÷ Relative Cost)
© Copyright Mountain Goat Software®
®
Relative weighting: an example
More investment choices
Portfolio rebalancing
Comply with new law
Total:
Rel
ativ
e Be
nefit
Rel
ativ
e Pe
nalty
Tota
l Val
ue
Valu
e Pe
rcen
t
Estim
ate
Cos
t Pe
rcen
t
Prio
rity
8
9
1
6
2
9
14
11
10
35
40
31
29
100
64
40
42
146
44
27
29
100
91
115
100
17
18
© Copyright Mountain Goat Software®
®
• You are the VP of Product Development at MyCookSpace.com, a social networking site
• You have a minimally functional site up with 4,000 registered cooks
• You are trying to grow that to 400,000 as quickly as possible before you run out of money
• You are also interested in other features that result in revenue
• Identify 4-5 epics or big features to develop• Complete a relative weighting worksheet
• Make reasonable but wild guesses at development effort estimates
Prioritizing MyCookSpace.com
© Copyright Mountain Goat Software®
®
19
20
Relative Benefit
Relative Penalty
Total Value
Value Percent
Estimate
Cost Percent
Priority
Themes
Tota
l:10
010
0
Tota
l Val
ue =
Rel
ativ
e Be
nefit
+ R
elat
ive
Pena
lty (!
wei
ghts
if u
sed)
Valu
e Pe
rcen
t = T
otal
Val
ue ÷
"(T
otal
Val
ue)
Cos
t Per
cent
= E
stim
ate
÷ "E
stim
ate
Prio
rity
= Va
lue
Perc
ent /
Cos
t Per
cent
(hig
her =
hig
her p
riorit
y)
Relative Weighting Worksheet
© Copyright Mountain Goat Software®
®
Focus needs to be on delivering value to the customer
But consider these four factors1. Delivery of new capabilities
2. Development of new knowledge
3. Mitigation of risk
4. Changes in relative cost
© Copyright Mountain Goat Software®
®
Identify around 5-9 selection criteria for what is important in the next release
Select a baseline themeLikely to be included in the next release
Understood by most team members
Assess each candidate theme relative to the baseline theme
21
22
© Copyright Mountain Goat Software®
®
Theme screening: an example
Continue?
The
me
ARank
Net Score
Generates revenue in Q2
Starts us integrating product lines
Competitiveness with ABC Corp.
Importance to existing customers +
+
+
0
The
me
B
+
−
0
0
Epic
C
Base
line
The
me
The
me
D
Epic
E
Epic
F
+3 0
−
0
0
0
−1
0
0
0
0
0
−
0
+
+
+1
+
0
−
0
0
0
0
+
+
+2
1 7 34 4 4 2
N N NY Y Y Y
Sele
ctio
n cr
iteri
aThemes
+ = better than0 = same as− = worse than
© Copyright Mountain Goat Software®
®
Like theme screening but selection criteria are weighted
Need to select a baseline theme for each criteriaAvoids category compression
Each theme is assessed against the baseline for each selection criteria
23
24
© Copyright Mountain Goat Software®
®
3.90
1 3 2
Yes No Yes
Theme scoring: an example
Continue?
Rank
Net Score
Generates revenue in Q2
Starts us integrating product lines
Competitiveness with ABC Corp.
Importance to existing customers
Wei
ght
Rat
ing
Theme A
Wei
ghte
d Sc
ore
3
2
3
5
0.75
0.20
0.45
2.50
Rat
ing
Epic B
Wei
ghte
d Sc
ore
1
3
4
2
2.15
0.25
0.30
0.60
1.00
Rat
ing
Theme C
Wei
ghte
d Sc
ore
4
3
4
3
3.40
1.00
0.30
0.60
1.50
25%
10%
15%
50%
© Copyright Mountain Goat Software®
®
•Using the same themes identified forthe relative weighting exercise, completea theme screening or theme scoring worksheet for MyCookSpace.com
Theme screening or scoring
25
26
Net score
Rank
Continue?
+ = Better than 0 = Same as − = Worse than
Theme Screening WorksheetS
elec
tion
Crit
eria
Themes
Weight
RatingW
eigh
ted
Sco
re
Rating
Wei
ghte
d S
core
Rating
Wei
ghte
d S
core
Rating
Wei
ghte
d S
core
Rating
Wei
ghte
d S
core
Net
Sco
re
Ran
k
Con
tinue
?
Sel
ectio
n C
riter
ia
The
me
Sco
ring
Wor
kshe
et
© Copyright Mountain Goat Software®
®
Financialprioritization
© Copyright Mountain Goat Software®
®
All financial decisions involve three elementsHow much?
How long?
At what interest rate?
If you’re buying a house:It’s a $220,000 loan
For 30 years
At 7% per year
27
28
© Copyright Mountain Goat Software®
®
© Copyright Mountain Goat Software®
®
Year
Projeect A Projeect B
Investment Return Investment Return
0
1
2
3
4
5
$1,000 $1,000
$200 $3,000
$300 $500
$500 $300
$3,000 $200
$0 $0
29
30
© Copyright Mountain Goat Software®
®
A dollar today is worth more than a dollar a year from now
I’ll gladly pay you on Tuesday for a hamburger
today.
© Copyright Mountain Goat Software®
®
Calculating the value of future dollars
To buy a $5 hamburger next Tuesday…
To buy a $5 hamburgerin a year, how much doI put in the bank today?
I would put around $4.99 in the bank today
$5.001+0.10
$5.001.10
$4.54==
Assumes 10% interest rate
The present value of $5.00 a year from now
31
32
© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
®
Present value of one future amount
Future Value1+interest rate
PresentValue =
$5.001+0.10
= $4.54An example:
GeneralizingFV
(1+i)tPV =
Simplifying
PV = FV(1+i)-t
© Copyright Mountain Goat Software®
®
The present value of a stream of cash flows
Measures the return on a theme or project as an amount of money
Ft(1+i)-tNPV(i) = ∑ t=0
n
33
34
© Copyright Mountain Goat Software®
®
Quarter Cash Flow (1+i)-t Discounted
Cash FlowRunning
Total
0
1
2
3
4
-200 1.000 -200 -200
-600 0.971 -583 -783
100 0.943 94 -689
300 0.915 275 -414
500 0.888 444 30
• Assuming 12% annual discount rate (3% / quarter)
© Copyright Mountain Goat Software®
®
Quarter Cash Flow Discounted Cash Flow (3%)
Discounted Cash Flow (6%)
01234
Total
–200 –200 –200–600 –583 –783100 94 –689300 275 –414500 444 30100 30 –29
• NPV is highly sensitive to the chosen discount rate
Do the project under these circumstances
But not under these
35
36
© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
®
Comparing NPVs
Highest NPV brings the most present-value dollars to the company
© Copyright Mountain Goat Software®
®
37
38
© Copyright Mountain Goat Software®
®
Rather than expressing returns in dollars, we’d like to express return as a percentage
Allows for direct comparisons
NPV = how much money a project will return
ROI = how quickly an investment will grow
© Copyright Mountain Goat Software®
®
IRR = Internal Rate of ReturnOften called Return On Investment (ROI)
The interest rate at which NPV is 0
0 = PV (i*) = Ft 1+ i( )− tt= 0
n
∑
39
40
© Copyright Mountain Goat Software®
®
IRR gives us the discount rate at which we don’t care whether or not we do the project
We don’t make $30; we don’t lose $29; we break even
Quarter Cash Flow Discounted Cash Flow (3%)
Discounted Cash Flow (6%)
01234
Total
–200 –200 –200–600 –583 –783100 94 –689300 275 –414500 444 30100 30 –29
© Copyright Mountain Goat Software®
®
Use Excel’s irr function
+irr({−200, −600, 100, 300, 500})
An investment made on the first day of the project
Cash flows for remainder of
project(4 quarters)
41
42
© Copyright Mountain Goat Software®
®
AdvantagesYou don’t need to guess at a discount rate like with NPV
Can be used to directly compare projects
DisadvantagesCalculation is hard to do by hand (but easy in Excel); may lead to numbers being distrusted
Cannot use in all circumstances
e.g., once cash flow turns positive, it stays positive
© Copyright Mountain Goat Software®
®
43
44
© 2009 Mountain Goat Software© Copyright Mountain Goat Software®
®
Payback periodThe amount of time before an initial investment is paid back
I loan you $5. You pay me back $1/week. The payback period is 5 weeks.
Quarter Cash Flow Running Total
01234
-200 -200-200 -400100 -300300 0500 500
© Copyright Mountain Goat Software®
®
AdvantagesCalculation is very easy
Measures the duration of financial risk
Longer payback period = greater risk
DisadvantagesDoesn’t consider the time-value of money
Doesn’t measure profitability at all
45
46
© Copyright Mountain Goat Software®
®
Quarter Cash Flow
(1+i)-t
i=3%Discounted Cash Flow
Running Total
01234
-200 1.000 -200 -200-200 0.971 -194 -394100 0.943 94 -300300 0.915 275 -25500 0.888 444 419
• Discount future cash flows and determine when the investment is paid back
Discounted payback period = 4 quarters
© Copyright Mountain Goat Software®
®
Net Present Value (NPV)Sum of discounted future cash flows
Expresses return as an amount of money
Return on Investment (ROI) / Internal Rate of ReturnThe interest rate at which NPV = 0
That is, at which you’d be indifferent to the investment
Expresses return as a percentage
Discounted payback periodAmount of time before discounted returns equal the investment
Expresses return as an amount of time
47
48
© Copyright Mountain Goat Software®
®
© Copyright Mountain Goat Software®
®
Upcoming public classes
Seemountaingoatsoftware.com
for details
49
50