Project administration which supports the eXtreme Programming methodology.
This application provides project administration which supports the eXtreme Programming Methodology.
- eXtreme Management Tool
- Optional extra
- Conflicting Products
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.
- Minor package cleanup and pep8. Added compatibility note in readme. Briefly: works best in Plone 3. [maurits]
- Previous/next navigation for tasks: only point to Tasks (or PoiTasks), not to images or files. Fixes https://github.com/zestsoftware/Products.eXtremeManagement/issues/5 [maurits]
- Add statuscheck page for all billable closed and invoiced iterations and list them if they still have open stories or tasks. Add this in the management portlet. [maurits]
- Check status of iterations that are to be invoiced. In that list of iterations, warn when there are still open stories or tasks. [maurits]
- Fix possible UnicodeDecodeError when changing workflow state with kss. This happened if the title has a non-ascii character. Fixes issue https://github.com/zestsoftware/Products.eXtremeManagement/issues/2 [mno1]
- Fix KeyError: portal on iteration view in Plone 4. https://github.com/zestsoftware/Products.eXtremeManagement/issues/1 [maurits]
- Do not send task emails to non-employees. We may have a customer as assignee of a PoiTask. The ticket is assigned to her, but as she is an employee, she should not get an email that she can work on the task. [maurits]
- Fix longstanding bug in reloading of task-form provider. When doing a transition on a story, we now refresh the ‘add task’ part. [maurits]
- Added zope.app.content as dependency. Helps for Plone 4.2 compatibility. But Plone 4 is not officially supported yet. [maurits]
- Moved to github: https://github.com/zestsoftware/Products.eXtremeManagement [maurits]
- Added upgrade step to recatalog the Stories, as their size_estimate in the catalog was broken when using xm.booking 2.0. [maurits]
- Get KSS portal status messages translated correctly again in Plone 3. Not used in Plone 4; not sure yet if this is needed there. [maurits]
- In the employees_overview also list members that are Employee because they are in a group that has the Employee role. Patch by Yuri and Mauro. [maurits]
- In the employees_overview make the Employee name a link to see the task_overview for that Employee. Patch by Yuri and Mauro. [maurits]
- Added Plone 4 compatibility, while keeping Plone 3 compatibility. May have a few rough edges and has two failing tests on Plone 4 (including one in xm.tracker), so use with care. [maurits]
- Avoid TraversalError in the xm.tracker when taskbrain2dict throws an AttributeError for a brain that fails getting its object. [maurits]
For older changes, see docs/HISTORY.txt.