Saturday, August 13, 2011

Redmine is an open source issue tracking system using Ruby on Rails platform. Redmine is a fully featured application including issue tracking, Wiki, Forums, File Management etc. Full list of Redmine features can be found at the Redmine website.

I was searching for a Scrum project management tool for a new project. Experimented with a number of different open source tools. Even though these tools have unique features, they weren't a good fit for what I was looking for.

Customize Redmine

One of the great strength about Redmine is that key aspects can be customized to suit the needs. To match the project structure and execution style, I customized the a number of features.

Customize User Groups

Customize the roles to closely match the roles used in a typical Agile/Scrum Project. Modify the User Groups to match your project organization.

Customize Trackers

Trackers are the issue types. I have customized the trackers as follows:

Bug: A defect

Feature: A feature defined by the business

Clarification: A clarification request

Task: A task that needs to be done

Tech Need: A technical feature (eg. framework) that is needed to implement a business feature

Customize Issue Status

New, Open, Re Open: Issue status.

In Progress: Work is in progress

Done: The work is done. Issue is assigned (should be done manually) to the reporter

Closed: The reporter verifies the issue and mark ist as Closed when he/she is satisfied

Rejected, Won't Fix: Associated typically with defects

Blocked: The issue is blocked

Customize Permissions

Customize the permissions according to the organizational structure and guidelines.

Customize Workflow

Customize the workflow to ensure that the issues are are progressed correctly.

Customize Issue Priorities

Low, Normal, High, Urgent: Applicable to Defects

Immediate, Must Have, Should Have, Nice to Have: Applicable to Features

Custom Fields

Add a custom field to Versions to denote the start date for a version. By default, the version creation date is taken as the start date. That is not correct. A version can be created ahead of time and scheduled for later. This custom field should be called Start Date.

Customize Plugins

Some of the Redmine plugins need additional customization to make it better. This includes customization of graphs, task board and milestone plugin.

Customizing the Graphs Plugin

Customize the Roadmaps Plugin

This customization is to show the Blocked issues in bold red.

Modify the $REDMINE_ROOT/vendor/plugins/advanced_roadmap/app/views/versions/_info.html.erb. Similar to existing begin_strike/end_strike variables, add additional pair of variables begin_bold/end_bold and initialize set their values as follows: