Tools for Supporting the Process and Workflows of openPETRA Development

From OpenPetra Wiki
Jump to navigation Jump to search

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)
    Do we really want this automated? The interesting part is, in which build it was tested successfully first. But this could be a field in the tracker record itself without integration to the buildserver... --Thiasg 13:48, 30 May 2011 (UTC)
  • 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!

etc.


Tool Suites Under Review

Trac

http://trac.edgewall.org/

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

http://www.redmine.org

  • 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.

Features

  • 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)