Project management tools/2010 Review

It is time to evaluate whether Bugzilla meets our requirements as a bug tracker or whether a different tool would suit us better. Our basic requirements are bug tracking, feature tracking and project management.

Tracker Requirements

 * VCS integration. Ability to associate to revisions.
 * Currently, this means SVN, but it could mean some other VCS in the future.
 * Ability to import data from existing Bugzilla instance.
 * Not a show-stopper necessarily. Bugzilla could be closed to new bugs and we use both until things in Bugzilla are fixed or migrated. Would want very strong consensus to go this route though.
 * Ability to manage different projects.
 * Free (Beer and Speech)
 * Separation between "tasks" (as a way to track task progress) and other items such as:
 * Bugs
 * Feature requests
 * Would be great to have finer-grained email subscription options: for example, simple committers might be uninterested in site requests.

Project Management Tools requirements
Required:
 * web-based (for collaboration)
 * multi-project
 * calendar/scheduling
 * assignments & resource management
 * time tracking per task/user/project

Nice to have:
 * Gantt chart
 * Public/private projects
 * Fine-grained access to projects by user
 * Basic accounting & budget management
 * Requirements management

Bugzilla
We'd really like to avoid a migration if we can, which means sticking with Bugzilla. However, there are several things that we need to figure out how to do differently in order to feel good about staying:


 * Better project management capabilities, including:
 * Time Tracking
 * bug 327861: Reasonably clear and accessible per-project roadmap generation
 * bug 9412: Clearer separation of feature requests and bugs
 * bug 235059: Gantt chart report

See also: Project Management with Bugzilla on wiki.mozilla.org

Redmine
Out of the box, Redmine looks very appealing. In particular, the things we like about it are:
 * Nice looking roadmaps
 * Date estimates
 * Gantt chart generation

In short, it looks like a tool that project managers can work well with. Things that we still need to investigate:
 * Performance - this is a big unknown. We need whatever tracker we use to keep up with the traffic we throw at it.
 * Query language - on the surface, the query capabilities do not appear to be as powerful as Bugzilla's.
 * Features that Bugzilla has that we won't miss until they are gone

If we go this direction, we'll possibly want to look more closely at the following plugins:
 * RequMNGT
 * RiskMNGT plugins

...and we'll want to shop around in the full list of plugins

Other possibilities
These are project management tools we still might evaluate, but aren't yet on the short list:
 * Teambox - Rails-based, open source Basecamp workalike.
 * Retrospectiva - fairly new project, has burndown chart support
 * Indefero - GPL clone of Google issue tracker
 * "Extended" MediaWiki &mdash; Some features like SVN-Integration is already done with Special:Code/MediaWiki so maybe with help of some extension like Semantic MediaWiki and some additional extensions, mediawiki could meet the given requirements
 * See Helpdesk system and datacenter inventory Semantic MediaWiki prototypes added to my prototype wiki and prototype
 * See CcTeamspace, a working implementation of this idea used by the Creative Commons organization
 * OBM
 * Gerrit Code Review tool for Git

We looked at these other candidates, but have set them aside for now:
 * Trac (see plugins etc.)
 * Popular, vibrant community, but support for multiple projects is a little clunky
 * Google IssueTracker
 * Very basic functionality, and not open source or extensible to support our use cases
 * JIRA (Free for open source and non-profit organizations, but not open source and not free generally)
 * Launchpad - open source, but not really geared for self-hosting
 * Project Net - very enterprise-y, but might make a good complement to Bugzilla rather than a replacement.
 * Mantis - pretty old-school, and probably doesn't buy us much over Bugzilla
 * Eventum - doesn't seem to have much use outside of MySQL community

Things to think about if we go forward

 * How to organize products, projects, subprojects, etc.
 * How to manage obsolete products (e.g. obsolete extensions, see )

Discussions

 * http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/48439
 * http://groups.google.com/group/mozilla.support.bugzilla/browse_thread/thread/e81d39fcf1d981ac#
 * http://www.redmine.org/boards/1/topics/15098