Open Source Software Technical Articles

Want the Best of the Wazi Blogs Delivered Directly to your Inbox?

Subscribe to Wazi by Email

Your email:

Connect with Us!

Current Articles | RSS Feed RSS Feed

Project Management with Redmine

  
  
  

The Redmine project management system includes Gantt charts, a calendar, a roadmap, and other helpful features you can use to keep track of what's going on with your software development projects. (You can use Redmine for any other kind of project you care to manage, but it's clearly aimed at software development.) It includes bug-tracking and support ticketing, allowing you to track feature, bug, and support requests along with project management for your next software release. Redmine also provides news and document management, a per-project wiki, and per-project forums. Does all that sound intriguing? Here's how to get started with Redmine.



If you know Trac, the design of Redmine will feel a little familiar. The software's Ruby on Rails base means that it's cross-platform, and it's also cross-database – you can use MySQL, PostgreSQL, or SQLite as the database back end.



You can install Redmine on Unix, Linux, Mac OS, Mac Server, and Windows. I first tried it on a Mac running Snow Leopard, but ran into a number of problems, most notably a Rails/RubyGems incompatibility, so I tried Linux instead. On Debian, I installed the package available for Debian stable (version 1.0.1-2; the most recent source code release on the project's website is 1.2.2). Some post-installation configuration is required. Config examples are available at /usr/share/doc/redmine/examples; it's not an "install and it just works" package. I did later try reinstalling from source to try the latest version, but ran into problems with various RubyGems. Redmine is quite specific about which versions of various Gems it will work with (for example, it requires rack 1.1.0 rather than the current 1.3.5). All of this means that it's not necessarily a smooth install. I didn't try installing it via Bitnami stack, which is designed to install an application and all its necessary accoutrements, but that might simplify things.



My First Redmine Project



Once you've got Redmine up and running, go to http://localhost/redmine and log in as admin. The user's guide is helpful to get you started.



The first thing you'll need to do is set up at least one project, and probably at least one user in addition to admin. Projects can have subprojects, and the project summary list shows both main projects and their subprojects clearly.



Once you have a project set up, the main class of thing you interact with is an issue. An issue must be identified as bug, feature, or support, and you can't add to those classes; you can however create categories to divide up your issues. You can also create issues as subtasks of other issues, which is a great project management feature that allows issues to develop as they need to without becoming unmanageable. If someone reports an issue that turns out to need a lot of complicated work, you can break the solution down into multiple steps which can then be assigned and tracked separately. Issues can be assigned to people who are members of the project. When you go to an issue list, all issues for that project or subproject show up, but unfortunately the list doesn't show whether they're subtasks of one another.



Keeping Track of Things



If you're a project management geek, you'll be pleased to know that Redmine provides Gantt charts, which are a special kind of bar chart that shows a project schedule. To be shown on the Gantt chart, issues need both a due date and a start date. (Start dates are given by default as the date the issue was entered, although the default can be deleted or altered.) Redmine shows the due date (and start date if it exists) of an issue, and whether it's a subtask of another issue. The calendar also shows start and end dates of tasks, making it another useful way to keep track of issues.



19a98812-f823-48dc-841e-bf029c63c6d7


Of course, for a Gantt chart to be truly useful, you need to be able to mark which issues depend on other issues. Redmine can do this for you, but the dependencies won't actually show up on the Gantt chart, only on the issue description, which is annoying. To create an issue dependency, go into the edit screen of an issue and look for the "related issues" button, which includes a "precedes/follows" option along with various other forms of relation between issues. You need to know the issue number of the related issue; there's no potentially helpful drop-down functionality, although with a large number of issues things could get out of hand if there were. The start and due dates of the two tasks need to match up correctly; if they don't, you'll get an error message that isn't particularly informative.



[caption id="attachment_97583" align="alignnone" width="300" caption="A roadmap showing two versions and some completed issues"][/caption]

One thing I really liked was the roadmap function, which shows what issues must be resolved for a particular version of the project. To access it, you first need to create a version of the project, which means creating a label of "version 1.1" or "version 2.3.4" that should match the current working branch of your version control system. You then start editing issues to assigning them to that version. To mass-edit issues, highlight them in the issue list then right-click to get a list of options. Go back to the Roadmap tab, and you'll see a roadmap for that version of your project! Roadmaps are great for getting a swift handle on what's already been done and what still needs to be done. Similarly, the Calendar option shows tasks and due dates in another useful, visual form. For overall project management and keeping developers in touch with the wider project, I also liked the "latest news" feature on the overview page.



[caption id="attachment_97582" align="alignnone" width="300" caption="Overview page; note the "latest news" section on the left"][/caption]

As another option to help your developers keep track of their issues, you can set up a reminder email task to inform people about tasks due in the next [x] days.



Redmine also has a useful time logging feature. Developers can make a note of time spent on the project and what they've done, and you can generate a report on spent time per project or subproject from the overview page.



Managing Issues



Redmine suffers from some questionable user interface design choices. For instance, some of Redmine's issue fields are more difficult to edit than others. Some can be edited from the issue summary screen, without going into the edit screen (for instance, related issues and subtasks), whereas others (description, assigned to, spent time) cannot. I couldn't see any rationale for the distinction. Also, there is a "log time" button at the bottom of the issue display screen, but it seems odd to have it there rather than up by the time spent box.



If the columns shown on the issue summary page don't work for you, you can change them, but only as a global setting (log in as admin and go to Administration -> Settings -> Issue Tracking), not per-project.



Note that to be able to change an issue's status (e.g. from New to Closed), you need to be a member of the project and to have at least developer status. You can change status in the Settings tab.



Ticketing Features



While Redmine has some ticketing features, it isn't really a standard trouble ticketing system. It doesn't have that much in the way of email integration (though you can "watch" an issue to be emailed when it's updated), and there seems to be no way of getting back in touch with the bug reporter to ask for more information. Being able to report bugs and roll them into a particular version or into the project as a whole is great, but for support-type ticketing, you'd be better off with Request Tracker or another similar dedicated system.



If you do want to use Redmine for support-type trouble ticketing, or for bug reporting outside of your own developers, you can set it up to let users open issues by sending an email message. However, such emails have to correspond to a particular format – users must provide all required custom fields or creating the issue will fail – which is likely to be a problem for regular users. You can set up a web form to make ticketing easier. A useful approach might be to have known users just log in to Redmine and create issues themselves, and accept email from unknown users.



Version Control, and Extending Redmine



You can link Redmine in with your version control system, which is a great feature, especially for projects that are being worked on by widely dispersed staffs. You can serve up your SVN, Mercurial, or Git repository through Apache, which means that you can use Redmine's own access control, and secure it via SSL. Check out the HowTos (under Source Code Management) for more information.



If you like Redmine, but feel that you need a particular extra, all is not lost. Developers have written a whole bunch of plugins to extend the application, and development is very active. If you're running Redmine in production and need a particular feature, it's worth contacting the team about it.



Redmine is easy to get started with and has some really great features. As a project management geek, I'd particularly like to see the Gantt chart feature improved, as well as some of the niggles with issue editing; but as a centralized project management system with a whole bunch of features to keep everyone up-to-date, Redmine looks pretty good already.


Follow @OSCloudServices

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.


This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.

Comments

Thanks for the informative article, although what you said about the incoming email isn't true - by default it parses the entire email body and puts it into the description field. Also, I haven't been able to get any plugins to work. Getting them installed is one issue, but even the ones I have been able to install don't work because of routing problems. Seems Redmine is changing versions too fast for their own good.
Posted @ Saturday, December 08, 2012 12:55 PM by NightOwl888
NightOwl888: what plugin are you talking about? We just installed redmine without any issue at all... 
Can you be more specific?
Posted @ Friday, December 14, 2012 2:35 AM by Marc Vanderstraeten
I tried: 
 
Stuff to do plugin 
Question plugin 
Bugcloud plugin 
Redmine reminder 
Effort estimate redmine 
Redmine time tracker 
 
Of those, only the bugcloud plugin and stuff to do plugin (from a github fork) would install into the system. After that, both of them had routing issues when the plugin was activated (404 errors). Here is more info about the problem: 
 
http://www.redmine.org/boards/3/topics/34327
Posted @ Friday, December 14, 2012 3:36 AM by NightOwl888
It seems little bit difficult to me. Is there any type of training session for this software?
Posted @ Wednesday, March 20, 2013 5:18 AM by tamzeed
Hi, 
Can anyone tell me ho to add the mail functionality in the Redmine plugin. 
I'm creating my own plugin and wanted the user about the activities.
Posted @ Monday, August 05, 2013 7:19 AM by Lakhan
We have plugin for time tracking in redmine) if it help in your work, it will be awesome:  
<a>http://goo.gl/tB9V2R
Posted @ Thursday, October 10, 2013 11:25 AM by Anna Loseva
Yes, we know the Devil wears Prada outlet and you'll be damned if you're going to go around with anything less than a genuine Prada outlet Handbag yourself. The question is of course how do you know that the super expensive purse you just shelled out the big bucks for is the genuine article and not a cheap made in China fake? Well, there are several ways you can tell.The most important question to ask of course is where you bought your bag. Did you really think that the guy selling “two Prada replica handbags for twenty dollar” in Midtown Manhattan was selling you the real deal? Even though he thrust it into your face and showed you the replica Prada outlet logo, and said, “look, look, it real, you see, real, genuine Prada outlet. I get you good deal.” Okay, let's assume you're not quite that naive. If you are, you can stop reading now.  
I have nothing to offer you.But let's say you bought on the Internet. Ahh, now we know you got the real thing, right? After-all people on the Internet don't lie. Just ask the babe with the swimmers build and a body that won't quit who has time to sit in front of her computer for 24 hours a day talking to lonely men. But there are places on the 'net you could buy a genuine bag. Look for a place that has a reputation.And I do not mean online or even Replicabagsnew.com. Both of these companies contract out to thousands of independent sellers for their work and it is estimated that fully 85% of all designer products sold on online are fake.Even with Amazon.com, they are not really capable of policing who sells on their site effectively. They rely on you, the consumer to tell them that the Prada outlet Handbag you bought was a big fat fake and how would you know anyway?Well, first off, you'd know because you took the time to pay a visit to the Prada outlet web site and find out who is actually authorized to be selling their products. If you bought it from anyone else, odds are it's a fake.
Posted @ Wednesday, July 23, 2014 4:44 AM by plugine
If you like to feel fashionable but sometimes accretion it harder to achieve accoutrement afresh all you allegation to do is changeabout to alfresco factors to admission you. Celebrities can about be a abounding replica wallets anterior of inspiration, as they tend to accrue up to date with the latest trends. In the past, abounding celebrities abandoned acclimated to chafe big-ticket artisan accouterment but this has now actually afflicted in the acquire decade; now it is far trendier for celebrities to mix up their big-ticket items with top avenue finds to ability that they are fashionable and can dress well. You can accretion afflatus for accoutrement artlessly by flicking acceptance one of the latest celebrity anniversary or ability magazines. The skater dress, actuate on abounding celebrities, is an simple anniversary to classic as it is a louis vuitton replica complete accouterments in itself; all you allegation to do to ability your emphasis is add an emphasis or two and you can be out the breach in no time. Another abounding anterior of ability afflatus can be the bodies about you. All you allegation to do to see acclimatized looks is to crop a cruise to any city-limits centre and see the acclimatized and acclimatized agency that bodies dress and authentic their style. Following ability blogs can aswell gucci shoes accordance you some anniversary that you can use yourself in the future. 
Posted @ Monday, October 20, 2014 10:11 PM by vv
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics