Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

Agile Planning
and Project
Management
Mike Cohn
Agile 2013
August 5, 2013
®
• Founding member of Agile Alliance & Scrum
Alliance
• Founder of Mountain Goat Software
• Doing Scrum since 1995
• Started my career as a programmer
• VP Engineering in 4 companies
Mike Cohn
1
2

2

© Copyright Mountain Goat Software
®
Agenda
• Iterative and
incremental
• User stories
• Estimating
• Planning
© Copyright Mountain Goat Software
®®
• Iterative and
incremental
• User stories
• Estimating
• Planning
Agenda
3
4

3

© Copyright Mountain Goat Software
®
Iterative
• Revisit previously worked-on pieces
© Copyright Mountain Goat Software
®
© Copyright Mountain Goat Software
®
Incremental
• Develop one piece at a time
© Copyright Mountain Goat Software
®
5
6

4

© Copyright Mountain Goat Software
®
Iterative & incremental
• Do some of one part then some of the
next
© Copyright Mountain Goat Software
®
© Copyright Mountain Goat Software
®
Daily
Iteration
Release
Product
Portfolio
Strategy
Team focuses here
Team focuses here
Team focuses here
Six levels of planning
7
8

5

© Copyright Mountain Goat Software
®
Iteration 2Iteration 1 Iteration 3 Iterations 4–7
Cd h … 8
Ts h … 1
Dsg a … 8
Cd h … 6
Ieain PaIeain Pa
Cd h … 6
Dcd … 4
Ts h … 6
Atmt … 8
A release plan
© Copyright Mountain Goat Software
®
Agenda
• Iterative and incremental
• User stories
• Estimating
• Planning
9
10

6

© Copyright Mountain Goat Software
®
A a feun flyr, I
wn o rbo a at
ti
A a ue, I at o
rsre a htl
ro.
A a vcto taee,
I at o e poo
o h htl.
A a ue, I a cne
a rsrain.
o ht I ae ie
boig tis I ae
otn.
© Copyright Mountain Goat Software
®
A template
As a <user type>,
I <want/need/can/etc.>
some goal,
[so that <reason>].
11
12

7

© Copyright Mountain Goat Software
®
Where are the details?
A a ue, I a
cne a
rsrain.
• 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?
• Is a confirmation provided
to the user? How?
© Copyright Mountain Goat Software
®
Add details as
sub-stories
A a ue, I a
cne a
rsrain.
A a peim ie
mme, I a
cne p o h
ls mnt.
A a nn-peim
mme, I ed o
cne t lat 4
hus n avne.
A a mme, I m
eald a
cnfirain
we I cne.
13
14

8

© Copyright Mountain Goat Software
®
… or as Conditions of Satisfaction
Vrf ht a peim mme
cn cne h ae a
wtot a fe.
Vrf ht a nn-peim
mme s cagd 1% o a
sm-dy cnelto.
Vrf ht n eal
cnfirain s sn.
• Conditions of Satisfaction are essentially tests
• Should come from the product owner
A a ue, I a cne a
rsrain.
© Copyright Mountain Goat Software
®
Time
Legend
Smaller
Larger
Size
Detail
Less More
Ei
Tee
15
16

9

© Copyright Mountain Goat Software
®
A a P Mreig, I a
rve h promne
o hsoia d cmags
s ht I a ietf n
rpa pofitbe oe.
A a P Mreig, I a
slc h tmfae o
ue hn rveig h
promne f at
cmags, o ht …
A a P Mreig, I a
slc wih ye f
cmags (drc mi, T,
eal, rdo, ec.) o
icue hn rveig …
A ei
Eis?
© Copyright Mountain Goat Software
®
A a P Mreig, I at
t e ifrain n
drc miig hn
rveig hsoia
cmags. As a VP Marketing, I want
to see information on TV
ads when reviewing
historical campaigns.
As a VP Marketing, I want
to see information on TV
ads when reviewing
historical campaigns.
A a P Mreig, I at
t e ifrain n
eal as hn rveig
hsoia cmags.
17
18

