Suresh Payankannur

Sunday, July 31, 2011

Redmine Burndown Charts

I have been searching for a good burndown chart based on Redmine, a wonderful tracking plaform. There are a few plugins but not quite there yet. What I have been looking for is to use the Version concept of Redmine as the iteration and have a simple daily burndown.

Then I found Redmine Charts Plugin has the features I have been looking for. Especially, burndown with velocity. But found a couple of issues with the latest implementation:

  1. Start of the iteration is the version creation date. This is not practical. A version can be created ahead of time, and scheduled later.
  2. The ideal burndown chart should be a single straightline, starting from the version-start-date to version-end-date. But the ideal burndown is not a straight line with this plugin.

A couple of minor changes will fix these issues and I was able to get get a good burndown chart.

Getting an iteration start date


  1. Login as adminstrator and create a new custom field called Start Date
  2. Select the project and modify the version. Set the Start Date of the version to the actual iteration start date.
  3. Make the following change to $REDMINE_ROOT/vendor/plugins/redmine_charts/app/controller/charts_burndown2_controller.rb

      # start_date = version.created_on.to_date
      c_value = CustomValue.find_by_sql(["SELECT value from custom_values WHERE customized_type = 'Version' AND customized_id = ? LIMIT 1", version.id])
      s_date = c_value.empty? ? nil : c_value.first.value
      s_date = (s_date.nil?  ||  s_date.empty?) ? nil : s_date.to_date
      
      start_date = s_date==nil ? version.created_on.to_date : s_date
    

Making the ideal burndown a straightline

The reason the ideal burndown is not a straightline is that the total number of days used in the calculation is not correct. To fix this issue, modify the file $REDMINE_ROOT/vendor/plugins/redmine_charts/app/controller/charts_burndown2_controller.rb with the following change:
  # daily_velocity = total_estimated.to_f/@range[:keys].size
  daily_velocity = total_estimated.to_f/(@range[:keys].size - 1

Restart the redmine server.

3 comments:

  1. Hi Suresh,

    I tried to install the Burndown Charts plugin in Redmine 1.3 but I got errors relating to the OpenFlashChart (constant not defined) etc. After that I installed OpenFlashCart 2, I did not receive any errors and the plugin seemed to work. But I don't get any charts to display.

    What where your steps to install this plugin and its dependencies?

    Are you still working on Redmine 1.2?

    Kind regards,

    Rob Kiggen

    ReplyDelete
  2. Nice post, appreciate it. Do you have any idea how to create a graph which shows number of open issues over the sprint or number of points burnt over the sprint? I am in need of that and wondering how to get that from redmine_charts plugin.

    Our scrum methodology here doesn't operate by assigning estimated hours to developers rather breaking down tasks in unit amounts

    ReplyDelete
  3. Hi Suresh,
    Greetings!
    I have installed redmine_charts plugin along with open-flash chart plugin on redmine1.4.2. I did not get any errors but the charts are not begin populated.I have sufficient data in redmien for population of data.I am able to view the field show,text box and drop down with weeks, months and days options. I tried all possible ways to selct values inorder to the charts to eb displayed through all options like burn down, burndown wiht velocity ,etc. No where I get an option to view the graphical representation of charts. could you kindly assists.

    Thanks,
    Vishwanath

    ReplyDelete

Blog Archive

Scroll To Top