Project management
Currently at Pollection we have been using Bugzilla to track product defects and work items toward a milestone. This system has been working well for managing the implementation of individual features and fixing issues, but it has taken a lot of overhead to manage schedules and make sure that we are appropriately prioritizing our tasks based on what long haul projects are being worked on. Bug tracking systems were never designed for planning, mostly just for capturing information related to defects and sort of as a kludge that has been jury-rigged to capture work items.
As the team at Pollection grows, we need to put into place a more scalable and extensible system for merging the product plan with the actual defects, work items and releases. In the historical (and now way out of vogue) method of waterfall planning for monolithic releases, requirements and work items are very strongly defined in advance and a schedule can be concisely defined. Pollection is on a very rapid release cycle which can react quickly to the market and allows the final plan to be fleshed out dynamically. This does not integrate well into the older application level monolithic release planning and work management.
Over the last few years Agile methodologies have appeared on the scene and have attempted to deal with the new malleability of software in the Internet space. Pollection’s product is well served by the tenants of Agile development. The toolsets which have sprung up around Agile are starting to mature to the point where they can be used in serious product management.
The core requirements that we had for a product management tool suite are as follows:
1. to define what work needs to be done
2. allow transparency for the active work items
3. provide high level reporting for milestones/sprints with time estimates
4. allow high level planning with flexibility to efficiently change objectives and releases
Agile methods strongly emphasizes the interaction between individuals in the same space and encourages physical note-cards and boards for keeping track of team status. Unfortunately this isn’t always possible and doesn’t scale well for higher level transparency or reporting. To work around this, a software system is needed to track status and allow the capture of objectives and high level requirements along with the work that is associated with it.
Some of the tools which are out there are TargetProcess, Rally and XPlanner. For a more complete list see this roundup. Both TargetProcess and especially Rally impressed me. XPlanner is the best open source solution for managing the Agile process. The project has done a good job in terms of being able to capture and manage the information related to active work. TargetProcess and Rally have both invested heavily to streamline the process of managing sprints and work items. They also do a fantastic job of bringing the relevant information to the foreground based on the user who is currently logged in. XPlanner falls behind when it comes to the polish of work item and sprint management and is way behind when it comes to features like integrated bug tracking. Rally comes out ahead for our purposes because it has integration with Eclipse through Mylar, is easy to access and has a convenient dashboard along with an expertly designed and implemented toolset.
Most of the tools in this space tend to have a monthly/yearly subscription fee. Often there is a way to export all of your data from the toolset so that you can migrate to a different platform if necessary. For the short term we will continue to use Bugzilla and track the higher level work requirements in our wiki. In the future we will most likely be investing in a system such as Rally to reduce our planning costs and enable better reporting and transparency.