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
Schwaber's Agile Project Management with Scrum is published by Microsoft Press
This was first published in November 2008