For more than half a year now, I’ve been trying to get an issue tracker fully implemented for our IT team within the library. I admit that I’m still working on it. Getting the system up and running was easy enough, but trying to work it into people’s workflow isn’t so easy.
Choosing the Issue Tracker
There are a lot of issue trackers out there, but we are a small team and I wanted the issue tracker running easily and quickly. It’s not something I wanted to spend a lot of time getting up and running, because we had a lot of other projects happening.
Other requirements included:
- support multiple projects
- non-members being able to report issues
- support email issue management (either built-in or plugin)
- low to no cost
- support CAS or LDAP login (either built-in or plugin)
- documentation area and/or wiki
- code repository integration
- open source
I asked around a little bit, and these were the recommendations I got:
- Asana: 2
- FogBugz: 1 Against: 1
- Footprints: – Against: 1
- Github: 2
- JIRA: – Against: 2
- Pivotal Tracker: – Against: 1
- Redmine: 5
- Request Tracker: 1 Against: 1
- SupportPress (for WordPress): 1
- Trac: 3 Against: 1
Trac and Redmine seemed to be the two forerunners. My problem with Trac was that it didn’t have clear project organization, and no one could confirm that the email issue management plugin worked.
Installation & Setup
Our system administrator took a couple of (not full) days to get it installed and going, and following the instructions were apparently fairly easy. Then it took me maybe half a day to set up all the projects and users with the settings I wanted. The e-mail creation also worked well out of the box. We just had to make sure we had the right settings for what we wanted.
Staff Issue Creation & Management
In order to make it so that staff can file issues without ever having to see Redmine, I created a form in our Intranet (webform module in Drupal). The form had most of the standard fields:
- Name: automatically filled in with username
- E-mail: also automatically filled in
- Related to: options which were essentially the project names
- Need: options equivalent to tracker e.g. Support, Bug Fix, etc.
- Priority: options equivalent to priority
- Summary: email subject line, which then turns into issue name
- Description: issue details
Once it’s submitted, a copy is sent to our team’s email. Through a cron job (every 5 minutes or so), the email is picked up, and filed.
If the user already exists in the system, Redmine will use the email from the user account to match it to the user, they will automatically become the ‘reporter’ of the issue, and get a copy.
If the user does not exist in the system, Redmine will say that ‘Anonymous’ reported it. This will always happen the first time someone reports an issue as I did not add everyone on staff to the system. So, the first time this happens, I then add the user to the system, and add them as a watcher to the issue.
The one issue I ran into was that I forgot you have to set both the email plugin and each project to accept issues from anonymous users. Simple carelessness really.
Getting Staff to Change their Workflow
I think the hardest part with implementing any issue tracker is getting staff to use it. Within the team, it hasn’t been too difficult. We have a small team and the developers in particular have no problems using it. The only problem I sometimes have is making sure they close issues when they’re done with them.
But even within the team, sometimes it can be difficult to get people to report issues using Redmine. While our manager wanted us to start using it just for the website, it has worked well enough, so we’re strategizing how to get the rest of the staff using it now.
We’ve concluded that it kind of needs to be an all or nothing. So we’ve decided that all non-urgent issues should be done through the intranet form regardless of the project, and that should people email us, we’re going to be emailing them back to submit it through the form.
For any urgent issues and for immediate support, they can still call us. After all, trying to walk someone through editing something on our website or intranet is much easier by phone anyway.
Before we start enforcing it, we’ll be introducing this workflow to staff through various committee meetings in part to gather feedback.
So… we’ll see how it goes.