Scrum-style iteration planning
This plugin provides some basic project management essentials to do Scrum-style iteration planning in an Agile project.
Inspired by Agile Estimating and Planning by Mike Cohn.
Developed on Windows/Apache/Postgres 8.1.4/Trac 0.11. The SQL on other databases is untested.
The plugin needs two custom ticket fields, so the following must be added to the
trac.ini file of the environment:
[ticket-custom] estimatedwork = text estimatedwork.label = Estimated Work estimatedwork.order = 1 estimatedwork.value = 0 workdone = text workdone.label = Work done workdone.order = 2 workdone.value = 0
This plugin is backported to Trac 0.10. The backport changes are trivial: Trac 0.11 code is commented out.
I couldn't find any way to make the Python setup utilities also build the Java applet, so I had to use a trivial Makefile. So, to build, you should run
[n]make in the plugin root directory.
make install should deploy it. As long as Python and javac are in your path, it should work.
I did try to run Cygwin GNU make 3.80 on it, and it seems the Java target build statements upset the shell.
Note: for compiling under *NIX or Cygwin modify the setting of the classpath separator (in the Makefile) from ";" to a ":" as in:
javac -Xlint:deprecation -classpath jfreechart-1.0.3.jar:jcommon-1.0.6.jar ProjectCharts.java && \
Technical notes: The upgrade procedure creates a column called 'started' in the milestone table, some SQL views and functions, and some Trac reports. No external scripts are needed to collect iteration statistics. Everything is done with SQL queries.
If you have any issues, create a new ticket.
Download the zipped source from here.
General instructions on installing Trac plugins can be found on the TracPlugins page.
Instead of entering some value that is then added to the workdone counter for a specific ticket, users enter the actual new value. So if for a ticket the current number of workdone hours (or whichever tracking unit you chose for your project) is 7, and an engineer has just done 3 more hours, he should simply input 10 and submit.
The iteration burnup chart simply groups all the tickets that currently belong to the selected milestone, and starts plotting all changes to the the sums of their work estimated and done values. The iteration period is marked by an interval marker. If work has been done on the tickets outside of the iteration period, then some points will be plotted outside the marked area.