Methods & Tools Software Development Magazine

Software Development Magazine - Programming, Software Testing, Project Management, Jobs

Click here to view the complete list of tools reviews

This article was originally published in the Winter 2011 issue of Methods & Tools


Scrum-it

Fabian Uehlin, ti&m AG, http://www.ti8m.ch/

Scrum-it is a virtual Scrum board application that supports the entire Scrum project lifecycle. It reduces project overhead and allows a team to focus on the development of high-quality software products. The software is open source, encouraging users to study, change and improve it.

Web Site: http://www.scrum-it.ch or https://github.com/ti-dev/Scrum-it
Version Tested: Scrum-it 1.0 on Mac OS X 10.7.1 with Apache Tomcat 7.0.21 and MySQL 5.5.15
License & Pricing: CC BY 3.0 - http://creativecommons.org/licenses/by/3.0/
Support: Forums and web site

Introduction

In the past few years, software engineering and the corresponding software development process have undergone significant changes. There are several models to streamline this process. Traditional models, such as the waterfall model are still in use, but they can be inflexible and do not necessarily meet today's requirements for developing software applications. Scrum is an agile procedural model for software engineering that provides an alternative to traditional approaches. It is characterized by having few rules and reduced bureaucracy. Therefore, the development process can be significantly reduced and the real development goals tend to become more apparent. An essential aspect is the iterative cycle, so-called sprint. A sprint usually lasts from two to four weeks. Within each cycle, a part of the software is completed and the end product is built incrementally.

A sprint development team is self-organized. A board is used to list all tasks clearly and make them visible to all team members: Tasks are written on post-it notes and attached to the board. Every note represents a defined unit of work, and all tasks must be finished in order to accomplish successfully the goal of a sprint. However, several problems can arise with this type of board and become apparent during the daily project work. Since the data is not available in digital form, archiving or historically preserving information is a challenge. Furthermore, the current project status is limited to the boards’ geographical location. Distributed teams cannot participate to the overall process.

Although software-based solutions that fix most common problems are available on the market, those typically desktop-based applications lack the board as the central communicative element. The new Scrum-it application can eliminate the limitations of current software. Its concept combines the advantages of software and modern touch-screen technology, as both conventional PCs and tablet devices (like the iPad) are fully supported.

Installation

The Scrum-it distribution can be downloaded at http://sourceforge.net/projects/scrum-it/files/ and the source code from https://github.com/ti-dev/Scrum-it. The war file (web application archive) needs to be installed into a servlet container like Apache Tomcat. A MySQL database stores the application data. The full installation guide can be downloaded at http://sourceforge.net/projects/scrum-it/files/Scrum-it-InstallationGuide.pdf/download

Once installed, Scrum-it is accessible via modern web browsers, such as Firefox, Safari or Internet Explorer via http://127.0.0.1:8080/scrumit/. Scrum-it is platform-independent and can be used on every operating system with a web browser, without the need for additional software.

Using Scrum-it

Scrum-it has an intuitive user interface and is easy to use, requiring little training. A tutorial is available on YouTube http://www.youtube.com/watch?v=zfcZF1EeY7Q. This article presents how to create a project, sprints and user stories with Scrum-it. It shows also how to use the Scrum board.

Projects & Persons

Scrum-it can manage multiple projects. The left-hand side of the screen shows a "List of Projects". Clicking on a project name inside the list view displays its details in the bottom right content area. To create a new project, click on the "Add" button, complete the form and press "Create Project". If you select a project, a "List of Persons" is displayed on the top right of the screen. Members can be added, edited or removed. Figure 1 shows a list of projects with a pre-selected project named "Scrum-it" and on the right-hand side two members belonging to the project.

Figure 1 - Project / Person screen on an iPad

Sprints & User Stories

After successfully creating a project, the next step is to set up sprints. A sprint is the main component of a development cycle. The purpose of each sprint is to deliver increments of potentially shippable functionality that adheres to a working definition of "done".

Each project can have multiple sprints. To switch the screen from projects to sprints, click the arrow on the right of the project name. The resulting screen, including the views for sprint and user story, is shown in Figure 2.

Figure 2: Sprint / User Story screen on an iPad

This layout is the same than for the project screen and it provides identical operations/functions. The left-hand side of the screen shows a "List of Sprints". A new sprint can be added to a project by clicking "Add" and filling the form with the information for "slogan", "start" and "end date".

By selecting a sprint, a "List of User Stories" is displayed. A user story is one or more sentences in everyday language that captures what the end-user wants to achieve. A single sprint can have many user stories that can be added, updated or removed.

Scrum Board, Tasks and Burndown Chart

Each sprint is represented with a Scrum board view. To go to this screen, press the arrow on the right of the sprint name .A new Scrum board screen appears with a Burndown Chart, as shown in Figure 3.

Figure 3 - Scrum Board with Tasks and Burndown Chart on an iPad

On the Scrum board, you can see and change the state of tasks of the current sprint within defined categories. It presents user stories on the left side of the screen, prioritized from top to bottom. Tasks are assigned to the categories "open", "in progress" or "done" representing the current status. A task is also part of a user story. User story notes have the same color as their associated task notes.

A new task can be added to a user story by clicking on the plus icon next to it. Text can be added to describe the new task. You can drag and drop a task to change its status.

The Burndown Chart is a graph that displays the remaining amount of work. It will be updated every time the status of a task changes and gives an overview of the sprint progress, with the remaining effort to finish it. In the burndown chart of Figure 3, the orange colored line represents the ideal burndown, the turquoise colored line the actual burndown.

Conclusion and Outlook

Scrum-it was developed by BSgroup Technology Innovation AG at its head office in Zürich, Switzerland. It is based on a Java EE backend system combined with a front-end implemented with HTML5, CSS3 and jQuery Mobile.

The list of features planned for the next release includes the product and sprint backlog and usability improvements. The source code is available at https://github.com/ti-dev/Scrum-it and is published with a permissive license (Creative Commons Attribution 3.0) that can be freely used. The Scrum-it project is currently looking for contributors. Feel free to submit patches to support the project team.


More Agile and SCrum Knowledge

Scrum Open Source Tools

Scrum Expert

Agile Software Development Portal

Agile Videos

Agile Software Development Tools


Click here to view the complete list of tools reviews