What is it?
Agile development methods such as
extreme programming are ideal for tough and uncertain economic
times. They provide resilience in the face of unexpected cuts to
teams and budgets which can be fatal to more rigid "waterfall"
developments.
One of the most widely adopted agile methodologies is Scrum,
promoted internally and externally by Microsoft, Google and IBM's
Rational team, and used by people in thousands of other
organisations.
As with extreme programming (XP), one of the most exhilarating
and alarming aspects is the individual commitment from team
members. Once you have taken responsibility to develop something,
you are on your own, with no-one else to blame.
But with developments carried out in "sprints" of two to four
weeks, daily meetings and constant interaction with the customer,
you can't dig too big a hole for yourself and any problems will be
sorted or, if necessary, reassigned at the next meeting.
Scrum lacks the utopian philosophy that goes with extreme
programming, but shares its commitment to the wellbeing of
programmers first and foremost. As with XP, you don't have to
swallow it whole to enjoy some of its advantages.
Where did it originate?
The "scrum" concept of teams with mixed skills who move the ball
forward between them came from a paper published in Harvard
Business Review in 1986, describing the approach used by some very
successful Japanese companies. It was adapted for software
development by http://jeffsutherland.com/scrum/Jeff Sutherland and
http://www.controlchaos.com/ Ken Schwaber, who announced Scrum in
1995. Scrum drew on Borland's Quattro Pro development, which
delivered one million lines of C++ code in 31 months at a rate of
1000 lines per person per week. This was the most productive
software project ever documented, according to Sutherland.
What is it for?
Each "sprint" addresses the highest priority items in a list of
customer requirements. Each sprint results in a shippable product,
fully tested and integrated.
The daily meeting of around 20 minutes asks three questions:
What did you do yesterday? What will you do today? What obstacles
got in your way? This enables developers to help one another. Often
the problem encountered by one has already been solved by another,
or could be eliminated by a change to another team member's
work.
As with extreme programming, there are no set project roles -
everyone should be able to swap tasks with another member.
Teams are limited to between five and nine people, otherwise
co-operation becomes harder. This doesn't mean Scrum is only
suitable for small projects: the Quattro Pro team had a maximum of
eight members, and http://www.scrumalliance.org/resources/290Scrum
is being scaled up to enterprise level.
What makes it special?
Constant reviews and the focus on prioritised customer
requirements reduces time wasted building features that are never
used. Self-organisation, whereby team members choose their own work
and responsibilities, is said to improve motivation and job
satisfaction and hence employee retention.
How difficult is it to master?
You
can read a document called Scrum in Five Minutes. To become a
certified Scrum master, you will first need a working knowledge of
Scrum drawn from books, articles, web info and practical
experience. There are plenty of two-day courses in the UK, costing
around £1000.
Rates of Pay
Agile developers with scrum skills earn £30,000 to £40,000
Training
For tutorials, books and other resources see
the scrum alliance,
www.controlchaos.com
read about tutorials
www.mountaingoatsoftware.com/scrum
and
download
this PDF.
Schwaber's
Agile Project Management with Scrum is published by Microsoft
Press