MASTER SCRUM IN LESS THAN 30 MINUTES

AMIT SARKAR on Dec 09, 2009

Scrum methodology is a software development process that helps teams respond to the unpredictability of building software through incremental and iterative work cadences known as sprints.

Here is a step by step guide that you can implement in less than 30 minutes. Scrum is not difficult to learn, does not require sophisticated tools, quickly reveals issues and risks and is just common sense.

So what is scrum?

Product backlogs :Let’s say you have a software application development project or product development project. You have software requirements and feature requests from your customers. In scrum, the collection of these features is called product backlog. In other words, it’s a collection of all the product requirements. In scrum methodology you need to prioritize which specific requirements or features you are going to put into a particular release of your product.

Scrumis a “process framework,” which contains sets of practices and predefined roles. The main roles in Scrum are:

1.  Scrum Master :A person who maintains and manages the processes. Typically, a project manager

2.  Product Owner :The person who represents the stakeholders and whose main responsibility is to make
sure that right features are included in the product backlog

3.  Team :A cross-functional group of people who do the actual analysis, design, implementation, testing, etc.

Release planning :To plan a release the team looks at the product backlog and identify the features that they put into the release they are planning.

Release backlog :The above features that the team identified then become a part of the release backlog. The team then estimates the duration of the work so that they can calculate the total amount of work involve for this release.

Sprints :Sprints are short duration milestones and typically range from three to thirty days depending on the product release cycle. The shorter the product release cycle, the shorter the each sprint should be. You have the release backlog determined by the team, now spilt that release backlog into several sprints so that you can manage the release in more meaningful way.

Now remember that each sprint must deliver a sub set of the product backlog in ship ready state. At the end of each sprint all the deliverables of that sprint must be fully tested and 100% complete.

Sprint backlog :This is a document that contains features that are broken down into tasks. Typically, tasks are normally estimated about eight hours of work. With this level of detail the whole team understands exactly what to do.

The scrum cycle

As you can see in the above diagram that scrum is a very simple process and does not require sophisticated tools. All you need is a spread sheet to plan each sprint.

Daily scrum :Each day during the sprint, a project status meeting occurs and usually the meeting takes place at the same location and same time every day.

So let’s start implementing scrum.Let’s say you are working on an ecommerce project and you want to implement scrum to speed up the progress of you project.

Do you need any special software or tools? Absolutely not! As I said in the beginning that scrum does not require sophisticated tools. All you need is Excel or any standard spread sheet software.

To begin, you plan the staffing and the number of hours available for each sprint. You need to calculate the number of members in your team, their availability (full time and part time), vacation time, and work days available in a sprint, ideal hours per day and available hours per day. The following is an example of actual staffing plan of an ecommerce development project that we have successfully completed using scrum. For privacy reason, we have abbreviated the name of the project and the names of our developers.

You need your list of product features that are required to be delivered to have your product backlog. You then break down the product backlog into one or more release back log.

For a given release you further break up release backlog into a number of sprint back logs, which are essentially short duration milestones through out your project.

As you can see in the following spread sheet we have defined the sprints for the above project.

So you have the staffing plan and the total number of hours available for each sprint. You also defined the sprint and you already have the sprint backlog. Now, how do you monitor the progress of each sprint? Fairly simple! As I said in the beginning that scrum is very easy to learn, does not require sophisticated tools, quickly reveals issues and risks and is just common sense.

Let’s use the same spread sheet software to create another chart called burn down chart.

Burn down chart is the best project visibility tool that ensures that the project is progressing smoothly. Burn down chart gives us a day by day report of the amount of work remains in a given sprint or release. As you can see in the above chart that the amount remaining in that sprints fluctuates day by day and ultimately it becomes zero. So with the help of a burn down chart the team can easily look at the overall progress of the sprint and how much work is left to complete the project.

Now the natural question you must be having at this point that where the data for burn down chart comes from? As we have seen in the beginning that the team creates a release plan, in which the team estimates the duration of the work for each feature of the product backlog so that they can calculate the total amount of work involved for this release. As each team member goes through and make progress on one or more of these features, they simply update the amount of time remaining for each of their own items. So the amount of time remaining for a group of feature in a given sprint changes day by day and goes down and becomes zero at the completion of the sprint.

Burn down velocity :The slope of the burn down chart is called burn down velocity and is used to measure the productivity of the team. So if you know the average productivity of your team, you can easily calculate the time your team needs to complete the remaining work. For example, if the daily average productivity of your team is 50 hours and there are 500 hours remaining in your sprint, you will know that at this productivity rate the team will need ten days to complete the work. So in other words, your burn down velocity will indicate your team’s productivity and inform you whether or not your project is on the track.

Ideally, scrum is a brilliant and simple tool used for measuring the progress of a project so that we can take corrective actions if the project is off track. Unfortunately, we do not live in a perfect world and there are interruptions. Also bugs come up during the development of every product. So you need to track all the bugs and create another backlog called defects backlog. Assign one or two sprints for defect repair and all the deliverables of that sprint must be debugged, fully tested and 100% complete.

Also you need to create an issue log related to deliverables of your sprint so that you can anticipate interruptions and address the issues properly. Here is an example of issue log spread sheet.

In the same context it is important to identify the potential risks that the current sprint is facing or will face in the near future. Categorize all the risks qualitatively and quantitatively and implement corrective measures.

So you see scrum is not difficult to learn. You can implement scrum methodology easily. All you need is standard spread sheet software and your team buy-in.

VOILA! YOU HAVE BECOME A SCRUM MASTER. GO TO YOUR BOSS AND ASK FOR A RAISE.