Trac : A great project management tool !
@Work, I’ve worked on several software projects. First, I was a plain programmer not caring for the “where are we now?” question but rater quickly, I was assigned managerial responsibilities and the only thing that I had on my mind was “where are we now!?”. I’ve found the Trac project to be just what I needed in order to successfully calm my stress by providing a constant answer to the big question.
Trac is a great peace of software that allows you to keep track of everything that’s going on with your software project. More than a simple Bugzilla which only tracks bugs, the Trac project also allows you to manage things such as documentation, tasks, milestones, bugs, source code, …
Installing Trac on a linux server is quite straightforward, packages exist for most of the major linux distributions out there. On Ubuntu, a simple apt-get install trac does the trick. If you use version control on your project, you’ll be happy to know that trac supports almost all the tools out there such as CVS and SVN if you evolve in the entreprise world as I do, or Mercurial, git and Bazaar through plugins for those who don’t have the central repository constraint.
Once installed and linked to your version control system, you can start using Trac. As an administrator, you’ll want to give your users some rights and restrict some usages (maybe you don’t want everyone to be able to edit the wiki documentation). Also, an important aspect is that you’ll want to define some milestones for your project. Once you’re done doing that, you can start using the most powerful aspect of Trac, the tickets.
Tickets are an abstract representation of the task concept, a ticket can be about a bug, a feature request, a discussion on the evolution of the software, … Tickets can be assigned to the milestones you previously defined and when that’s done, the meaning of a ticket becomes: if it’s open then it represents an “issue” that has to be addressed before the milestone to which it is attached, otherwise, if it’s closed, it belongs to the past.
One of the powerful features of Trac is the ability to link commit messages to tickets using post-commit-hooks (very easy to setup using SubVersion for example). This allows for changes made to the source code to be referenced from the ticket that describes the problem that they address and vice-versa. This feature is great for the developers working on the source so they can be aware of previous changes made towards solving an issue of improving an aspect of the software.
For the manager, Trac is great as it will show changes as they are made and summarize what’s left to be done in order to reach this or that milestone. For the developer, this aspect is also great as it provides a constant answer to the questions “where are we now? what’s to be done next?”.