Agile Project Planning

ExtremePlanner: Agile Project Management for Distributed Software Teams
Click For Your Free Online Trial

Saturday, June 04, 2005

Scrum for iterative development projects

Scrum is a methodology for agile software development that's been around for some time. It's been overshadowed by eXtreme Programming (XP) to some degree, which might be more to do with the choice of names that the merits of the process.

The essence of Scrum is the idea of a Backlog of work which is prioritized, and a Sprint, which is a period during which the development team works on prioritized items from the Backlog.

There are some useful metrics and planning activities also associated (e.g. a weekly "scrum" and a daily standup meeting), but the core is still this idea of prioritization by the stakeholders of the feature backlog and an uninterrupted period of work by the development team.

Scrum seems to be easier to get a handle on than XP, since the rules are less involved. XP focuses on practices that complement one another such that removing one of them tends to increase the project risk. Some of these practices, such as pair programming, are somewhat controversial, and scare away potential practitioners.

Scrum, by contrast, is less involved with the details of the development process, and more with the project planning aspects of a software effort. In my opinion, teams just getting started with an iterative approach to development will be able to grasp Scrum very quickly, and without getting caught up in the arguments that new XP teams frequently deal with (Am I doing XP properly?)

Ultimately, though, Scrum is very compatible with XP development, and the same sort of tools work for both approaches. An XP iteration strongly resembles a Scrum sprint, and the idea of user stories is common between the methods.

Now that the initial hype of agile methods has subsided, and more teams have gained experience with these processes, a mix and match approach may well be the best option for teams that are undecided about which method to adopt.

After all, the whole spirit of agile is to use what works, throw away what doesn't, and to embrace change. Methods aside, if you can get fast feedback in every area of the project, from planning through testing, you're doing agile.

For more on iterative development tools and techniques:

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams


Post a Comment

<< Home