<<

Agile Planning and Mike Cohn Agile 2013 August 5, 2013

1

Mike Cohn

• Founding member of Agile Alliance & Scrum Alliance • Founder of Mountain Goat • Doing Scrum since 1995 • Started my career as a programmer • VP Engineering in 4 companies

® 2 Agenda • Iterative and incremental • User stories • Estimating • Planning

© Copyright Mountain Goat Software ® 3

Agenda • Iterative and incremental • User stories • Estimating • Planning

© Copyright Mountain Goat Software ® 4 Iterative • Revisit previously worked-on pieces

© Copyright Mountain Goat Software ® 5

Incremental • Develop one piece at a time

© Copyright Mountain Goat Software ® 6 Iterative & incremental • Do some of one part then some of the next

© Copyright Mountain Goat Software ® 7

Six levels of planning

Strategy

Portfolio Product Team focuses here Release Team focuses here Iteration Team focuses here Daily

© Copyright Mountain Goat Software ® 8 A release plan Iteration 1 Iteration 2 Iteration 3 Iterations 4–7

IeaiIne Paain Pa 6 Cd hC …d h … 8 Dcd … 4 Ts h … 1 Ts h … 6 Dsg a … 8 Atmt … 8 Cd h … 6 © Copyright Mountain Goat Software ® 9

Agenda • Iterative and incremental • User stories • Estimating • Planning

© Copyright Mountain Goat Software ® 10 A a ue, I at o A a vcto taee, rsre a htl I at o e poo ro. o h htl.

A a feun flyr, I A a ue, I a cne wn o rbo a at a rsrain. t  i  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 ® 11

A template

As a , I some goal, [so that ].

© Copyright Mountain Goat Software ® 12 Where are the details?

A a ue, I a • Does the user get a full or partial refund? cne a • Is the refund to her credit rsrain. 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 ® 13

Add details as A a peim ie sub-stories mme, I a cne p o h ls mnt.

A a ue, I a A a nn-peim cne a mme, I ed o rsrain. 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 Copyright I c Mountainne Goat. Software ® 14 … or as Conditions of Satisfaction • 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. 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. © Copyright Mountain Goat Software ® 15

Legend Tee Size Larger

Ei Smaller

Detail

Less More Time © Copyright Mountain Goat Software ® 16 A a P Mreig, I a slc h tmfae o A a P Mreig, I a ue hn rveig h rve h promne promne f at o hsoia d cmags cmags, o ht … Eis? s ht I a ietf n A a P Mreig, I a rpa pofitbe oe. slc wih ye f cmags (drc mi, T, A ei eal, rdo, ec.) o icue hn rveig …

© Copyright Mountain Goat Software ® 17

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. A a P Mreig, I at t e ifrain n T as hn rveig hsoia cm ags. 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.

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

© Copyright Mountain Goat Software ® 19

Agenda • Iterative and incremental • User stories • Estimating • Planning

© Copyright Mountain Goat Software ® 20 How long to… • Drive to Seattle • Read a…ahem… good book

21

Estimate size; derive

Size ➞ Calculation ➞ Duration

300 Velocity= 300÷20= kilograms 20 15 iterations

© Copyright Mountain Goat Software ® 22 Two Units For ESTIMATING

1 2 Ideal Story Time Points

© Copyright Mountain Goat Software ® 23

Ideal time • How long a thing will take if: • it’s all you work on • no one interrupts you

© Copyright Mountain Goat Software ® 24 © Copyright Mountain Goat Software ® 25

Story points • How long a will take to develop (effort) • Influenced by • Complexity • Risk • Uncertainty • Etc.

© Copyright Mountain Goat Software ® 26 27

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

© Copyright Mountain Goat Software ® 28 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 ® 29

Chris

Susan Ann Vadim

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

© Copyright Mountain Goat Software ® 31

Agenda • Iterative and incremental • User stories • Estimating • Planning

© Copyright Mountain Goat Software ® 32 Velocity 50 45 40 42 40 40 38 39 Average 34 35 = 38 30 29

20 Story Points 10

0 Iterations

© Copyright Mountain Goat Software ® 33

How much can 5×38➞ be delivered in 5 iterations?

Product Backlog © Copyright Mountain Goat Software ® 34 Using a confidence interval 50 45 40 42 40 40 38 39 34 35 30 29

20

Story Points 10

0 Iterations

© Copyright Mountain Goat Software ® 35

Calculating a confidence interval Iterations to # of throw out historical from each iterations 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 © Copyright Mountain Goat Software ® 36 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 ® 37

A better answer: 5×3442➞ • How much can Will have be delivered in 5 iterations? • Fixed-date planning Might have

Won’t have

Product Backlog © Copyright Mountain Goat Software ® 38 Fixed-scope projects • Sum the product backlog • Estimate velocity as a range • Divide the size of the product backlog by the velocity range

JANUARY FEBRUARY MARCH APRIL MAY JUNE

SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT 1 2 3 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 1 2 3 41 52

7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12 63 47 58 69 107 118 129

14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19 1013 1411 1512 1613 1417 1518 1619 120÷20= 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26 2017 1821 2219 2023 2421 2522 2623 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 29 30 27 28 29 30 31 2427 2528 2629 3027 2831 29 30

JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST

SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT SUN MON TUE WED THU FRI SAT 1 2 3 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 1 2 3 41 52 1 2 3 4 5 6 7 1 2 3 4

7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12 63 47 58 69 107 118 129 8 9 10 11 12 13 14 5 6 7 8 9 10 11

14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19 1013 1411 1512 1613 1417 1518 1619 15 16 17 18 19 20 21 12 13 14 15 16 17 18 120÷15= 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26 2017 1821 2219 2023 2421 2522 2623 22 23 24 25 26 27 28 19 20 21 22 23 24 25 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 29 30 27 28 29 30 31 2427 2528 2629 3027 2831 29 30 29 30 31 26 27 28 29 30 31

© Copyright Mountain Goat Software ® 39

Mike Cohn [email protected] www.mountaingoatsoftware.com fb.com/mountaingoatsoftware linkedin.com/in/mikewcohn twitter: mikewcohn (888) 61–AGILE

® 40 Agenda • Iterative and incremental • User stories • Estimating • Planning • Tracking progress

© Copyright Mountain Goat Software ® 41

Agenda • Iterative and incremental • User stories • Estimating Bonus Section • Planning • Tracking progress

© Copyright Mountain Goat Software ® 42 Three Ways to Track Progress

1 2 3 Release Sprint Task Burndown Burndown Boards

© Copyright Mountain Goat Software ® 43

A release burndown chart 360

270

180 7 Story Points 90 peitd vlct f 6 0 0 1 2 3 4 5 6 Iterations

© Copyright Mountain Goat Software ® 44 Tasks Mon Tues Wed Thur Fri Code the UI 8 4 8 Code the middle tier 16 12 10 7 Test the middle tier 8 16 16 11 8 Write online help 12

50 40 30 20 Hours 10 0 Fri Mon Thur Wed Tues © Copyright Mountain Goat Software ® 45

Task boards Soy T D I Poes Dn

A a ue, Cd te… I… Dsg a… 8 ps 8 hs Ts te… 8 hs Fgr u Fgr u h4w… hs hw… 8 r S 8 r

A a nvc Cd te… ue, I… Dsg a… 8 t 8 hs Ts te… 8 hs

4 hs © Copyright Mountain Goat Software ® 46 Mike Cohn [email protected] www.mountaingoatsoftware.com fb.com/mountaingoatsoftware linkedin.com/in/mikewcohn twitter: mikewcohn (888) 61–AGILE

® 47