Version 12 (modified by Ryan J Ollos, 8 years ago) (diff)

Remove version from PyPI link. The URL without version will link to the highest numbered version.

Plugin to maintain a Trac backlog


This is a Trac plugin to help users maintain their backlog when using an Agile development methodology. Managing the backlog is one of the key activities within Agile development.

This plugin adds a new navigational element to your navigation bar. Clicking on it will take you to the unscheduled backlog, which is the set of active tickets that aren't currently assigned to a milestone. On the right hand side is a listing of open milestones. The idea is that you drag-n-drop tickets within the list itself to change their rank. Once you've worked with your customer to prioritize the outstanding tickets, you drag-n-drop tickets onto a milestone to assign it into the milestone. This effectively treats milestones as sprints.

The unscheduled backlog is created from tickets that are not assigned to any milestone. You can also view each milestone and see and individual backlog for it, but all tickets are ranked absolutely. They maintain their absolute ranking when you drag them in and out of a milestone. Furthermore, if you are trying this on an existing project, the initial rank for each ticket will be its ticket id. You'll want to spend some time sorting your tickets, and you may want to consider pulling them all into the unscheduled backlog when you do that so that you can order the all the tickets against each other.

See also: BacklogPlugin, AgiloForScrumPlugin, IttecoTracPlugin.

Bugs/Feature Requests

Please use the GitHub site to file any bug and feature requests.


Download an archive of the source.


The plugin is maintained on GitHub as well as PyPi.


This plugin requires simplejson v2.0 or better.

To install with easy_install, execute the following:

easy_install -U TracBacklog

Enable the plugin in your trac.ini file:

backlog.* = enabled


You will need to run trac-admin upgrade on your database, because it needs to create a table and some default values for your tickets.