Edgewall’s Trac is an amazingly powerful platform for project management. Don’t be put off by it’s old school user interface, Trac development has concentrated on functionality over dressed-up presentation. Trac’s default set up is oriented towards small to medium sized software development, implicitly consisting of a single “project” or “application.” This is not a difficult limitation to overcome. The administration interface allows defining custom fields, which provide greater flexibility in project and task management.
The main built-in fields for handling projects are Milestones and Components. You’re free to define these however you desire. I’ve found the following definitions to work quite well:
- Milestone
- Milestones represent a natural stopping place in development. For example, in my hRecipe project, I’ve separated front end and back end development into different milestones, allowing me to focus on finishing one set of capabilities before getting wrapped around the axle on a completely different set of capabilities. If you have always worked under someone else’s schedule, you’ll find that setting your own appropriate milestones is a bit of an art requiring plenty of thought and practice.
- Component
- Once again, experienced software or industrial designers will have an intuitive notion of what a “component” is. If you’re just starting in website design, thinking of a website in terms of components may feel a bit odd. My technique is to treat abstract capabilities as concrete components. For example, I have an “advertising component” on my Website In A Weekend project. Abstracting every task necessary for implementing advertising allows me to chunk down the work into manageable pieces.
While the built-in capabilities of Trac are impressive, customization is where Trac really shines.
Customizing Trac
I work on a number of (too many) projects, and prefer to keep track of my tasks on a per-project basis. Per-project task tracking also plays well with my time tracking software (clicktime.com, recommended without reservation), and with Quickbooks for billing purposes.With that in mind, it’s easy to add a “Project” field to Trac for use in task ticketing and reporting. As shown in the image, first go to the Admin page. Then using the menu to the left, go to the “Custom Fields” page in the administration interface. The interface should be self-explanatory: set the label as “project,” the type of field as “Select,” then fill in the “Options” text area with the names of all of your projects. See the example image just to left.
Since I also track time and billing by client, I added a “Client” field as well exactly the same way as the Project field. Now, I have the ability to create reports by Project or Client. Creating reports is easy, as I explain in the next section.
Example: Implementing Covey’s method
Trac can be used to implement Covey’s method for organizing tasks along axes of importance versus urgency. Using the Custom Fields menu on the Admin page (as illustrated above)…
- Add “Importance” and “Urgency” radio buttons
- View a report and choose the first task
- Choose the importance and urgency of the task and save
- For speed, instead of going back to the report and choosing the next task, just click on the Next Task link (screenshot).
Creating the Covey report
Once you have all your tickets classified according to Importance and Urgency, you’ll want a way to view your tasks. Trac makes it easy using user-generated custom reports! You can create a report displaying only the information you want using graphical interface tools such as check boxes and text fields. It’s easy to do: click on the custom query link as shown in the figure.
Since Trac knows about your custom fields, all you have to do is check each field you want displayed, then save your new report. After saving, a link to the new report appears automatically in your list of reports available for viewing.Trac emphasizes Covey Quadrant II
Trac has one main weakness (for me): it requires associating tasks with a Milestone to result in a due date. This makes it difficult to use for general, run-of-the-mill firefighting that all entrepreneurs seem to do on a regular basis. However, I’ve turned that weakness into a strength, and here’s what I found out.
Entering tasks or todo items into a task-tracking system or todo list takes time. What I have found out from implementing Covey quadrants in Trac is this:
almost everything I enter into the Trac system is either Quadrant I (about 20%) or Quadrant II (about 80%).
Quadrant III (distraction) and IV (time waster) items don’t make the cut. Both QIII and QIV items tend to occur spontaneously, or on a very short schedule. For example, distractions are not something I plan for. In fact, I plan against distraction by turning off my phone, not checking email, etc. Time wasters ARE something I plan for, but only on a day-today basis: “After I finish this article, I’m going to watch a movie.” I don’t (usually) plan in advance to watch a movie, unless it’s a date then it goes on my calender (which I keep in my head more often than not…).
What’s even more interesting is that on a day-to-day basis, I often have as many QI items as QII. Things like “Get groceries” or “Do laundry” or “Clean kitchen.” These are the classic “To do” items, and I usually write them out on a piece of paper… then throw away the paper after I’m done.
Where to get Trac?
Trac is part of my user account at Wush.net, where all of my subversion repositories are archived. Wush.net does not have an affiliate program, otherwise I would definitely be an affiliate! I can’t say enough good things about their services, including customer service. Just having access to the Trac system is worth the low price, combining it with the subversion repository is an unbeatable deal!













{ 1 trackback }
{ 0 comments… add one now }