Agile planning and project management

3,680 views

Published on

Presentation given by Mike Cohn at Agile 2013.

Published in: Business, Technology

Agile planning and project management

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. ® mike@mountaingoatsoftware.com www.mountaingoatsoftware.com fb.com/mountaingoatsoftware linkedin.com/in/mikewcohn twitter: mikewcohn (888) 61–AGILE Mike Cohn 47

×