Agile Estimating and Planning [material inspired by “Agile Estimating and Planning” by Mike Cohn] Laurie Williams North Carolina State University [email protected] This lecture material is copyrighted by Laurie Williams (2007). However, you are encouraged to download, forward, copy, print, or distribute it, provided you do so in its entirety (including this notice) and do not sell or otherwise exploit it for commercial purposes. Estimating and planning Estimating – estimating the [resources, time, size] required to develop a [user story, feature, or requirement] Planning – putting the estimates together to formulate a project plan and schedule © Laurie Williams 2007 2 Estimating size: concepts Story point: unit of measure for expressing the overall size of a user story, feature, or other piece of work. The raw value of a story point is unimportant. What matters are the relative values values. – Related to how hard it is and how much of it there is – NOT related to amount of time or # of people – Unitless, but numerically-meaningful Ideal time: the amount of time “something” takes when stripped of all peripheral activities – Example: American football game = 60 minutes Elapsed time: the amount of time that passes on the clock to do “something” – Example: American football game = 3 hours Velocity: measure of a team’s rate of progress © Laurie Williams 2007 3 Coming up with the plan Desired Features 5 story points/twoweek iteration 30 October 30 story points 6 iterations © Laurie Williams 2007 4 Estimating “dog points” Estimate each of the dogs below in dog points, assigning each dog a minimum of 1 dog point and a maximum of 10 dog points A dog point represents the height of a dog at the shoulder – Labrador retriever – Terrier – Great Dane – Poodle – Dachshund – German shepherd – St. Bernard – Bulldog © Laurie Williams 2007 5 What if? Estimate each of the dogs below in dog points, assigning each dog a minimum of 1 dog point and a maximum of 100 dog points A dog point represents the height of a dog at the shoulder – Labrador retriever – Terrier – Great Dane – Poodle – Dachshund – German shepherd – St. Bernard – Bulldog Harder or easier? More or less accurate? More or less time consuming? © Laurie Williams 2007 6 Estimating story points Choose a medium-size story and assign it a “5” Estimate other stories relative to that – – – – Twice as big g Half as big Almost but not quite as big A little bit bigger Only values: –0, 1, 2, 3, 5, 8, 13, 20, 40, 100 Near term iteration “stories” A few iterations away “epic” © Laurie Williams 2007 7 Estimating ideal days Ideal days vs. elapsed time in software development – – – – – – – Supporting current release Sick time Meetings Demonstrations Personal issues Phone calls .... When estimating g ideal days, y , assume: – The story being estimated is the only thing you’ll work on – Everything you need will be on hand when you start – There will be no interruptions © Laurie Williams 2007 8 Deriving an estimate for a user story Expert opinion – Rely on gut feel based on (extensive) experience – Disadvantage for agile: need to consider all aspects of developing the user story, so one expert will likely not be enough Analogy – Relative to (several) other user stories – Triangulation: little bigger than that “3” and a little smaller than that “8” Disaggregation – Break up into smaller smaller, easier-to-estimate easier to estimate pieces/tasks. pieces/tasks – Need to make sure you don’t miss any tasks. – Sanity check: does the sum of all the parts make sense? Planning poker – Combines expert opinion, analogy, disaggregation © Laurie Williams 2007 9 Playing Planning Poker Include all players on the development team (but less than 10 people overall): – – – – – Programmers Wideband Delphi Testers Database engineers Requirements analysts User interaction designers . . . Moderator (usually the product owner or analyst) reads the description and answers any questions Each estimator privately selects a card with their estimate All cards simultaneously turned over Discussion ensures Re-estimate Repeat until converge © Laurie Williams 2007 10 Coming up with the plan Desired Features © Laurie Williams 2007 11 Velocity Velocity is a measure of a team’s rate of progress. Velocity is calculated by summing the number of story points assigned to each user story that the team completed during the operation. We assume that the team will produce in future iterations at the rate of their past average velocity. –“Yesterday’s weather” © Laurie Williams 2007 12 Coming up with the plan Desired Features 5 story points/twoweek iteration October 30 30 story points 6 iterations © Laurie Williams 2007 13 Not working as fast as planned? Desired Features 3 story yp points/two5 story week points/twoiteration week iteration 30 story points 25 December October 30 6 iterations 10 iterations © Laurie Williams 2007 14 Not working as fast as planned? Desired Features 3 story yp points/two5 story week points/twoiteration week iteration October 30 30 story points 18 story points 6 iterations © Laurie Williams 2007 15 Velocity corrects estimation errors Since all user stories are estimated relative to each other . . . It’s the velocity that should change, not each story point estimate for future releases © Laurie Williams 2007 16 Coming up with the plan Desired Features © Laurie Williams 2007 17 Prioritization Driven by customer, in conjunction with developer Choose features to fill up velocity of iteration, based on: – Desirability of the feature to a broad base of customers or users – Desirability of a feature to a small number of important customers or users – The cohesiveness of the story in relation to other stories. Example: » “Zoom in” a high priority feature » “Zoom out” not a high priority feature But it becomes one relative to “Zoom in” High g Priority y – “Give us these stories to p provide a minimal working system.” Medium Priority – “We need these stories to complete this system.” Low Priority – “Bells and whistles? Which stories can come later?” © Laurie Williams 2007 18 Coming up with the plan Desired Features © Laurie Williams 2007 19 Burn down charts Vertical axis shows number of story points or hours remaining in the project Iterations [or days] are shown across the horizontal line Shows the amount of work remaining at the start of each iteration Visual indicator of how quickly a team is moving toward its goal 400 350 300 Work Remaining (hours) 250 200 150 100 50 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Scrum Day © Laurie Williams 2007 20
© Copyright 2026 Paperzz