What is Burn down chart
Agile team use Burndown chart to track remaining work, It can be scale to different level like Epic Burn Down, Release Burndown, Sprint Burndown etc.
This article is on only Sprint Burndown chart. Sprint Burndown chart is a visual representation of remaining works for the scrum team of a specific sprint. Burn-down charts represents the real time total amount of work as pending for the sprint of any team, amount of work can be measured as remaining effort hours, or story points. Using the unit as “task hours” rather than “story points” is always better for burn-down chart. I personally suggest to use task hours to plot the burn-down chart.
In this article we will learn details about burn-down chart, with the below mentioned points
How burn-down chart gets generated and what exactly it represents?
Burn-down Chart is a sprint artifact, every sprint has their individual burn-down chart, ALM tools generate the burn-down chart for each sprint right after sprint planning or when the any sprint starts. If you are not using any ALM tool, then you need to manually create your burn-down chart on excel or white board based on your convenience.
A burn-down chart have two major value area, X axis and Y axis, X axis represents the number of days for the sprint, where the Y axis represents the amount of work. The value with in the graph is remaining work (lets take it as hours) for any specific day with in the sprint duration.
To understand this it in more details, refer the below image followed by the explanation of the picture.
If you look into the above picture, we can notice the team has a product backlog, and during sprint backlog the team has committed few user stories, and later the team members have distributed the task, each member will work on with an estimated effort hours for each task. So far we have committed stories for the sprint, Each stories have some tasks with estimated hours, and each task is assigned to respected team members.
(We are not talking about story point here, as this article will talk about burn-down chart with Task hours.)
If you total the task hours it will be some where at 110 hours. lets assume the team have a capacity of 130 hours, which we will bring into the picture little later.
Lets see the other important are of the sprint, we have a sprint start date that is 10th Dec and it is ending on 21st of Dec, which means its a two week sprint, and the sprint duration is 10 days.
So from all those information, we will pick or the ALM toll will pick two major values (as below) to plot the burn-down chart for the first time
- Total Days of the sprint = 10 days
- Total committed & estimated task hours for the team = 110 Hours
If we divide the total hours by the total days means (110 /10 ) = 11 hours.
Which says, if the team complete 11 hours of work daily, then by end of the last day of the sprint , the team will be able to complete all the work they have committed.
refer the picture below followed by the instruction to understand it better.
As we learned, that based on the example of current sprint, the team needs to work on 11 hours per day. By end of the first day the team will be able to complete 11 hours of work from 110 total hours. so remaining total hours will be 110 – 11 = 99 hours by end of first day. And similarly by end of 2nd day the remaining hours of work will be 99 – 11 = 88 hours. In this fashion by end of last day the remaining hours of work will be zero.
This is the future prediction, where the ALM tool or your excel predicts that the team will be able to work on 11 hours every day and all that 11 hours will be reduce the remaining hours accordingly, the line on the predicted value on each day is called Ideal line of burn-down chart. Which get plotted on the chart on the first day of the sprint, the lines starts from day one to end of last day.
But in reality the remaining hours at end of every day will not be same as predicted, because of the following reason.
- Even after working 11 hours or more, its not necessary the remaining hours will reduce by 11 hours, because 11 hours was just the estimation, once the team start working on the real construction, the actual hours may differ than the estimate. In agile what is important is, we don’t care about how much work we have done, we care about how much amount of work is pending or remaining. keeping that mantra in mind, every one update the remaining hours for each task they have worked on. Now the system (ALM tool or your Excel) will calculate the total of remaining hours by end of the date, and get the out of total estimated hours, how much is burned down. If the total remaining hours at the day one is lets say 105 hours, so the total burn down on day one is 110 – 105 = 5 hours. where in Ideal line it was 11 Hours.
- There are possibilities of Scope creep due to product owners critical priority change. which will increase or decrease the remaining hours suddenly, result to sudden rise or fall of the actual line.
- team members fall sick, that day the tasks assigned to the member may not be burned down
- Impediments, the blocker like external dependencies, development environment etc may slow down the predicted momentum of burn down.
- and many other reasons.
So the system calculate the actual remaining hours up to the current date or sprint last date (which ever is smaller), and plot a line which is called Actual burn down line
refer the below picture to understand how actual burn-down lines flows on burn-down chart
Actual burn-down line on Day 3
Actual burn-down line on Day 6
Actual burn-down line on Last day
There is one more line which is very useful if you have it on your burn-down chart. That is called Capacity burn-down line. So if we talk about the above example, the team has committed total of 110 hours of work for a 10 days sprint, where lets assume the team had a capacity of 130 hours.
The Ideal line was plotted based the commitment of 110 hours ( 11 Hours burn down every day). For capacity burn down we can plot another smooth line based on the available capacity of 130 hours (13 hours burn down every day).
This line is very important, will learn its importance later in this article, So far Rally or Jira does not provide this line on their burn down, however the burndown chart in TFS have the capacity line.
Refer the below picture to get a visual of capacity burn down line.
Understanding Capacity Line
A Complete burn down chart with capacity line.
How to read Burn-down Chart ?
I believe you all already aware of sprint burn-down chart, and referring it to track the progress and remaining work in the rest of the sprint sprint days. Here I will explain few of the areas to understand how to read the burn-down chart. If you are new to agile or want to know more about burn-down, you may find it helpful.
As we know our burn-down chart has an ideal line and an actual line. you may have another line for capacity line.
When ever we refer our burn down we check our actual line as of today, and compare it with the ideal line.
- If the actual line ending anywhere above the ideal line, it means there is a risk to complete all the stories with in the sprint duration. How big the risk is depends upon vertical distance between the actual line end point and the ideal line.
The higher the distance is bigger the risk, because as per the commitment the remaining hours on that day is actually more than what is supposed to be.
There can be many reasons for that and needs to take corrective action, as proactive measure. reasons like
a.) The team is not able to give enough time to the sprint commitment.
b.) The team has under estimated the tasks.
c.) The team is not properly updating the remaining hours.
d.) The team is getting new stories after the sprint start date.
e.) The team is re-estimating the tasks hours, by increasing the remaining hours
At the same time you need to check how many days in the sprint is remaining to recover the delay. If this situation appears during early sprint days, the team still have a chance to recover it, however during the last days of the sprints its very difficult to adjust the delay.
The below two diagram represents two different cases where one diagram says the risk is minimal, and another one represents high risks.
The rectangular box will not be there in your burn down. I sketched it here for better understanding, the light orange rectangle is the size of risk.
If you have the capacity line with your burn-down, you can get better visibility to identify the probability of resolving the risk. Even if the actual line is above the ideal line, but its below the capacity line, that means the team will be able to complete the tasks, as it is still under their capacity.
The below two diagram represents two burn-down chart one is at risk zone another is not risk on that particular day
2. Now Lets talk about another situation, when the actual line is always under the ideal line. Its a good sign, but if it is too low, then the team might have over estimated, and capable to work on more work for the sprint duration. Look at the situation. a good mature actual line should be close to the ideal line, if it is not the there is some thing needs intervention.
3. If you notice a sudden spike up or done on your burn down, then its means the team is getting too much of scope creep.
This is how you will read your burndown chart, during our next section will see how we can read our burndown chart on different scenarios.
Scenarios when we refer our burn down chart to take decision
Scenario 1 : Product Owner asked to add one story as it is on high priority, and the functionality of this story is very critical to deliver by this sprint end.
In this case, the team needs to check the current burn down chart and the actual line. How much additional bandwidth they have as of that specific day. There can be 3 scenarios :
- The Team can straight way agreed to the story addition to the current sprint
If the actual line ending much below the ideal line or capacity line, means have enough bandwidth available to finish the job with in sprint duration.
Keeping in mind individual capacity from tester and development prospective. Means even if the as a whole team there are lots of bandwidth available, but individual tester level there are not much bandwidth available, so in this case, you might refer to option 2 below.
So you will first look into your burn down, if it says you can commit more stories, check for other constraints and take the decision.
- Or the Team can ask the PO to descope some low priority story, means remove from the current sprint and move it back to backlog
If the team finds in burn down the actual line is close to the capacity line or ideal line, then the team checks the similar size of already committed stories which are not yet started development, ask the product owner to agree on de-scoping any(one or more) of those stories, to accommodate new critical stories.
Keep in mind, the time remaining in sprint, skill set required for the new story, and available bandwidth of those skilled team members.
- The team express it will be risky to add new stories on the sprint scope, and advice not to change scope.
If the team reach to a end of the sprint there are only two to three days left, the actual line is very stable, few stories are already completed, few are in progress. In that case taking new stories may be risky, the team can explain to the product owner and suggest to wait for few more days to start the next sprint, and the team will complete this story as first priority, make it deploy ready as soon as possible.
However even if it is the last few days of the sprint duration, and all the stories of current are completed and accepted. The actual line already touched the ground. Then the team can quickly estimate and commit the story
Scenario 2 : One of the resource needs to go on sick leave for medical emergency for couple of days.
In this case check the burndown chart and analyze the position of actual line end point. if it is ending long under the ideal line, You may accommodate the unplanned vacation.
Check on individual level also total hours of pending work the resource has, and total number of days remaining for the sprint.
Check any other member of same skill member has enough bandwidth to supplement the gap.
If the team feels there are potential chance of not completing all the committed stories, Then the team should immediately inform PO, and reach to a conclusion like, identify less priority story to start last thing of the sprint etc.
Scenario 3 : During 2nd week of the sprint testing team raised too many bugs, that needs to be resolved with in the sprint duration.
If the tester is raising too many bugs during the testing of user stories, which is not a good sign of mature development, but even it happens. Check you actual line and capacity line difference. How comfortable the team is able to fix the bugs, along with the pending committed development work. The tester needs to re-test the big fix along with committed testing work.
The burn down should have enough bandwidth, means actual line should end much lower than the capacity line, to work on all the fixes. If Not, then next sprint onward, keep enough buffer as focus factor during your capacity planning.
Check your definition of done (DOD) about Defect closure, If it says All P1 and P2 bugs must close to make a story done. Check the number of P1/P2 bugs, the additional time to fix them, and bandwidth available in your burn down.
Consider talking with your PO, to act out the worst case scenario, and identify the most low priority story and most critical stories.
Burn down chart is the first place to decide whether you should talk to your PO now? or you need to further drill down the possible other constraints.
There can be many other scenarios on your work, and you may find burndown chart is helpful to take decisions on those situations.
Read team performance from burn down chart and define action items
There are many trend of sprint burndown charts actual line. Explain few typical unusual case of sprint burndown chart, and explained what does that cause and corrective actions.
Straight Actual Line
You might have encountered your team sprint burndown have straight lines for couple of days. That can caused by one or more of the following reasons
- Team is not updating the remaining task hour on daily basis
- Team has not created all the tasks, so not able to change the remaining hours
- Task estimation was underestimated, so remaining hour are not changing
- user stories are blocked by some impediments and those are not resolved, so the team is unable to proceed
- Environmental issue like development server not available to do coding or test environment not accessible for testing
How to resolve them ?
- Make sure each and every team member update the remaining hours of the task they are working on daily basis.
- During Tasking of user story, don’t take it lightly, take your time to create and estimate tasks as accurate as possible.
- Try to resolve the impediments, as soon as possible, if some stories are blocked, don’t wait for its resolution, start working on the stories, if all the stories are blocked and that may take couple of days to resolve, inform Product Owner and act accordingly.
- Before starting the sprint map all your dependencies, resolve the dependencies first then commit the story, till the time the dependencies are not resolved work on independent stories.
- Resolve all environmental issue, check availability and accessibility before starting the sprint.
Actual line touching the ground much before the last date of the sprint
If you notice that the actual line is touching the ground much before the ideal line, that means one or more of these.
- The team has worked aggressively, burned more hours per day as per the capacity
- The Team has committed less than the capacity
- The team has over estimated the task.
- If the team willingly work hard, its good, but its always better to have defined hours of work to be done. working extra hours every day may cause other negative effects. Plan your capacity based on the best optimized amount of work the team can perform.
- If the team commits less than the capacity, that happened because most of the time because of insufficient amount of requirement, Product Owner may not have enough story ready to commit at the time of planning. Work on frequent and regular grooming to have your backlog healthy.
- Estimate fare, make it as accurate as possible
Actual line have Sudden Spike
If you notice that your actual burn down line has a sudden spike upward, its means there are
- change on scope (Scope Increased between sprint duration), You PO may have asked to add one or few stories to the current sprint.
- Or the team has re-estimated the task to increase the remaining work.
- Mature up your Sprint Planning, Have your backlog healthy so that you can fully utilize your capacity during sprint planning, by committing max possible product backlog item in priority.
- Do a task breakdown thoroughly, create all the possible tasks created, estimated and assigned. so that you don’t need to re-estimate during sprint duration.
Ideal line and capacity line have too much difference on day 1
If your ideal line and capacity line have a big distance means, The team has not committed their full capacity. because of
- Unavailability of enough user stories in ready state, so team has ended up the sprint planning with
- or Team is not confident to utilize the full capacity, hence only partial capacity.
How to resolve this situations for future sprints.
- Again Continuous backlog grooming to have healthy backlog of ready to work on Items.
- Understand the requirement in details covering all aspects. Then only commit the user story during sprint planning. Let individual team member create, estimate and assigned tasks for them. continue the planning till the max capacity utilized.
Actual line is out side the ideal line for consistence days and difference in increasing.
This state is very risky, and a clear indication that the team will not be able to complete all the committed work item by end of the sprint. This cause because of many reason like
- Even the team is working as expected, but they are not updating the remaining hours.
- The Team is actually not working
- The Team is blocked or impeded.
- The team has found estimated task hours are too low, need to work more, insted of re-estimating the task, they are not updating the remaining hours, working to bring the remaining hours as per burn down.
How to resolve this case, for this sprint or Future sprint.
- Please update the remaining hours every day, it may bring some spike, it will depict the real picture.
- Rest of the cases resolution varies from team to team, analyze it and take a best suited corrective action.
This is the typical case, you might have encountered, The reason behind this can be because any of these reasons
- Mostly occurs, when team use story points as y axis of their burn down.
- remaining work updates are not happening, regularly.
- remaining work updates happen only on last date of the sprint as a formality.
How to work on this
- Start task breakdown, and have the Y axis of your burndown with task hours.
- Update Remaining hours on daily basis.
Will talk about why we should not use story point as Y axis of our Sprint burndown on the following section
Disadvantages for using Story points as burn down measurement units.
The purpose of Sprint Burndown Chart is to track the remaining amount of work, It has to be referred every day, and the team make the strategy of the work they will perform for the day. So every day it has to burn down.
In case of Story Points, its not necessary every day one story will get completed, even the team has already worked on it and burned some work. So even the work has burned down, the chart of burndown on story point will now reflect any changes. A story with any story point lets say 5 SP can either be completed or not completed, it will not burn as 5 to 3 to 2 to 1. Once the story is completed the the story point will remain same as 5, only the state will change to done. So you will see a zigzag burndown instead of real reaming amount of work as of that specific day.
The Stories are counted as completed when it is verified and accepted by the Product Owner. many times a development and testing completed story not gets verified by product owner, as Product Owner along with development team have not started working as team and PO gives priority to other activity, which created delay on story acceptance. and results become visible on your Sprint burndown chart.
Remember this article is only on Sprint Burn Down chart. The Epic and Release burn down can be plotted using Story Points.
Below mentioned three sample sprint burndown chart, to refer and compare difference between sprint burndown on Hours and Story Points.