= Scrum Burndown in Trac = == Description == A plugin to enable burndown chart capabilities, a common part of Scrum and other agile development methodologies. This plugin is now integrated with the TimingAndEstimationPlugin. == Who's Using It == I'm interested to know how many people are using this plugin. If a lot of people are using it or at least evaluating it, I will be able to justify spending more time on it to my boss. If you download it, please increment this counter: '''14''' Also, feel free to drop me an e-mail if you've got any questions that aren't answered here and aren't really ticketable. == Installation Instructions == Installing this plugin is a four-step process. 1. Install the TimingAndEstimationPlugin 1. Install the egg 1. Create a cron/pycron job to run a daily/hourly/however-often-you-want-to-update-the-burndown-ly python script 1. Assign permissions ==== Installing the egg ==== Install just like you would any other Trac plugin. Drop the egg into your plugins or site-packages folder and then try to access Trac in your browser. You will get an error message saying that the database needs to be upgraded and telling you to use the trac-admin command to do it. (I think it's something like 'trac-admin !YourProjectName.db upgrade'). Perform the upgrade. ==== Pycron/cron job ==== Download the this file: attachment:burndown_job.py and place it into a directory where you can run it with python. For example, {{{ C:\Python23\Scripts\ }}} Set up a job to run the burndown_job.py script once a day. I personally am using Windows, so I used pycron. Here is an example pycron tab file to run the job at noon on weekdays: attachment:crontab.txt This job totals up all the remaining time for given milestones and components and saves the information into the trac burndown table so that the plugin can use it to draw charts. Per suggestions from the user community, this job can now be run multiple times per day. If the given day already has a burndown entry, an UPDATE will be performed instead of an INSERT. ==== Assign Permissions ==== Assign permissions to users for 'BURNDOWN_VIEW' and 'BURNDOWN_ADMIN' The BURNDOWN_ADMIN permission gives users access to the 'Start Milestone' and 'Milestone Complete' buttons. == Using the plugin == [[Image(burndown.jpg)]] At the beginning of a sprint, after the tickets have been inputted and estimated in Trac an admin user should click the 'Start Milestone' plugin. This inputs a datetime integer into the milestone table to indicate when the milestone was started. The daily burndown_job.py script will only record hours_remaining entries for milestones that have started, but have not been completed. It should be fairly obvious, then, that an admin user should click the 'Milestone Complete' button at the end of the milestone to prevent the burndown_job from continuing to collect data. You can view different burndown charts, selectable by milestone and component by choosing from the dropdowns and clicking the 'Show Burndown Chart' button. In order for this to work, it is imperative that developers keep the 'Estimated Hours' and 'Total Hours' fields accurate and up-to-date on the tickets they are working. The 'Total Hours' field itself should never be manually edited, but rather, it can be changed by inputting positive and negative values into the 'Hours to Add' field. == Bugs/Feature Requests == Existing bugs and feature requests for ScrumBurndownPlugin are [report:9?COMPONENT=ScrumBurndownPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=ScrumBurndownPlugin&owner=sambloomquist new ticket]. == Download == Download the zipped source [download:scrumburndownplugin here]. Download the distributable Python egg [attachment:TracBurndown-01.00.10-py2.3.egg here]. Download the pycron/cron job [attachment:burndown_job.py here]. Download an example pycron crontab.txt file [attachment:crontab.txt here]. == Related Plugins == * This plugin relies on the TimingAndEstimationPlugin * Future plans for this plugin will make use of the [http://trac.edgewall.org/wiki/WebAdmin WebAdmin] plugin == Source == You can check out ScrumBurndownPlugin from [http://trac-hacks.org/svn/scrumburndownplugin here] using Subversion, or [source:scrumburndownplugin browse the source] with Trac. == Recent Changes == [[ChangeLog(scrumburndownplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:sambloomquist] [[BR]] '''Contributors:''' == Questions == 1. The link to add 'integer' doesn't appear to add integer custom type, am I missing something?? (2006/08/24) [[BR]]''Answer: Removed the 'integer' type requirement because the patch for it is gone. Using text seems to work fine and is simpler. I may add some of the validation brought by the integer type back into the plugin at a future date.''