How do I draw a burn down chart?#882

Subscribe to How do I draw a burn down chart? 2 post(s), 2 voice(s)

 
Avatar David Arno 2 post(s) #2354

I want to use mingle for a scrum-based project. I cannot work out how to draw a burn down chart though. My chart needs just two things on it:

1. A straight line showing projected burn down from today to the end of the project that will remain fixed for the duration of the project (velocity line)
2. The actual burndown progress that changes day to day.

The alleged scrum example included as a template draws eight lines, none of which is the velocity line. I don’t know what the example chart is trying to show, but it is nothing like any burndown chart I’ve seen. Has anyone worked out how to do a “real” burndown chart with Mingle?

 
Avatar David Rice Administrator 156 post(s) #2363

Mingle supports the ability to draw a line chart, counting down from a SUM, with a trend line. Suppose a project where you are:

  • Tracking a story as finished when ‘Story Status’ = Closed
  • Measuring work using an ‘Estimate’ property
  • You’re currently in Release ‘2.1’ which started on 2008-07-01
  • Tracking progress against days, and are therefore tracking the closing date, with a ‘Closed On’ date property

You could then use the following markup for burn down chart:

{{ 
  data-series-chart
    conditions: Type = Story and Release = 2.1
    cumulative: true
    x-labels-start: 2008-07-01
    series:
    - label: Remaining Work
      color: black
      type: line
      data: SELECT 'Closed On', SUM('Estimate') WHERE 'Story Status' = Closed
      down-from: SELECT SUM('Estimate')
      trend: true
}}

You will find many options for tweaking this chart in the ‘Macro reference’ section of the online Mingle help. And obviously you will need to chance the property names and such to match exactly how you track your work. E.g., maybe you’re tracking against iteration number of day in sprint rather than calendar date.

The trend line can only be calculated against the actual data in the chart. You cannot specify that a trend be brought forward from a previous data set to draw the trend line for the current data set. You can specify that the trend calculation only consider the X most recent data points if, e.g., you might consider that the last 30 days of your project is a more accurate representation of how the team is trending than the entire data set.

I need a bit of clarification as to what you’re asking about a velocity line. My experience with ‘velocity’ is that it reflects the actual pace at which a team is delivering. As actual pace is never a fixed thing, I don’t understand how this would be a fixed line. Did you mean that for a burndown covering a 2 week sprint/iteration/cycle, you’d rather have a trend line that reflects the previous N sprints/iterations, as 2 weeks is not a good sample size for a trend line? In that case, unfortunately, Mingle cannot ‘bring forward’ a trend calculation from one data set in order to predict another data set. But what you can easily do is a release-level burndown that rolls up to the sprint/iteration level in order to handle that scenario.

As all agile teams work differently, there will not be a single style of burndown chart or tracking that suits everyone. Mingle attempts to meet a team’s need to work in its own style, by offering a certain degree of flexibility. You may find that this leaves our charts requiring a bit more tweaking than you’d like. It’s a trade-off that might not work for everyone. There will be features in coming releases allowing pluggable and user-defined macros that address the issue of allowing a team to work in its own unique style and still markup charts using a higher-level language than what we have now.