Step 8: Track Progress With A Daily Burndown Chart
This content is syndicated from by Kelly Waters. To view the original post in full, click here.
So you’ve got your backlog in order, estimated your backlog, clarified your requirements, planned your sprint and created a collaborative workspace. You're sprinting to achieve your sprint goals and running daily stand-up meetings. Now you're ready to track progress with a daily burndown chart...
"Oh dear, it seemed to be going so well"
Often in traditional development projects, everything seems to be going so well, right up to 80% completion or perhaps even later. Then things start getting harder. Things start looking less and less likely to meet the planned end date. Until eventually you concede that you can't hit the date because it's just too late to do anything much about it...
Agile principles help
In agile software development, there are a few key principles that highlight issues early. Distressing though this is, the issues are hi
ghlighted whilst there's still time to do something about it.
One reason why this is a common problem in traditional software development projects is because the testing is one big lump all at the end. Consequently it's very hard to gauge quality until late in the day and it's very hard to judge how complete the product really is, because you don't know how many more bugs there are to find.
In agile development, testing is integrated throughout the lifecycle, features are completed one by one, and for each feature "done" really means "DONE!".
In addition, the Product Owner or user representative is actively involved in order to see the product frequently and steer its development every step of the way.
All of these principles, along with the daily stand-up meeting, go a very long way to ensuring clear visibility of progress, and providing a clear and unambiguous measure of the product's quality and completeness on a very regular basis.
Daily Burndown Chart
But in addition to these principles, the Scrum agile development method also offers a simple practice to track progress daily - the daily burndown chart, which beats any traditional project status report hands down in my view!
The daily burndown chart is a simple tool. But a very powerful one.
'Estimate To Complete'
Take all the tasks to be delivered in a particular Sprint in Scrum, i.e. your Sprint Backlog you created in step 4. On your Sprint Backlog, enter the estimated time to complete, which of course at the beginning of the Sprint is the same as the original estimate. Update the estimated time to complete (ETC) each task on a daily basis.
Team members take responsibility
Each team member can be responsible for updating their own ETC's on a daily basis before the Scrum. Updating it daily - and sharing the effort amongst the team - means typically there should only be 2 or 3 items to update for each person each day. Therefore it should not be onerous and means team members take responsibility for their own tasks
Be honest about what effort you believe is required to complete each task (and that's the effort needed to really complete each task), regardless of how long has been spent to date and regardless of what was estimated in the first place.
The team's goal, quite simply, is for the team to reach zero hours to go, by the end of the Sprint duration.
Plot progress visually on a graph
The beauty of this approach is that it's a numeric view of progress and can therefore be plotted visually on a graph. Plot the original estimates for the Sprint on one line, and the current estimates to complete on another line.
When the actual line tracks below the original estimate line, you're on track. When it tracks higher you're running behind. It really is as simple as that. Highly visual, instant feedback for the whole team.
Annotate with key events
I've also found it useful to annotate the graph with 'speech bubbles' describing key events along the way. This is a useful way to record significant events so they're not forgotten by the time of the Sprint review.
It's also useful to communicate important things to management and stakeholders instead of producing a separate status report.
Scrum highlights your problems - it doesn't solve them
Using a burndown chart, when you spend one day on a task and discover a whole load of problems or effort you hadn't anticipated or estimated for, the estimate to complete jumps up, creating an all-too-visual indicator of the problem for all to see.
When this happens early in a project, and/or on a large scale, believe me it's pretty scary! Suddenly you're not so sure about all this new-found visibility! It seemed like such a good idea at the time, but can you really stick *that* burndown chart on the wall?!
But you do gain one big advantage. One enormous advantage.
You get to see where the project really is, every day, in all its techni-colour glory!
And when you hit problems in a project, you actually see them. And see them when you might just have time to do something about it.
Next, finish when you said you would...
How to implement Scrum in 10 easy steps:
- Step #1: Get your backlog in order!
- Step #2: How to estimate your product backlog
- Step #3: Sprint Planning/clarify requirements
- Step #4: Sprint Planning/estimate tasks
- Step #5: Create a collaborative workspace
- Step #6: Sprint!
- Step #7: Stand up and be counted!
- Step #8: Track progress with a daily burndown chart
- Step #9: Finish when you said you would
- Step #10: Review, reflect, repeat...
'Implementing Scrum' PowerPoint Presentation
10 Key Principles of Agile Software Development