Username
Password
 
the Scrum
Alliance
Login help
About Membership

by Alan Atlas   | 29 Jan 2009

Tags: sprint planning | estimation

I often see teams obsess over sprint planning, especially the task estimates. I mean really obsess. Two days of planning for a two-week sprint? Believe it or not, it happens. Even as they complain about spending too much time in scrum meetings, they will insist on arm-wrestling over each and every task estimate. For teams that want to take advantage of their scrum experience and streamline their planning, eliminating task estimates can be an option.

Don’t look so shocked. It is possible. One big caveat, though. For those teams that are new to Scrum, I do not recommend eliminating task estimates until you have established a stable velocity.

Once you have a stable velocity, however, you can use the concepts of story points and velocity to eliminate the need for task estimates in sprint planning. The time you used to spend estimating tasks can then be used more wisely to create working software. I will present a series of steps you can take to gradually eliminate task estimation from your sprint planning process.

Background

Before we get started, let’s quickly recall the reasons why we do the sprint planning things that we do. (We’ll want to make sure we can still meet those needs when we’re done streamlining the process.) We plan the sprint in order to create the following:

  1. A shared understanding across the team of the goals of the sprint;
  2. A shared understanding of the work that needs to be done during the sprint;
  3. An environment in which team members know what to do next (or can find out in seconds);
  4. An achievable team commitment to deliver a certain amount of value, expressed as product backlog items; and,
  5. A burndown chart that we can use to track our progress through the sprint.

Task estimates most often contribute to goal five above, and for some teams, to goal four. If we can achieve those two items without creating task estimates, then we are free to choose not to use task estimates at all, aren’t we? If you agree, here’s a way to transition away from doing task estimates as part of your sprint planning.

Step 1. Establish Stable Velocity

Use your normal sprint planning process, whether it takes two days or two hours, for each sprint until you can demonstrate stable velocity. (There are many discussions of how to achieve stable velocity out there; it is too large a subject to treat here. For more on agile estimation, I recommend Mike Cohn’s Agile Estimating and Planning.) Make sure your team passes the Nokia test by producing potentially shippable software each sprint (in other words, you’ve proven that you can calculate your velocity correctly). When you have achieved stable velocity, your team will be able to make, and meet, sprint commitments based solely on demonstrated velocity and story point estimates of Product Backlog items. You want to do this anyway as part of having a good scrum implementation, right? 

Step 2: Experiment with a Task-Based Burndown

When you think you’re ready to stop estimating tasks, start to use two burndown charts instead of one. Continue to use your normal work-based burndown, which is based on the task estimates from the sprint backlog. Add to it a new burndown chart, which will be based only on the number of tasks in the sprint backlog, regardless of their estimates. The new burndown chart can be called a task-based burndown chart.

Your familiar work-based burndown chart starts with the total of all task estimates for the sprint and, as estimates are updated daily, the burndown continues to reflect the estimated amount of work left in the sprint.  Hopefully it will usually trend down toward zero. Your new, task-based, burndown chart starts instead with the total number of tasks listed for the sprint. Estimates aren’t updated for this chart, and work is burned down when a task is completed (its value on the burndown goes from 1 to 0).  For best results, make sure your task breakdown results in the smallest tasks possible. The task-based burndown chart reflects the estimated total number of tasks left to do in the sprint and not the estimated work effort left. This works best if you have lots of small tasks, typically ones that can be done in a day or less.

Make sure that both burndowns agree and that both give you the same visibility into your progress during the sprint. If you find that the task-based burndown isn’t useful, take a look at Step 3.

Step 3: Shrink Tasks to Improve the Task-Based Burndown

A good, informative task-based burndown chart depends on there being many small tasks to burn down. Conceptually, if you only had one task per PBI on a sprint backlog, you could have a perfectly good work-based burndown chart because the daily updates of the task estimates are given with arbitrary granularity (Now, if your PBIs really have only one task each, it’s indicative that there is a problem with either your stories or your task decomposition). In contrast, the task-based burndown chart for this sprint would be very insensitive on a daily basis, because the tasks would tend to span many days, and progress would not show until a task was completed. The remedy is to make tasks small. A good rule of thumb is that a task should be something that can be completed in a day or less.

Step 4: Stop Doing Task Estimates

When your two burndown charts convey similar information and when you can deliver on velocity-based sprint commitments, you can stop doing task estimates and do away with the work-based burndown. For some teams this will be easy to achieve and for others it could take many sprints. The key to this is to use the idea of velocity correctly. Note that you will still want to be doing the task breakdowns for now. Eliminating them is a different step altogether.

What did we lose when we did away with the task estimates? Task estimates support planning needs four and five from the list above. We still have a burndown chart that we can use to track progress, so we still support goal five.  We have removed the need to support goal four because our team has demonstrated the ability to make commitments based on story point estimates of PBIs and does not need task estimates for validation.

The only thing we might have lost is tangential support for planning need number two. That is, by not asking for estimates, we may have removed some of the mental pressure and motivation to think deeply, look for issues, recall similar efforts, and in general actively bring knowledge and experience to bear on the problem of correctly planning out the tasks. How big a deal is that? The answer to that question is unique to you and your team.

