Scrum is an Agile methodology for software development. Core Scrum practices are the Product Backlog, Scrum Meetings and Burn Down charts. A Scrum tool should be evaluated based on how it helps manage these three practices.
One of the simplest Scrum tools one can use is a whiteboard and sticky notes. Use the Whiteboard to chart out your sprints. Each “story” is put on a sticky note which is then pasted into the “sprint” to be delivered. The team gathers around the board for the Scrum meetings and the sticky notes are updated or moved based on the team’s input. Ideally, the white board is placed in a location that is easily visible to all interested parties.
There are several software tools available to assist with managing a Scrum project. The most notable of these are Agilo by agile42.com and Agilebuddy by agilebuddy.com. Agilo comes in two versions – Agilo free (a free and open source version) and Agilo Pro (a commercial version). Agilo features a web based interface and a high level of configurability to adapt to your team’s workflow. You can define various team roles and customize your sprint cycles. You can add tasks, stories, and bugs as needed and assign them to team members. Agilo also features out of the box integration with SVN and Trac. It has a very nice graphical product backlog and sprint backlog views, which provide quick insight to the development process. It also supports burn down charts, giving the product manager a quick gauge of the development state. Agilebuddy has comparable features to those of Agilo, however it is only available in commercial form.
The next sets of tools that are important for a Scrum team are its source code repository and continuous integration servers. For SCM, open source alternatives like SVN are best suited because they are well integrated with popular IDEs used by developers. For Continuous Integration, one could use tools like Jenkins to automate the build and test cycles. Jenkins can be integrated with your SCM to trigger builds automatically whenever there is a code commit, run regression tests, and email results to the entire team.