Tools for Supporting the Process and Workflows of openPETRA Development
Purpose of Such Tools
Aid the decentral development process of openPETRA by
- providing a Ticket System (Bug Tracker, Issue Tracker) implementing "our" workflow
- allowing an overview of who is working on what
- allowing for an integration of our source code repository, at least at the Ticketing System level
- supporting openPETRA Agile processes (Needs to be defined in detail)
- integration with the build system (e.g. to find out which tasks were completed or bugs fixed in which build and to potentially also have a link in the bug tracker item to the build it was first fixed in)
- Potentially: providing a wiki that has more capabilities than MediaWiki in the SourceForge configuration
- Potentially: aid code review
- Potentially: aid software release planning
- Potentially: aid software testing
Criteria
Bottom Line: What We Are Looking For
The suite of tools/separate tools should aid the decentral development process of openPETRA (see Purpose of Such Tools).
We are looking first for suites of tools as it makes sense to have some functions well connected with each other, but if we find separate tools that would work better and can still be integrated with the other tools reasonably well, than we are happy for that as well. A wiki might be a standalone tool, for example.
List of Detailed Criteria
TODO: Add wiki pages here which describe each Criteria, assign a priority to them and keep the list ordered by descending priority!
- Criteria Dummy 1
- Priority: High
- Criteria Dummy 2
- Priority: Middle-High
etc.
Tool Suites Under Review
Trac
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.
Cons
- The Bazaar Plug-in for Trac seems to be not overly stable (=has many open bugs), not well supported and not that future-proof either. I got this impression from the following post: How well supported is Trac-Bzr?.
- The Bazaar Plug-in for Trac also seems to not scale well (from the post: 'If you expect tens of thousands of commits, then I'd worry about scaleability and perhaps try to find someone helping me implement caching.' [posted by the main maintainer of the Plug-In])
Redmine
- Multiple projects support
- Flexible role based access control
- Flexible issue tracking system
- Gantt chart and calendar
- News, documents & files management
- Feeds & email notifications
- Per project wiki
- Per project forums
- Time tracking
- Custom fields for issues, time-entries, projects and users
- SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- Issue creation via email
- Multiple LDAP authentication support
- User self-registration support
- Multilanguage support
- Multiple databases support
JIRA, Bamboo, Greenhopper, Confluence
These tools are part of a commercial suite, but they are free for open source projects (when one is hosting them for oneself). They are provided by Atlassian.
- JIRA combines issue tracking and project tracking
- Bamboo is a continuous integration server that automates building and testing
- Greenhopper adds agile project management capabilites to a JIRA project
- Confluence is a very powerful wiki (for which many plug-ins exist). See also Wikipedia article.
Initial Evaluation
Pros
The tools
- seem to be quite powerful
- seem to be well integrated with each other
- seem to facilitate working in a distributed way well
Cons
There are more good tools by Atlassian (such as FishEye [providing real-time notifications of code changes plus web-based reporting, visualisation, search and code sharing] and Crucible [for code review]), but they don't support Bazaar as a source code repository (whereas JIRA and Bamboo do).
Launchpad
Not looked at yet in detail.
Launchpad is an open source software collaboration platform. They are provided by Canonical.
Tour: [1]
Launchpad provides the following tools:
- Bug tracking
- Code hosting using Bazaar
- Code reviews
- Ubuntu package building and hosting
- Translations
- Mailing lists
- Answer tracking and FAQs
- Specification tracking
We are already using the Translations feature for managing the translations of the texts of the openPETRA application.
Assembla Tool Suite
Not looked at yet in detail.
These tools are part of a commercial suite, but they are free for open source projects. They are provided by Assembla.
- Ticketing
- Issue and Bug tracking, linking with code and requirements, milestones (iterations or releases), managing an agile process, customer support.
- Collaboration
- Wiki, file sharing, message boards, group chat with video.
- Management
- Portfolios (a list of spaces or projects), permissions, time tracking and reports, managing teams.
Seem not to support Bazaar, at least after having a first look.
Separate tool: Free StandUp/Scrum Space
Standalone Tools Under Review
The list of tools in this section should include tools that provide some of the functionality that we are looking for in supporting the process and/or workflow of openPETRA development. They would provide an aspect, but not a complete suite of things.
Agilefant
Agilefant supports the managing of software projects, primarily projects which are done in an 'agile' fashion (hence the name).
Features (as of version 2.0.4):
- Backlog management
- Product management
- Release projects
- Iterations
- Daily Work
- Timesheets
- Portfolio management
See this page for details of the features.
Resources
- Agile Tool Evaluator
- Agile-focussed and provided by a manufacturer of an agile tool, so probably biased. Still worth looking at, not just for agile software projects, I guess --Christiankatict 12:03, 25 May 2011 (UTC)