1 of 2

Heard the buzz about Scrum: Want to know more

by Qambber Hussain Syed

Scrum is an agile development methodology and follows an empirical process instead of a defined process. This means that there is no real law governing how the development would take place before hand rather the development is continuously inspected and steered in the correct direction based on the inspections.

A good starting point to understand the scrum process is to undertant the contained a set of practices and pre defined roles:


== Roles in Scrum ==

The following roles are used in Scrum

1). Product Owner: represents stakeholders and is responsible for choosing what work is to be done and in what priority based on business demands and perspectives.

2). Scrum Master: facilitates and manages the scrum process and ensures smooth working of the team. Scrum master also protects the team from and external influences and resolves any problems/impediments faced by the team for the fulfilment of their sprint goals.

3). Team: is a cross functional group of 5-9 individuals who to the actual development work.


== The Scrum Process ==

Development in a scrum process is done in terms of "Sprints". A sprint is typically a 1-4 week period in which team members work on a set of tasks without any outside interference. The tasks are chosen based on the demands that the product owner puts on the team. The steps in a typical scrum process are outlined below:


1). Creating a Product Backlog

The product owners job is to create a "Product Backlog". This product backlog contains user stories or a general description of a features that are to be the part of the system/software. Ideally it should contain all the features required for the complete software based on a customer-centric perspective. The product backlog is prioritized keeping in view business demands and requirements.


2). Sprint Planning Meeting

Before a sprint can start, a sprint planning meeting takes place:

2.1). Estimating efforts

When the product backlog is ready, the team makes estimations on the effort to complete each item in the product backlog. Each item in product backlog is then assigned effort points such as 0, 1/2, 1, 2, 3, 8, 13, 20, 40, 100 (from too simple to too complex). The team members mutuallydecide on effort points for product backlog items.

2.2). Sprint Backlog

Estimated items from product backlog are then moved into a "Sprint Backlog". The team commits to complete all items in the product backlog.

2.3). Tasking Sprint Backlog Items

The team does an analysis of all sprint backlog items and devides them into several tasks such as implementation, testing and integration etc. and hours are assigned to these tasks. Normally hours are assigned between a minimum of 2 and a maximum of 20.

2.4). Sprint Goal

Sprint goals are finalised for the sprint based on sprint backlog the team commits to. A sprint goal is a negotiation between the product owner and the team to produce a demonstrable output at the end of the sprint. A sprint goal should be specific and measurable. An example of a good sprint goal could be, "The system should generate an email with activation information for any user that signs up". The sprint goals are usually demonstrated at the end of the sprint and form the basis of the success or failure of a sprint.

3). The Sprint

After sprintbacklog tasking is complete and goals are in place, the sprint begins. Now the team chooses who takes which task based on the knowledgeand competence of individuals in the team. Once the sprint starts, sprint backlog is locked and no new items are introduced. The idea is to let the team work to complete the tasks without changes or new requests coming in during the sprint.

3.1). Sprint Daily Meeting/Stand up

During the sprint the team meets everyday to ensure that they are moving in the correct direction. Individuals in the team answer three questions, a) What did he/she do yesterday, b). What is he/she going to do and c). Any problems faced/to be resolved. The meeting is usually not more then 15 minutes long and always starts at the same time. External entities (customers, stakeholders etc.) are allowed to attend the sprint meeting and can listen but only the product owner, scrum master and team are allowed to speak.

3.2). Sprint Review Meeting

After the specified time for the sprint completes, a sprint review meeting takes place. Product owner, scrum master, the team and stakeholders are a part of this meeting and the team usually demonstrates the new features functionalities implemented during the sprint and specified as sprint goals. This gives a visual feedback to the stakeholders and product owner and can result in new product backlog items for future sprints. Ifthe spring goals were not achieved, the scrum master and the team reflect upon the problems and the issues that led to the failure/partial failure of the sprint. The review meeting is usually not longer that 4-5 hours.

3.3). Sprint Retrospective Meeting

After the review meeting is complete the team reflects upon the previous sprint. Generally this meeting dicusses, a). good points of the sprint, b). bad points in the sprint, c). any ideas for improvements and d). appreciation of team members for any special effort they put in the sprint.

== Additional definitions and concepts ==

Some of the concepts that are a part of scrum but have not been discussed above are given here for completion:

1). Burn-down charts

During the sprint, usually a task board is set up and the team marks off the hours as they complete the tasks. This is done daily and results in a burn down chart. This burn down chart gives a good visual reference for everyone to see the progress of the team.

2). Velocity

One of the interesting things to note about a team is its velocity. Velocity of a team is the amount of effort points it burns in a sprint. Usually, withtime and experience, a team burns more effort points than in the sprint they completed previously until they reach an optimal level.

3). Abnormal Termination

Sometimes, during a sprint, it is realised that some (or all) sprint goals cannot be met for some reason. It is then the choice of the product owner to terminate the sprint before its proper end date. This is called abnormal termination of a sprint.

4). Spike

A spike is an experiment done to get just enough information about an unknown in a given user story. For example: to understand the use of a new technology and see if that can be used in the implementation of a user story. A spike must be timed boxed so that effort and time is not wasted.

5). Impediment

An impediment is anything that affects the teams productivity. It can be technical or otherwise. Usually, it is the job of the Scrum Master to resolve impediments.

== Advantages of Scrum ==

The biggest advantage of scrum is the quick results achieved. The resultscome within a few weeks and customers become part of the process. Faster results also mean mistakes are issues are caught faster. Risks are reduced and customers satisfaction usually increases because they can see progress.

Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA