Automatic Calculation and Visualization of Burndown Charts
We manage our software development with the agile methodology scrum. As usual in scrum we use a Burndown Chart to visualize our sprint progress. For a couple of years we calculated the daily values for this chart manually. But recently we discovered a possibility to automate this task. This article describes how we reached this goal, through the power of JIRA, Groovy, Google Spreadsheet and Google Chart Tools. But first of all I will briefly explain our workflow for each ticket or in scrum terminology for each user story.
Our Workflow
During our Sprint Planning Meeting every second Monday, we decide which tickets will be included in the sprint. By that we estimate the hours of work needed to solve each ticket. This time is the Original estimated time for each ticket.Each ticket must pass a couple of processing steps
- Development
- Review
- Test
- Acceptance
When a ticket passes the Acceptance step, this task is done. So this is our definition of done.
To visualize our process in a sprint we use three different measurement units:
- Progress: The sum of time spent on planned tickets.
- Done: The sum of the original estimated times of tickets, which are done. According to our definition of done.
- Unplanned: The sum of time spent on unplanned tickets.
Automatic Calculation and Visualization
The calculation is based on a JIRA filter. This filter gathers all tickets in the current sprint.
An overview is given in the following diagram.

A Groovy script which runs as a Timer Task requests every night the JIRA Filter as a RSS Feed. Based on this feed the script calculates the actual values for our three measurement units progress, done and unplanned. Afterwards the script updates a Google Spreadsheet. Finally all we need are a few lines of Javascript using the Google Chart Tools to visualize the results.

Conclusion
This is an easy and very comfortable way to keep track of your sprint progress. As we do, you can publish the HTML file in your Intranet.
All that is needs to be done is to take a look at the HTML chart and to update your Burndown Chart on your Burndown Board. So everyone has an overview during the daily Stand-Up meeting.
As the whole calculation is based on the JIRA RSS Feed it is essential important that the time is logged steadily and that every Ticket, even the unplanned have the right sprint number.
But of course you can use any other programming language instead of groovy. But in groovy it is really fun to parse XML using a XmlSlurper.
You can find the Groovy script and the HTML file in the appendix.
Categories
Sophora CMS - A New Take on Content Management
Sophora is optimized to meet the needs of modern companies that produce up-to-date multimedia content on a large scale and that require fast delivery of their content.
Toromiro
Toromiro is a professional tool for the administration and editing of Java Content Repositories (JCR). JCR is powering some of today’s most successful solutions for content management and digital asset management.