Developing with Agile methodologies and GForge

GForge provides the tools to support Agile development methodolgies by using project templates for different types of methodologies (currently, Scrum and eXtreme Programming are supported).

The specific project templates are available for free at the GForge website here. There is a template for each methodology. To install the templates in your GForge server, log in as the site adminsitrator and head to the Admin interface. Under the “Site utilities” tab, select the “Import project template” option and upload the appropriate file:

Note that GForge requires that you perform a backup of your database first before importing the project template.

Once the template is imported, you’ll need to create a project that uses this new template. Go to the project creation page and select the template:

That’s it! Your new project now includes tools to work with Agile methodologies.

Using Scrum

The Scrum methodology is based on sprints, which are periods of time where a (usually short) list of tasks must be completed. All the tasks for the project define the product backlog of the project.

GForge provides the following tools to support the Scrum methodology:

  • Trackers: There are three types of issue trackers:
    • Product backlog: This is the most important tracker. This tracker will have a list of all the tasks associated to the project. A sprint number has to be associated to each task. This number will group the tasks to be completed in each sprint.
    • Tasks: This is a generic task tracker. The tasks that don’t fit in the product backlog are placed here.
    • Bugs: For reporting bugs that need to be fixed.
  • Roles: There are also three different types of roles in a Scrum project:
    • Scrum master: This is the most important role. The Scrum master is in charge of defining and maintaining the product backlog and managing the project. It is the main project administrator and it hast full control over the project.
    • Project team: This is the role for the developers of the project. Someone in the project team has full access to all the tracker and the source code repository, but it cannot make file releases (the Scrum master is in charge of these).
    • Product owner: This role should be assigned to the project’s stakeholders. They are able to inspect the status of the project but they can only change the product backlog.
  • Forums: The project templates includes a forum for discussing the product backlog and a separate forum for discussing other issues.
  • Documentation: Three document folders are provided: Project documentation, Sprint documentation and Process documentation.

Of course, all these settings can be customised if you want to.

Using eXtreme Programming

The tools provided for eXtreme Programming (XP) are:

  • Trackers: Four distinct trackers:
    • User stories: The user stories are usually written by the customers and they explain in simple languages a specific part of the system. This tracker is able to manage the user stories, assigning time estimates to each of them.
    • Tasks: A tracker for generic development tasks.
    • Bugs: Bug tracker.
    • Failed tests: If you use an automatic build tool supported by GForge (CruiseControl or Hudson), the failed builds or test cases are reported in this tracker automatically.
  • Roles: The roles are:
    • Admin: The project administrators are in charge of maintaining the project and they have full access to the project.
    • Customer: The main role of the customer in the project is to create and maintain the user stories. He has read access to most parts of the project so he can provide feedback (one of the requirements of XP is that the customer should be able to follow the development process).
    • Project Team: This role must be assigned to the project’s developers.