10

© Copyright Mountain Goat Software
®
Agenda
• Iterative and
incremental
• User stories
• Estimating
• Planning
© Copyright Mountain Goat Software
®®
• Iterative and
incremental
• User stories
• Estimating
• Planning
Agenda
19
20

11

How long to…
• Drive to Seattle
• Read a…ahem…
good book
© Copyright Mountain Goat Software
®
Estimate size; derive
300
kilograms
Size Calculation Duration
Velocity=
20
300÷20=
15 iterations
➞ ➞
21
22

12

© Copyright Mountain Goat Software
®
Two Units For
ESTIMATING
1 2
Ideal
Time
Story
Points
© Copyright Mountain Goat Software
®
Ideal time
• How long a thing will take if:
• it’s all you work on
• no one interrupts you
23
24

13

© Copyright Mountain Goat Software
®
© Copyright Mountain Goat Software
®
Story points
•How long a user story will take to
develop (effort)
•Influenced by
• Complexity
• Uncertainty
• Risk
• Etc.
25
26

14

® © Copyright Mountain Goat Software
Your time cannot be added to mine
• You can run the trail in 5 minutes
• I can run it in 10 minutes
• We can’t agree on how long it will take to run
• But we can agree the trail is 1 km
27
28

15

© Copyright Mountain Goat Software
®
Planning Poker®
• Each estimator has
cards with valid
estimates
• A product backlog item
is discussed
• Each estimator selects
an estimate
• Cards are turned over
• Discuss differences
(especially outliers)
• Repeat until consensus
® © Copyright Mountain Goat Software
Susan
Vadim
Ann
Chris
29
30

16

© Copyright Mountain Goat Software
®
Agenda
• Iterative and
incremental
• User stories
• Estimating
• Planning
© Copyright Mountain Goat Software
®®
• Iterative and
incremental
• User stories
• Estimating
• Planning
Agenda
31
32

17

© Copyright Mountain Goat Software
®
0
10
20
30
40
50
34 35
40
29
42
38
45
40 39 Average
= 38
StoryPoints
Iterations
Velocity
© Copyright Mountain Goat Software
®
Product Backlog
How much can
be delivered in 5
iterations?
5×38➞
33
34

18

© Copyright Mountain Goat Software
®
Using a confidence interval
0
10
20
30
40
50
34 35
40
29
42
38
45
40 39
StoryPoints
Iterations
© Copyright Mountain Goat Software
®
Calculating a confidence interval
# of
historical
iterations
Iterations to
throw out
from each
each end
0–7 0
8–10 1
11–12 2
13–15 3
16–17 4
18–20 5
21–22 6
23–25 7
26+ 8
35
36

19

© Copyright Mountain Goat Software
®
Ue h oln
vlct rne
cluao t
mutigasfwr
.cm/tos
© Copyright Mountain Goat Software
®
Product
Backlog
Will have
Might have
Won’t have
A better answer:
• How much can
be delivered in 5
iterations?
• Fixed-date
planning
5×34➞5×42➞
37
38

20

© Copyright Mountain Goat Software
®
Fixed-scope projects
• Sum the product backlog
• Estimate velocity as a range
• Divide the size of the product backlog by
the velocity range
120÷15=
JUNE
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
3
10
17
24
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
SUN MON TUE WED THU FRI SAT
JANUARY
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
6
13
20
27
SUN MON TUE WED THU FRI SAT
FEBRUARY
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
2
9
16
23
3
10
17
24
SUN MON TUE WED THU FRI SAT
MARCH
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
SUN MON TUE WED THU FRI SAT
APRIL
1
8
15
22
29
2
9
16
23
30
3
10
17
24
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
SUN MON TUE WED THU FRI SAT
MAY
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
SUN MON TUE WED THU FRI SAT
JULY
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
SUN MON TUE WED THU FRI SAT
AUGUST
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
SUN MON TUE WED THU FRI SAT
120÷20=
JUNE
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
3
10
17
24
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
SUN MON TUE WED THU FRI SAT
JANUARY
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
6
13
20
27
SUN MON TUE WED THU FRI SAT
FEBRUARY
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
2
9
16
23
3
10
17
24
SUN MON TUE WED THU FRI SAT
MARCH
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
SUN MON TUE WED THU FRI SAT
APRIL
1
8
15
22
29
2
9
16
23
30
3
10
17
24
4
11
18
25
5
12
19
26
6
13
20
27
7
14
21
28
SUN MON TUE WED THU FRI SAT
MAY
6
13
20
27
7
14
21
28
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
5
12
19
26
SUN MON TUE WED THU FRI SAT
®
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
fb.com/mountaingoatsoftware
linkedin.com/in/mikewcohn
twitter: mikewcohn
(888) 61–AGILE
Mike Cohn
39
40

