Drift

The personal blog of Phoenix-based developer Josh Janusch

Using Redmine To Solve Our Agency's Project Management Issues

Using Redmine To Solve Our Agency's Project Management Issues

Finding the perfect project management software is a tough task no matter what team is doing it. It has to fit your team's workflow, workload, and work types completely; if it does not, you can try to reshape your team around it but in the end, it will never be the right tool. Agencies in particular seem to have the most trouble due to the sheer amount of different clients and projects that go through them. The software has to be able to handle and efficiently organize dozens of active projects at any give time. My team at VURIA recently went through this ordeal and I want to detail why we settled on Redmine and how it could help other agencies.

Background

For a quick background, when I started in June 2013, the team was using a 3 year-old install of Bugzilla on an internal server where entire projects would often be handled in a single ticket. It was a mess.

In November 2014, after considerable headaches, one of our project managers pushed us over to vTiger, a CRM software that allowed us to combine sales, client interaction, design, development, Q&A, and SEO into a single place. It seemed perfect, until we actually started to heavily use it. We discovered how lackluster the ticketing system was (which had absolutely no focus on proper development practices), how simple the functionality was, how poor email notifications were, and how insufficient the UI was. In short, it was a disaster that we realized within a month was not going to work.

Searching for Better

I began searching for something better in December. I started with JIRA initially because I had had experience with it at a previous job and, well, it is the king of the hill in this market, afterall. JIRA, however, wasn't right and I have many friends at other agencies who have discovered this same fact. It's too focused for an agency. It's meant for a company with a few projects; a software company developing one or two products and little else. There's no proper way to organize everything under a client (we have clients that have as many as four projects with us), the project codes are restrictive and unhelpful, and cross-project management can be difficult.

I spent the next two months looking at the rest of the market, which is surprisingly full. First, I considered and briefly used our GitLab installation which works as a bug tracker but as little else. We toyed with Redmine but were disappointed with the UI. I spent weeks looking at AlternativeTo for new options.

Some, like Trello, Asana, Basecamp, and any number of other "Agile" project managers are little more than complex to-do lists and have no place being used in a development team workflow. Some, like Taiga, are very new and very promising but are not nearly developed enough to be a legitimate contender. Others still, such as Redmine, Bugzilla, Fogbugz, and Trac are either too focused or too plain. We even came very close to using OpenProject, which is a Redmine fork with a better UI but that, too, was young and missing much community support.

Wait. I thought you settled on Redmine?

We did. Despite having the least welcoming UI and some of the strangest organization choices, we settled on Redmine and it has worked beautifully.

So if you disliked Redmine, how did you end up using it?

First, we had to improve the interface, which is outdated and tough to look at. If we wanted the entire team (including PMs, Designers, and SEO) using this, it had to be something they wanted to use and didn't despise looking at. Thankfully, Redmine has a large database of themes and a decent community to support them.

Redmine Issues Page with default theme The beauty that is the default Redmine theme

After testing 15 or so themes, I came upon Minelab by Hardpixel (which I have since forked and maintained for 3.x at jjanusch/minelab). It was a modern, improved UX, and was honestly just easy and enjoyable to use.

Preview of the Minelab theme A preview of Minelab

With a bit of work on my part, we had it up and running and ready to be used but first we had to work out how to use it. To this end, we decided that all top-level projects would represent our clients. Then their projects would exist as sub-projects under them.

Redmine organization thoughts

Redmine projects work in way that sub-projects bubble up through their parents. So with the structure above, it gave us a way to track all issues and have a centralized Calendar and Gantt chart for each client, as well as total hours. It was convenient and this structure gave a clear hierarchy in our Redmine of what belongs where and for assigning membership as well.

We were able to implement this system and improve actual project management (separation of tasks, dividing of work among team members, communication, etc.) to make Redmine work extremely well. At this point, I cannot imagine working without it.

Imperfect

Redmine is not without its faults. The largest, for me as its administrator anyway, is that it is written in Ruby using Rails. This isn't really a bad thing, it's just that we generally use PHP at VURIA. No one on the team knows Ruby beyond some minor work we've done for Vagrant and GitLab. This has made it a bit difficult to make modifications when we've needed to, such as adding items to the menu bar.

Another issue is the way comments are handled, which is a foolish UX decision that has haunted Redmine since the beginning. There is no quick comment. You have to edit an Issue and add a "Note". This is a very unintuitive UX choice and difficult for new users to figure out. Fortunately, this looks to be a candidate for Redmine 4.0.

The Projects list, which is just a flat list, is also largely useless in our situation. We currently have more than 250 projects in the system and that page is 10,000px tall. It's difficult to use and we generally skip it entirely. Again, though, this is a candidate for 4.0.

Conclusion

I spent nearly 2 years fighting against our project management software situation. I researched every available option I could find and, as an agency anyway, Redmine was the best choice. After about five months of use, it looks like this will be the final solution and will not have to worry about this further. I hope to do a follow up in a few months to further address our actual usage after we have had more time with it.

All in all, Redmine has turned out to be nearly exactly what VURIA needed and I can readily recommend it for other agencies facing this same problem.