Project management software is a necessity when trying to build maintainable applications. There is often just too much to track without a system in place to keep your work organized. Unfortunately, project management software tends to be a pain. Most systems want to do so much that you end spend as much time tracking your project as developing for it (yes I am looking at you Dotproject). Fortunately that is where Trac comes in.
Trac is a minimalistic approach to web-based project management. It is designed to help developers write great software and stay out of their way. Basically, what this means is that you get get the essentials of tracking a project and not much else. It also means that you get to spend less time using your project management software and more time developing your project. Fortunately, Trac is also very extensible with a pretty large user base, so you can generally customize it to have the features that you need.
Ticket System
Creating a ticket in Trac couldn't be any easier. You simply go to the “New Ticket” on the navigation at the top and fill out the fields to submit the ticket. There are about a dozen or so default fields, all of which can be turned on or off, so that the user submitting the ticket only has to use the fields that he or she really needs.
Once the ticket is created, people can add comments, change the properties of the ticket (like modify the description) or perform actions on the ticket. The actions are things like accepting, resolving, or assigning the ticket and are defined by the work flow used by the project
Trac Reports
One really nice feature about Trac is how you find the tickets. If you click on “View Tickets” you are taken to a screen that lists available reports. The reports are basically just different ways of finding tickets in the system. The nice thing is that it is really easy to create new reports, so that you can lookup tickets in whatever manner is best for you and the project.
You can also go to the custom query section. This allows you to quickly specify one or more filters to query the tickets. You can save these queries as a new report if you plan on using them in the future.
Hours Tracking
Our team needs the ability to Trac their hours when working on projects. Trac does not do this by default. Fortunately, this functionality can be added by using the TracHoursPlugin (http://trac-hacks.org/wiki/TracHoursPlugin).
It adds a ”Total Hours” field to the ticket. Clicking on this field brings up a new screen that lets you fill out when and how long you worked on the ticket. I really like that is separate from the comments on the ticket too. This allows you to use the comments for discussion of the ticket, while keeping track of how long and what you have done to the ticket separate.
It also adds a new tab to the navigation called “hours.” This tab lets you run reports on the hours spent on the tickets.
Searching
One last thing I wanted to mention is the searching in Trac. The search system in Trac will search your change sets, the wiki and tickets. However the really nice feature with searching in Trac is the quick jumps. Below are a list of example quick jumps.
-
[42] -- Opens change set 42
-
#42 -- Opens ticket number 42
-
{1} -- Opens report 1
-
/trunk -- Opens the browser for the trunk directory
Anyways, that is a quick preview of using Trac. No project management system is ever going to be perfect and even Trac leaves me pulling at my hair, but I would strongly recommend it to anyone looking for a project management solution or that can't stand their current one.
Useful Links
Matt Smith
VP Operations
Apax Software Development