21

© Copyright Mountain Goat Software
®
Agenda
• Iterative and
incremental
• User stories
• Estimating
• Planning
• Tracking progress
© Copyright Mountain Goat Software
®®
• Iterative and
incremental
• User stories
• Estimating
• Planning
• Tracking progress
Agenda
Bonus Section
41
42

22

© Copyright Mountain Goat Software
®
Three Ways to
Track Progress
3
Task
Boards
2
Sprint
Burndown
1
Release
Burndown
© Copyright Mountain Goat Software
®
A release burndown chart
0
90
180
270
360
0 1 2 3 4 5 6
Iterations
StoryPoints
peitd
vlct f
6
7
43
44

23

© Copyright Mountain Goat Software
®
Mon ThurWedTues FriTasks
8Code the UI
16Code the middle tier
8Test the middle tier
12
4
12
16
8
10
16
7
11 8
Write online help
50
40
30
20
10
0
Mon
Tues
Wed
Thur
Fri
Hours
® © Copyright Mountain Goat Software
Task boards
Soy T D I Poes Dn
A a nvc
ue, I…
8 t
Cd te…
8 hs
Cd te…
8 hs
A a ue,
I…
8 ps
Dsg a…
8 hs
Ts te…
4 hs
Dsg a…
8 hsTs te…
4 hs
Fgr u
hw…
S 8 r
Fgr u
hw…
8 r
45
46

24

®
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
fb.com/mountaingoatsoftware
linkedin.com/in/mikewcohn
twitter: mikewcohn
(888) 61–AGILE
Mike Cohn
47

More Related Content

Agile planning and project management

  • 1. Agile Planning and Project Management Mike Cohn Agile 2013 August 5, 2013 ® • Founding member of Agile Alliance & Scrum Alliance • Founder of Mountain Goat Software • Doing Scrum since 1995 • Started my career as a programmer • VP Engineering in 4 companies Mike Cohn 1 2
  • 2. © Copyright Mountain Goat Software ® Agenda • Iterative and incremental • User stories • Estimating • Planning © Copyright Mountain Goat Software ®® • Iterative and incremental • User stories • Estimating • Planning Agenda 3 4
  • 3. © Copyright Mountain Goat Software ® Iterative • Revisit previously worked-on pieces © Copyright Mountain Goat Software ® © Copyright Mountain Goat Software ® Incremental • Develop one piece at a time © Copyright Mountain Goat Software ® 5 6
  • 4. © Copyright Mountain Goat Software ® Iterative & incremental • Do some of one part then some of the next © Copyright Mountain Goat Software ® © Copyright Mountain Goat Software ® Daily Iteration Release Product Portfolio Strategy Team focuses here Team focuses here Team focuses here Six levels of planning 7 8
  • 5. © Copyright Mountain Goat Software ® Iteration 2Iteration 1 Iteration 3 Iterations 4–7 Cd h … 8 Ts h … 1 Dsg a … 8 Cd h … 6 Ieain PaIeain Pa Cd h … 6 Dcd … 4 Ts h … 6 Atmt … 8 A release plan © Copyright Mountain Goat Software ® Agenda • Iterative and incremental • User stories • Estimating • Planning 9 10
  • 6. © Copyright Mountain Goat Software ® A a feun flyr, I wn o rbo a at ti A a ue, I at o rsre a htl ro. A a vcto taee, I at o e poo o h htl. A a ue, I a cne a rsrain. o ht I ae ie boig tis I ae otn. © Copyright Mountain Goat Software ® A template As a <user type>, I <want/need/can/etc.> some goal, [so that <reason>]. 11 12
  • 7. © Copyright Mountain Goat Software ® Where are the details? A a ue, I a cne a rsrain. • 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? • Is a confirmation provided to the user? How? © Copyright Mountain Goat Software ® Add details as sub-stories A a ue, I a cne a rsrain. A a peim ie mme, I a cne p o h ls mnt. A a nn-peim mme, I ed o cne t lat 4 hus n avne. A a mme, I m eald a cnfirain we I cne. 13 14
  • 8. © Copyright Mountain Goat Software ® … or as Conditions of Satisfaction Vrf ht a peim mme cn cne h ae a wtot a fe. Vrf ht a nn-peim mme s cagd 1% o a sm-dy cnelto. Vrf ht n eal cnfirain s sn. • Conditions of Satisfaction are essentially tests • Should come from the product owner A a ue, I a cne a rsrain. © Copyright Mountain Goat Software ® Time Legend Smaller Larger Size Detail Less More Ei Tee 15 16
  • 9. © Copyright Mountain Goat Software ® A a P Mreig, I a rve h promne o hsoia d cmags s ht I a ietf n rpa pofitbe oe. A a P Mreig, I a slc h tmfae o ue hn rveig h promne f at cmags, o ht … A a P Mreig, I a slc wih ye f cmags (drc mi, T, eal, rdo, ec.) o icue hn rveig … A ei Eis? © Copyright Mountain Goat Software ® A a P Mreig, I at t e ifrain n drc miig hn rveig hsoia cmags. As a VP Marketing, I want to see information on TV ads when reviewing historical campaigns. As a VP Marketing, I want to see information on TV ads when reviewing historical campaigns. A a P Mreig, I at t e ifrain n eal as hn rveig hsoia cmags. 17 18
  • 10. © Copyright Mountain Goat Software ® Agenda • Iterative and incremental • User stories • Estimating • Planning © Copyright Mountain Goat Software ®® • Iterative and incremental • User stories • Estimating • Planning Agenda 19 20
  • 11. How long to… • Drive to Seattle • Read a…ahem… good book © Copyright Mountain Goat Software ® Estimate size; derive 300 kilograms Size Calculation Duration Velocity= 20 300÷20= 15 iterations ➞ ➞ 21 22
  • 12. © Copyright Mountain Goat Software ® Two Units For ESTIMATING 1 2 Ideal Time Story Points © Copyright Mountain Goat Software ® Ideal time • How long a thing will take if: • it’s all you work on • no one interrupts you 23 24
  • 13. © Copyright Mountain Goat Software ® © Copyright Mountain Goat Software ® Story points •How long a user story will take to develop (effort) •Influenced by • Complexity • Uncertainty • Risk • Etc. 25 26
  • 14. ® © Copyright Mountain Goat Software Your time cannot be added to mine • You can run the trail in 5 minutes • I can run it in 10 minutes • We can’t agree on how long it will take to run • But we can agree the trail is 1 km 27 28
  • 15. © Copyright Mountain Goat Software ® Planning Poker® • Each estimator has cards with valid estimates • A product backlog item is discussed • Each estimator selects an estimate • Cards are turned over • Discuss differences (especially outliers) • Repeat until consensus ® © Copyright Mountain Goat Software Susan Vadim Ann Chris 29 30
  • 16. © Copyright Mountain Goat Software ® Agenda • Iterative and incremental • User stories • Estimating • Planning © Copyright Mountain Goat Software ®® • Iterative and incremental • User stories • Estimating • Planning Agenda 31 32
  • 17. © Copyright Mountain Goat Software ® 0 10 20 30 40 50 34 35 40 29 42 38 45 40 39 Average = 38 StoryPoints Iterations Velocity © Copyright Mountain Goat Software ® Product Backlog How much can be delivered in 5 iterations? 5×38➞ 33 34
  • 18. © Copyright Mountain Goat Software ® Using a confidence interval 0 10 20 30 40 50 34 35 40 29 42 38 45 40 39 StoryPoints Iterations © Copyright Mountain Goat Software ® Calculating a confidence interval # of historical iterations Iterations to throw out from each each end 0–7 0 8–10 1 11–12 2 13–15 3 16–17 4 18–20 5 21–22 6 23–25 7 26+ 8 35 36
  • 19. © Copyright Mountain Goat Software ® Ue h oln vlct rne cluao t mutigasfwr .cm/tos © Copyright Mountain Goat Software ® Product Backlog Will have Might have Won’t have A better answer: • How much can be delivered in 5 iterations? • Fixed-date planning 5×34➞5×42➞ 37 38
  • 20. © Copyright Mountain Goat Software ® Fixed-scope projects • Sum the product backlog • Estimate velocity as a range • Divide the size of the product backlog by the velocity range 120÷15= JUNE 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 3 10 17 24 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 SUN MON TUE WED THU FRI SAT JANUARY 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 SUN MON TUE WED THU FRI SAT FEBRUARY 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 2 9 16 23 3 10 17 24 SUN MON TUE WED THU FRI SAT MARCH 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 SUN MON TUE WED THU FRI SAT APRIL 1 8 15 22 29 2 9 16 23 30 3 10 17 24 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 SUN MON TUE WED THU FRI SAT MAY 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 SUN MON TUE WED THU FRI SAT JULY 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 SUN MON TUE WED THU FRI SAT AUGUST 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 SUN MON TUE WED THU FRI SAT 120÷20= JUNE 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 3 10 17 24 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 SUN MON TUE WED THU FRI SAT JANUARY 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 SUN MON TUE WED THU FRI SAT FEBRUARY 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 2 9 16 23 3 10 17 24 SUN MON TUE WED THU FRI SAT MARCH 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 SUN MON TUE WED THU FRI SAT APRIL 1 8 15 22 29 2 9 16 23 30 3 10 17 24 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 SUN MON TUE WED THU FRI SAT MAY 6 13 20 27 7 14 21 28 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 SUN MON TUE WED THU FRI SAT ® mike@mountaingoatsoftware.com www.mountaingoatsoftware.com fb.com/mountaingoatsoftware linkedin.com/in/mikewcohn twitter: mikewcohn (888) 61–AGILE Mike Cohn 39 40
  • 21. © Copyright Mountain Goat Software ® Agenda • Iterative and incremental • User stories • Estimating • Planning • Tracking progress © Copyright Mountain Goat Software ®® • Iterative and incremental • User stories • Estimating • Planning • Tracking progress Agenda Bonus Section 41 42
  • 22. © Copyright Mountain Goat Software ® Three Ways to Track Progress 3 Task Boards 2 Sprint Burndown 1 Release Burndown © Copyright Mountain Goat Software ® A release burndown chart 0 90 180 270 360 0 1 2 3 4 5 6 Iterations StoryPoints peitd vlct f 6 7 43 44
  • 23. © Copyright Mountain Goat Software ® Mon ThurWedTues FriTasks 8Code the UI 16Code the middle tier 8Test the middle tier 12 4 12 16 8 10 16 7 11 8 Write online help 50 40 30 20 10 0 Mon Tues Wed Thur Fri Hours ® © Copyright Mountain Goat Software Task boards Soy T D I Poes Dn A a nvc ue, I… 8 t Cd te… 8 hs Cd te… 8 hs A a ue, I… 8 ps Dsg a… 8 hs Ts te… 4 hs Dsg a… 8 hsTs te… 4 hs Fgr u hw… S 8 r Fgr u hw… 8 r 45 46