Article Comments

  1. Luciano Felix said on 30 Jan 09 13:22:
    Alan I agreed with this completely. The value that task estimates brings to the project don't compensate the effort to create them, it's gives a false sense of accuracy and makes the planning process long, boring and exhausting.
  2. Jurgen De Smet said on 30 Jan 09 13:29:
    I don't agree, part of decomposing into tasks is to get more accurant during the planning. To me Agile brings 3 levels of planning: release, iteration & daily where accurancy increases along the way: release = epics/themes/stories; iteration = Tasks; daily = task progress. Each step will bring some insight in the one before and can be used by the team to 'learn' about their higher level estimates and use this hindsight to improve their future estimations. If you leave out this estimation, I believe, the team is not that informed and can not as easily improve. Decomposition makes people think about their estimations and this can be used to get better, more accurate and a company needs reliable predictable release plannings for marketing reasons so... the more information is shared or made visible the sooner the team will be more reliable or am I wrong?
  3. Alan Atlas said on 30 Jan 09 13:39:
    Hi Jurgen, Obviously I have a different opinion, but I don't see how detailed task estimates done in ideal hours can tell you how accurate your estimates of Product Backlog items, done in story points, are? Part of the underlying point here is that "accurate estimates", besides being unattainable, aren't necessary for predictability. Stable, measured (not guessed) velocity at the Product Backlog level is all you need to be predictable and reliable. I don't think you're wrong, but I do think there is another way.
  4. Mark Summers said on 02 Feb 09 11:07:
    Alan, I have tried this approach with a number of teams. I have to say that I am a big fan of doing away with task estimates. What it really does is it puts focus on getting things done; I love the idea that we just view tasks as done or not done. What the business cares about is completed features. The only thing is that velocity is a good measure over a number of Sprints I would expect the amount of work a team can complete Sprint by Sprint in terms of story points to differ, however I have found that it can be used as a guideline and with a bit of common sense applied on top some teams can cope without task estimates. The first team I did this with was where the time estimates against tasks were just causing the wrong kind of behavior, some of the team members just couldn't get out of the habit of cutting corners to make the estimate, doing away with task estimates really got the right behavior out of this team.
  5. Jurgen De Smet said on 02 Feb 09 15:18:
    Alan, if all incoming stories/tasks are about the same size we could call it 'flow' as mentioned in Lean and indeed use some more Kanban style within the scrum implementation. But I think this takes a while to get there, depending on the organization. I try to get people think about their initial estimations but not with adding hours to tasks (see http://agilefun.com/?p=32). Actually splitting stories into tasks main objective to me is the discussion, communication & knowledge shared during the session and how this is facilitated is less important ;)
  6. James Peckham said on 04 Feb 09 07:38:
    Our teams don't estimate tasks during sprint planning... however we do ask the team to go input every task they can think of with an estimate after the sprint planning meeting and every day of the sprint going forward. Sometimes this means our 2nd or 3rd day of the sprint has a lump in the burn down. And that's ok because we learned something we didn't know at the beginning, right? :)
  7. Andy Brandt said on 11 Feb 09 06:33:
    For us the "task planning" part is in fact a valuable exercise because this is in reality a discussion about how to actually deliver each backlog item - in terms of both design and work division. A list of tasks is, in a sense, a byproduct of that - the most important product being a discussed design everyone understands plus a everyone knowing what they will be doing. That stems, I think, probably from the fact that our teams are made up from "generalist sprinters" as we call them - that is most people on the team can do most of the tasks, so it is not clear at the outset that, say, db related tasks go to Johnny and anything to do with JavaScript goes to Tommy.
  8. Ron W. Miller said on 20 Feb 09 18:20:
    Alan, I too have to disagree too. Tasks are not simply equal units of work. Task estimate are just that ... an estimate and by continually re-sampling the estimates (remaining effort via the burndown) allows teams to make critical decisions. If you're team is spending a tremendous amount of time estimating tasks I'd suggest that you try to timebox the efforts. These aren't contracts and yes the estimates will be wrong until they become experienced with the work involved. They should always reserve the right to be smarter tomorrow... thus change the estimated work remaining. Work remaining accuracy at the beginning of a sprint is always suspect. As the sprint progresses accuracy should improve. This is one of the primary principles of agile. I've found that with my teams in the past they spend more time doing the estimating if they haven't done this kind of work before; now after a dozen sprints, doing similar work our sprint planning takes at most 30 minutes. (avg sized team, 52 tasks, 9 working day sprint).
  9. Stephen B. Jones said on 26 Feb 09 05:55:
    My general rule of thumb is that planning should be done only to a level where it eliminates uncertainty to a comfortable degree. Of course, this makes it a subjective exercise. Right now, I'm working with a Scrum Team who are steeped in waterfall thinking (it's only the second sprint, so fair play), and they are reluctant to commit to anything without the nitty-gritty planning, not to mention struggle with the notion of Story Points. My goal as Scrum Master is not to eliminate the excessive deliberations but to raise the confidence of the team so that they are comfortable dispensing with the planning overkill, i.e. they will discard it themselves. How can I do this? By challenging (in a nice way, of course) the value of their planning? Did it really help? How much happened that they hadn't accounted for in their plans? Did they get the job done anyway? Another angle to this is to make the sprints so short that planning becomes obviously redundant. That's some way off though...
  10. Jim Lile said on 29 Jul 09 15:02:
    I agree w/ getting rid of the estimates but this takes a very mature team. In my experiences most projects if you are dealing w/ contractors on an "x" timeline this won't work. I worked w/ some inmature teams that prematurely tried this and failed to deliver, often.
  11. Fabrice Aimetti said on 06 Mar 10 04:11:
    Hi Alan. We often talk about your article at our France/Bordeaux Scrum User Group. So I translated it into French. Thank you.

Please login to comment on this article.

 

Alan
A Cure for Task Estimation Obsession
Just Don't Do It
 
Shanghai Scrum Gathering
Privacy Policy  |   Legal  |   About the Scrum Alliance  |   Contact Us
Please contact our webmaster Copyright © 2009, Scrum Alliance, Inc. All Rights Reserved. rss