|Version 291 (modified by sambloomquist, 8 years ago) (diff)|
Scrum Burndown in Trac
- Daan from http://stuq.nl/ has graciously volunteered to take over this plugin. He has already come up with a few new features and upgrades, so I'm confident that he'll do a much better job of keeping things up-to-date here than I did. Thanks, Daan!
- Thanks to everyone for the support and submitted patches to keep this plugin working with newer versions of Trac. I'm sorry that I haven't had any time to maintain this as of late, and my current employers are using Redmine instead of Trac.
- Will crash Trac 0.11. If you have installed it and upgraded your trac.11 into oblivion, apply the following patch and replace the egg:
Index: burndown/burndown.py =================================================================== --- burndown/burndown.py (revision 4148) +++ burndown/burndown.py (working copy) @@ -139,7 +139,7 @@ def get_navigation_items(self, req): if req.perm.has_permission("BURNDOWN_VIEW"): - yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>', self.env.href.burndown()) + yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>') % req.href.burndown() #--------------------------------------------------------------------------- # IPermissionRequestor methods
- KNOWN BUG There is a known bug in head.
- Say goodbye to the cron job! I finally found some time to implement Trac's iTicketChangeListener plugin interface so that now the burndown chart gets updated every time you change a ticket (version 01.08.10). This simplifies the install process quite a bit.
- Note that you may have to click the 'Start Milestone' button for any sprints that you're in the middle of after you upgrade to the latest version.
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.
Current Version: 01.08.10 -- attachment:TracBurndown-01.08.10-py2.3.egg
Note that version 01.04.10 and later should work with python 2.4. The egg file just says py2.3 because that's what I had installed on the computer that built it. You will have to rename it to correct python version before installing to make it work.
Note: The above linked egg would not install for us. To create a new egg:
svn co http://trac-hacks.org/svn/scrumburndownplugin/ cd scrumburndownplugin python setup.py bdist_egg
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: 271
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.
Installing this plugin is a five-step process.
- Install the TimingAndEstimationPlugin
- Install the ScrumBurndownPlugin egg
- Assign permissions
- Upgrade Trac project
- Restart the server
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. Add plugin to [components] section in trac.ini (at least the following plugins must be enabled)
[components] timingandestimationplugin.* = enabled burndown.* = enabled
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.
Upgrade The Project
Use 'trac-admin /full/path/to/YourProjectName upgrade' to perform the upgrade. 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 if you don't upgrade.
Restart The Server
Finally, you will need to restart your webserver in order to see some of the features that ScrumBurndownPlugin provides, such as the addition of a 'burndown' link on the trac navbar.
Using the plugin
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.
- in file:
yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>', self.env.href.burndown())
- change to:
yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>') %self.env.href.burndown()
If you have any issues, create a new ticket.
Download the distributable Python egg here.
- This plugin relies on the TimingAndEstimationPlugin
- Future plans for this plugin will make use of the t:WebAdmin plugin
- BurnDownPlugin is a similar plugin using Fusion Charts Free edition
- AgiloForScrumPlugin is a similar plugin.
- 13150 by rjollos on 2013-05-17 01:38:18
- Fixed incorrect package_data specification (regression from ).
- Renamed config.html to admin_burndown.html in order to better ensure that we'll meet the requirements that template names are unique.
- Changed url in setup.py to point to the trac-hacks site.
Thanks to Jun Omae (jun66j5) for these fixes.
- 13148 by rjollos on 2013-05-16 01:40:27
- Removed Trac pre-0.11 compatibility code.
- Changed module names to follow Trac naming conventions.
- Updated source file headers and added where missing.
Note: If you enabled the plugin through the web admin, or by providing the full module name, you'll need to re-enable the plugin or edit the [components] section:
burndown.burndown_admin_milestones.burndownmilestonesadminpanel = enabled burndown.burndown.burndowncomponent = enabled
burndown.admin.burndownadminpanel = enabled burndown.burndown.burndownmodule = enabled
- 13147 by rjollos on 2013-05-16 00:59:46
Refs #7066, #11069: Removed ClearSilver req.hdf variables.
- The link to add 'integer' doesn't appear to add integer custom type, am I missing something?? (2006/08/24)
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.
- Is there an easy way to move the start date of a sprint into the past? (For example when some tickets of a milestone already have been closed when starting a sprint, immediately after installing this plugin.)