
Lessons learned from a Redmine implementation project
Do not be afraid to change and re-change as experience grows
The most successful way can be summarized in three words – “just do it”. It is very important to be quick and not be afraid to change and re-change as experience grows. I learned these lessons from a Redmine implementation project.
Baby steps but very fast – the first review:
- What kind of things will we track (trackers)? Start with a few and expand as you go. Do not hesitate to name something incorrectly; you can always change the name later.
- What kind of states do we need per tracker (statuses)? There are good reasons to avoid too much reusing of statuses. Sometimes it is good to group statuses per tracker and actually create duplicate statuses to make sure that we have consistent and good workflows.
- What kind of roles do we need? Start with basic roles and refine as you need. The main driver for a new role is the need to limit who can change an issue from one state to the other (workflow).
- Basic workflows. This is where trackers/roles and statuses comes together. This is also the hardest part of the Redmine GUI. It is very hard to get a good overview of possible state-changes, so don’t be afraid to test and review several times.
- Custom fields may be the most underestimated feature in Redmine. A simple drop-down custom field may enable any amount of useful filtering.
- Filters. This is the key survival tool to handle data as soon as you pass the first 100 issues. A good naming convention, continuously updated to follow all the important views of issues is critical for Redmine usage. The RSS tracking based on saved filters is the icing on the cake. I might write another article just about filters and rss-feeds.
- Time reporting. Using this from the start is probably the single most important driver for a successful implementation. Most projects might want to postpone this, but I believe it should be approached the other way around. The key driver for everyday use is to have some place to document time. When you require an issue before you can report time you’ll get the right incentive to add and keep issues up to date.
These are the main Redmine functionalities to address in the first quick steps. As the tool evolves there are a lot of other interesting and useful functions to explore.