Review of using Trac for project management

by

After entering our 500th ticket into our project management tool, I thought it was probably time to talk about our tool of choice. Trac is a simple open source project management tool. We decided to use Trac because of its reputation of being simple and easy-to-use in the open source world. I think the project is probably described best on its website:
“Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team’s established development process and policies.” –Trac website
Ben and I had both used other issue or bug tracking software previously, but found that sometimes the software was overkill for the needs of developers. I think we have both been happy with Trac, which while keeping it simple has helped us to organize, prioritize, and share development duties. In my previous experience with other issue tracking software I frequently found that the software was more in my way and harder to deal with than was worth the effort. Most of the time, Trac has been a pleasure to use.
There are many ways teams can use project management software. I will describe the most helpful ways we have been utilizing Trac. If there are other ways teams have found project management tools especially useful let us know.

  • Using Trac we set milestones with deadlines, which help prioritize our development towards our next release’s goals.
  • Viewing progress on our current milestone, which helps us to estimate our release schedule.
  • We create bugs and issues which by default are assigned to the ‘nobody’ user, which either of us can accept and begin working on.
  • We can assign certain tasks to the ‘both’ user, which lets us know this is an issue we need to discuss before either of us moves forward on the ticket.
  • After fixing a bug we assign the ticket back to who ever created it so they can verify it was fixed as expected.
  • We have a ‘future’ milestone that we use to create tickets about ideas for additional features or improvements that we aren’t planning on working on soon, but want to be reminded of in the future.
  • Using Trac lets us have a searchable archive of bugs, issues, and features which we can review as necessary.

We have had a few complaints with Trac.

  • The search feature doesn’t work well. Trac needs an advanced search with options like don’t search closed tickets.
  • No batch editing. We frequently have wanted to make the same change to a large collection of tickets.
  • There should be more sorting options after a query. I frequently want to sort by two options such as by ticket owner and priority.
  • Trac is kind of slow.

We have found it too slow to quickly just enter bugs, which we discover while working on some other issue. If entering a ticket takes much time it can throw off your train of thought. We normally deal with this, by writing issues on a piece of paper and entering them into Trac later. We still find ourselves occasionally building up a list of a bunch of trivial fixes and sharing a piece of paper or a whiteboard to see who is working on what and when each issue is complete. We only tend to do this if we just build up a bunch of tiny issues we plan on taking care of by the end of the day and many of the fixes could be fixed in nearly the same amount of time as creating a ticket in Trac. We also recently started using Trac through mod_python, which has helped to decrease the lag of the system. I will admit that we are running our bug tracking software on pretty old hardware, so I am sure running it on a decent machine would really help as well.
For a small team looking to manage their bugs and issues quickly, I doubt you could find a better product than Trac out there right now. It is easy to install, configure, and use. You also can’t really beat the price (free). For a team on a budget, that is always a nice bonus. Anyways, we know there are many options for issue management and we decided we should share our experience with Trac, which has worked well for our situation.
Trac – Integrated SCM & Project Management

8 Responses to “Review of using Trac for project management”

  1. ted stockwell Says:

    Hi,
    About the slowness…
    Did you mean that it’s tedious to enter bugs in Trac? Or that Trac actually performs slowly?
    Trac is plenty fast for us and we use it company-wide with a bunch of projects.
    We use the simple built-in web server on a fast single-processor windows machine.
    What web server are you using?
    On what kind of machine?

  2. Sam Says:

    My main problem is Trac is the life cycle, when a bug is finished it should go back to the reporter (or a tester) to confirm it has been complete correctly. I did however read a more flexible lifecycle is part of the next release.

  3. Dan Says:

    Ted
    Mostly the it is tedious to enter bugs in Trac, but in our case it actually performs slowly. I did explain that we are on pretty crappy hardware though. We are running on debian, apache2, with mod_python but it is on a 700mhz 512mem box.
    Sam
    Yeah we fake that life cycle by just assigning tickets back to each other to confirm. Since most tickets are assigned to a user no one, it is pretty easy to just check things assigned to you and clear deal with things you need to confirm. It would be nice to have some of that built in though.

  4. Jacob Share Says:

    Trac is also a very good SVN repository browser. On the downside, the fact that it can only manage one project at a time is a big problem.

  5. Erik Says:

    If you want to batch modify tickets you can install the BatchModifyPlugin at http://trac-hacks.org/wiki/BatchModifyPlugin. It works great.

  6. Ben Says:

    Erik – hey, thanks for the tip. BatchModifyPlugin is exactly what we were looking for. Thanks!

  7. Corey Trager Says:

    If you are a “small team looking to manage their bugs and issues quickly”, and if you are comfortable with the ASP.NET platform, another issue tracker worth a look is the free and open source BugTracker.NET (Disclaimer: I’m the author), at http://ifdefined.com/bugtrackernet.html.
    It also has SVN integration, but unlike Trac, it can support multiple projects and you can specify the SVN repository either globally or per-project. Screenshots here: http://ifdefined.com/doc_bug_tracker_subversion.html
    It has a batch-modify feature.
    It’s very configurable, not just to add stuff to it, but also to remove stuff from it, to make it extremely light weight.

  8. Ben Says:

    Corey –
    Thanks for the tip. We’re not that comfortable with ASP.NET, but it’s a great idea for those who are. Good luck with BugTracker.NET.
    Ben

Leave a reply to Sam Cancel reply