views:

415

answers:

7

I work on a small Agile development team which is part of a large, non-agile thinking corporation. Currently, we practise Scrum and occasionally, we exceed our sprint commitment.

My question is, how do you handle burn down charts when you have exceeded your sprint commitment? I can think of two options:

  • Extend the y-axis in the negative direction and keep counting down
  • Add more cards/stories/work and have the burn down value increase by that amount, burning down when that work is finished.

The ultimate solution for my team is one which is clear to the business and adds real value for the developers. So far, neither of these solutions has worked out perfectly.

+5  A: 

Burndowns show scope remaining within a commitment. If you add something to your commitment because you are over-delivering, you add it to the number you are recording in the chart. As a result, a team that is over-delivering will have a burndown that heads toward zero and then hovers there until the end of the charted timebox.

To show what you are really delivering, consider a burn up or cumulative flow diagram instead.

EDIT

  • Burn-downs show work remaining to complete "something" (a sprint, a release, a MMF/"Epic," etc.)
  • Burn-ups show accumulation of "something" (earned business value, overcome complexity, etc.)
  • Cumulative flow diagrams show both + give you insight into the quality of your process
Nice answer BTW :)
slugster
@slugster: Thank you.
+2  A: 

Extending the Y-axis makes it really clear to everybody that you're going above and beyond the sprint goal. Usually it is not a big issue because you don't go that much over.

If it becomes a regular occurrence or if you go over by a significant amount there is something wrong with your estimation process. Perhaps you're overly cautious in dealing with the "non-agile" side of the business. Try and bring everybody along for the ride.

leonm
A: 

If you are persistently going negative with your burn down, that would indicate that you are constantly over estimating, thus finishing your work "too early". To fix this, start to multiply the estimate by a factor of less than 1 (i.e. 0.75, 3/4) (i forget the correct term for this - is it "scaling"?). Do this for a sprint or three, see how it affects the outcome, it may take a couple of iterations to get the right factor for each developer. This means you will be able to fit more within the regular sprint and it shouldn't finish early.

slugster
+6  A: 

In my opinion, burndown charts can't go negative. If you're done with your work you either keep on sitting in your chairs doing nothing which means that the burndown will stay at zero.

If you indeed do something, then that should be added to your list of tasks, meaning that the burndown will go up and then down again when you're done with tasks you added to your sprint's workload.

A sprint where the original workload has been completed before the sprint ends should show a little spike when new tasks (either single tasks, e.g. bug fixes or whatever, or one or more new user stories) have been added again once it became clear that there's room for more.

However, if this happens frequently with your team you seem to be constantly underestimating your velocity and should start committing to more tasks from the beginning. I'm not saying that it's a bad thing to be able to finish early and take on more tasks, but if this happens in a lot of sprint it is a sign that the team is undercommitting right from start, either by accident or to make absolutely sure that there's no way they will fail the sprint.

If that's okay with your product owner, so be it. If I were the product owner and I would see one team always finishing early I would try to get them to commit to more tasks right from the start. This might sound a bit harsher than it's intended to sound.

Anne Schuessler
+1: Your comment indicates that you actually know what a burndown chart is.
I hope so. I'm looking at one every day at work.
Anne Schuessler
Anne, your answer is good, but I don't like the idea, that the burn down will increase because the team committed to more work. IMO the management is likely to interpret this as impediments or something similar. The Burn down chart should go up, when the team identified additional tasks during the work on a story, which they didn't see or forgot before. I think it's best to adjust the Y-Axis. Maybe draw a second one, where the point of origin is lower. This is a bit messy on paper, but it is transparent and submits the correct message: Velocity is still the same, but the amount increased
Peter Wippermann
The point of the burndown is to reflect the work of the team during a sprint. At any given point in the sprint all you should really care about is where you are right now. Are you below the line? Above the line? How many days are left? How much work is left? Therefore if the burndown chart goes up, it's not a bad thing as long as it still reaches zero by the end of the sprint. By the way, if another story is added, the velocity HAS changed. What needs to be communicated to management is that a burn-down chart needs to be interpreted correctly, based on what happened during a specific sprint.
Anne Schuessler
+1  A: 

Extending burndown chart's Y-axis below zero is well established practice to track release progress.

Sample release burndown chart

On linked image you can see release burndown chart - everything what is added to release scope goes beyond zero.

I wouldn't recommend doing the exact same thing to sprint burndown chart. You should simply add new work to remaining work and obviously your burndown will go up for a while. If you're using whiteboard for presenting your sprint burndown chart it is good idea to label the place in time when you added new stories/requirements with proper comment. That way it will be perfectly visible what happened and why your burndown went up.

Piotr Uryga
for information the Release burndown chart linked to comes from this article from Mike Cohn has written a few books on the subject - http://www.mountaingoatsoftware.com/scrum/alt-releaseburndown
Paul Rowland
+3  A: 

When we add more items to the sprint, we update the estimation of the remaining work to reflect that on the sprint burndown chart:

alt text

But as pointed out in other answers, this shows that the estimation of the remaining work changed, not the reason (did we just re-estimate the work or did we add work?) and not the accumulation of work done. This might not be an issue though.

To represent the accumulation of work done, a burnup chart is more appropriate (we use a burnup chart at the release level). A burnup against the workload allows to represent the progress of the work done and also an increase or decrease in requirements (and how this affects the forecast of completion):

alt text

Pascal Thivent
+1 for stressing that they measure burndown charts show estimated _remaining_ work.
A: 

I beg to disagree here :-) Try to consider the following scenario: The team starts to work on a story and realize that a certain amount of work has not been planned, and now they add tasks to complete that work. The burndown goes up, but not exactly for a good reason, in that case is not scope change, but is "wrong estimation", that from a team perspective doesn't make any difference, as the message is still: "this is the amount of work that needs to be completed".

What about the Product Owner? How much you want to communicate that you have over-delivered? How much is it important for the team to distinguish the two cases, and use them at the retrospective to analyze how to improve estimations next time, or commit to more from the beginning? A similar approach has been used to define the alternative burndown chart (http://www.mountaingoatsoftware.com/scrum/alt-releaseburndown), so re-basing the chart and burning more down, clearly show an increased scope, and burning up might be the team discovered new tasks while starting to work on a story somewhere in the sprint ;-)

Ciao
ANdreaT

ANdreaT