TWiki/XPTracker vs Trac
This section compares two web-based project management tools: XPTracker and Trac. The first one is a Twki plugin based on the
eXtremme Programming development methodology, while the second one is based on ticket tracking.
1. Work management
In this section I describe how both tools deal with organizing the
project structure.
- XPTracker: Divides the work into teams that are assigned several iterations composed of several stories. Each story can be splitted into different tasks, each one assigned to a developer:
Project ->* Team ->* Iteration ->* Story ->* Task -> Developer
- Trac: A project is divided into milestones. A milestone is an aggregation of tickets. Tickets are assigned to a developer and can reference a concrete product/version:
Project ->* Milestone ->* Ticket -> Developer
|
v
Product/Version
Conclusion:
XPTracker approach is more flexible (has more levels of hierarchy), this can come in handy when defining complex/large projects. Trac approach seems to be better when trying to define maintenance or bug fixing projects or when there is the need to deal with different project products and versions in the same project. Both support several projects.
2. Interface
In this section I describe which kind of interfaces are provided to the user in order to interactuate with the tool.
- XPTracker is a TWiki plugin, so all interactions with the tool are web based. You can create and delete projects, iterations, stories, tasks, etc using a browser. User and permission management is done using the TWiki interface.
- Trac allows to do some tasks using the web interface, like milestone and ticket management, but others must be done using the trac-admin command line tool, like product and version management and user and permission management. There is a Trac plugin under development to resolve this limitation.
Conclusion:
XPTracker simplifies the management of the web because all the work can be achieved using a web browser. On the other hand, Trac needs a command line interface to achieve some of the management tasks. Though having a command line interface can be very useful, lacking the web interface makes collaboration work more difficult when there is any kind of restricted access policy in the server that hosts the web.
3. Work tracking
In this section I describe the tracking capabilities of each tool.
- XPTracker provides a complete time tracking system: for each of the tasks defined, a user must fill the estimated, completed and remaining times. As long as the work is developed, the assigned developer updates these numbers to reflect the task evolution. Based on this information, XPTracker works out the completion percentage, overrun percentage, spent time and remaining time for each story and each iteration in the project. Besides, XPTracker can track developer assignments in tasks (completed and remaining), total spent hours, total remaining hours, etc per iteration.
- Trac does not provide any kind of time tracking, it is based on accomplished tickets. This makes work tracking almost useless, because an achievement of 80% for a given milestone does not imply that 80% of the total work (in hours) has been completed, but just that 80% of the tasks (tickets) defined have been finished. Using Trac you cannot know the "work" invested in any project task. On the other hand, Trac can obtain completion percentages using different criterias like products, versions, severities, etc.
Conclusion:
XPTracker is oriented to "task & time" tracking, while Trac is only oriented to "task" tracking. Time is a very important topic when talking about project management and tracking, so this is an important lack in Trac.
4. Query capabilities
In this section I describe information retrieval capabilities of each tool.
- XPTracker provides fixed (though quite complete) information focused on time tracking. There is no way to customize or query information that is not provided by the tool (for instance, the list of tasks assigned to a developer or the list of tasks with the highest priority).
- Trac provides a flexible query and report mechanism focused on ticket tracking. You can use several predefined reports, create your own reports defining SQL queries or use a query form with several filters to localize any registered ticket. However, you cannot search information that deals with time because Trac lacks time tracking.
Conclusion:
XPtracker is not flexible about this topic. It is focused on time tracking and provides the most important information about it as is. Trac provides a flexible and customizable query mechanism, but is limited to ticket localization and grouping. Both approaches are absolutely different: XPTracker is focused on time and Trac is focused on tickets.
5. Repository integration
In this section I talk about integration with project repositories.
- XPTracker does not provide any kind of integration. At Igalia we usually accomplish repository browsing using Bonsai, which can only deal with CVS repositories.
- Trac provides integration with the project SVN repository, actually, when you create a project you must specify the localization of the project repository. Among its features are:
- Syntax highlight
- Diff of single files between consecutive revisions in highlighted
or standard formats.
- Access to any revision, commit logs and times, etc.
Conclusion:
Trac integrates SVN browsing capabilities in the project management web while XPtracker lacks this feature. However, a tool like Bonsai (cvs only) provides a much more powerful browsing mechanism than Trac. For instance, using Bonsai you can perform diffs between any file version.
6. Wiki capabilities
In this section I briefly compare Trac and TWiki as Wiki systems. We can say that TWiki is more mature and and complete regarding this topic than Trac, including features like:
- Diffs of whatever versions of a page.
- File attachments.
- Support for different webs.
- Email notification
- etc
7. Community
In this section I talk about how do the communities of XPTracker and Trac compare.
- XPtracker has the largest author list of all TWiki plugins (6 developers) though most of them are collaborators and there is only one main maintainer. We have exchanged some mails with him in a near past. The plugin is being developed by volunteers. We should also consider that XPTracker is just a plugin of a more ambitious project: TWiki, which has an important, growing, and active community. It has also available lots of plugins (more than 200 registered plugins).
- Trac, as far as i know there are more or less four or five people working on Trac. Trac is being developed by Edgewall Software and, although it has some plugins registered (less than 20 plugins), they are just a few compared to TWiki plugins. Plugins are available since version 0.9.
8. Programming language
You can develop your own TWiki plugins using the Perl programming language while Trac lets you do the same using Python.
9. Comparison summary
Regarding project management, XPtracker is the best choice when your need any kind of time tracking. Besides it is more flexible to organize project tasks. On the other hand, Trac could be more useful in maintenance projects to keep track of bugs related to any software component or when we need a tool that can deal with product versions along the time. Both can work with several projects.
Regarding usability, XPTracker is a better choice when webs are hosted on an access restricted server, because all the work can be done entirely using a web browser while Trac needs to use a command line tool, though there is some work in order to resolver this issue.
Regarding wiki capabilities, TWiki is more complete and mature than Trac. Anyway, Trac covers the basic wiki functionality.
Regarding extensibility, both of them let you create your own plugin extensions. However, nowadays TWiki provides a much bigger amount of plugins available to the user than Trac does.
Regarding repository integration, TWiki/XPTracker lacks any kind of integration, while Trac provides SVN integration. Trac also provides some Wiki formatting rules to easily integrate SVN references inside your wiki pages. Other repository tools
specialized in repository browsing like Bonsai seem to bee much better anyway.
10. References
div class="twikiTopicInfo twikiRevInfo twikiGrayText twikiMoved"<&/div>-->