Vous êtes sur la page 1sur 6

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: Lets 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, its 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.
Scrum is 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 lets start implementing scrum. Lets 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.
Lets 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
teams 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.