Project administration which supports the eXtreme Programming methodology.
This application provides project administration which supports the eXtreme Programming Methodology.
Version 2.1 works best on Plone 3, but adds rough support for Plone 4. Several pages are ugly there. The original authors at Zest Software are no longer actively using this product and are not interested in updating it fully for Plone 4. But others are stepping up. Contact us if you want to help. So handle with care on Plone 4, but on Plone 3 you should be fine.
Version 2.0 and lower only work on Plone 3.
- Project Multiple projects can be added by projectmanagers. For each project, iterations and stories can be added by both the customers and employees.
- Iteration The project will be planned with iterations. An iteration is a period of 1 to 3 weeks in which a number of stories will be implemented.
- Offer Contains the stories that a customer wants in this Project. It is used as a way to bundle the wishes of the client and give a first indication of the size of a project.
- Story The customer can define new features by describing these feature in a story.
- Task The employees can estimate the story by defining tasks.
- Booking While working on tasks the employees can track time and easily book those at the end of the day.
Customers can create stories and submit them for estimating. The employees will find pending stories in the review portlet and provide a rough estimate and change the state by using the ‘mark estimated’ transition.
The customers are able to prioritize the stories based on value for the organisation and the rough estimate. When the team has committed to the number of stories, they can start writing tasks and provide estimates for each task.
After all tasks have been written and estimated the iteration can be started by following the transition ‘start working’. This will set the status of all tasks to ‘todo’, so employees will see their tasks in the todo list.
Activating tasks will send notification email to the assignees. When an iteration is activated, this could result in quite some mails to be sent. To prevent this from slowing down the activation of the iteration, one could consider adding MaildropHost in the instance.
When completing all tasks in a story the story itself will be set to ‘completed’.
The time tracker allows the employees to track their work in real time. You can select a few tasks to work on from the list of assigned tasks. The tracker will display an input field for each task. Instead of using the punch-in, punch-out system we choose to start working by just starting the timer. After you have finished a task you describe your work in the input field and hit the ‘track’ button
The time spent on the task will be registered with your description and the timer will reset itself so you can start on the next task.
In case you get interrupted by a phone call or a colleague asking for help, you simply provide a quick note on what you were doing in the task input. Again this will reset the timer. At the bottom of the tracker an input field for unassigned tasks is available, to track interruptions like these. If you register the time here, you can later hit the ‘Add to task’ button, which allows you to browse through all open tasks and book the time there.
At the end of the day you can expand each task do any last changes to either the description or the time. In case you didn’t finish the task yet you can click the ‘book’ button to add a booking to the task with the total time. When you did finish the task you can click ‘book and close’, this will change the state of the task to completed.
The Release Plan provides the customer with an “Overall Plan”. At the start of a project all stories are added to the project. Depending on the velocity of the development team and the size and number of stories the expected number of iterations can be added. The customer can than prioritize the user stories using drag and drop and assign them to iterations.
When the iteration is finished, some stories might not be completed. Using the close iteration option from the ‘action’ dropdown allows you to select or create the next iteration and copy over all unfinished stories, including unfinished tasks.
Make a backup of your site. You can never be too careful.
We strongly advise using buildout; it is certainly not impossibly to get it to work in other ways but this is not supported. Just add Products.eXtremeManagement in the main eggs section of your buildout.cfg.
Important: you need to install egenix-mx-base from Egenix. Either use the installers provided by them or use your own system tools (apt-get install python-egenix-mxdatetime works on Debian/Ubuntu) or use easy_install egenix-mx-base. On Windows the installers seem to be the easiest way. For mac users, do: sudo easy_install-2.4 egenix-mx-base Then open python terminal: python2.4 >>import mx.DateTime
Then restart your zope instance and use the Add/Remove products page in Site Setup to install eXtremeManagement.
For reference, here are the dependencies:
Plone: 3.1 or 3.2 with Zope 2.10.
Some xm.* and kss.* packages and pygooglechart (pulled in automatically via setup.py)
Poi with its dependencies. Get a bundle with products fit for the Plone version you are using: http://plone.org/products/poi
With Poi installed, eXtremeManagement allows you to add an issue tracker in a project. And you can add PoiTasks to Stories, which lets you easily link to existing issues in the tracker of your project.
If you have a project management website you should seriously consider installing the xm.theme package. This gets rid of part of the default Plone UI so it fits a project management site more. Try this out locally before you use it in production. Note that this may become a real dependency in newer versions of Products.eXtremeManagement
- eXtremeManagement is known not to work with ZEPP/PlonePM, another project management product. It uses a Task content type, just like eXtremeManagement does. This causes problems. If you want to try out both, do that in separate Zope instances.
- Same is true for PloneBooking.
For older changes, see docs/HISTORY.txt.