« April 2008 »
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Where's Dave?
Mobile version


Monday, 7 April 2008
Scrum versus Extreme Programming
Topic: Irony

The periodically-recurring circular rant and counter-rant about whether Scrum "needs" XP and whether XP "needs" Scrum flared up again on agile-related discussion lists recently. It is a debate that afflicts the agile community in much the same way as genital herpes: There is no known cure, and the problem tends to flare up when Scrum and XP come into contact, especially when there are visible signs of open-mindedness or cooperation. Vikas Hazrati summarized the key points in one of those discussions on InfoQ.

It is difficult to think of many other repeating discussions in the agile community that are less likely than this one to result in a useful outcome of any kind. If one were considering the purchase of a new car, it would make sense to compare Ford and Honda directly, because each of those is a type of car; they serve the same purpose. When one is considering the adoption of agile software development methods, it makes little sense to compare Scrum and XP directly, because they do not serve the same purpose.

XP is a set of practices whose sole purpose is the development of software. XP does not apply to bridge-building, heart surgery, or space exploration. It is strictly for software development. As such, it defines a number of specific software engineering practices. Some people think XP is lacking in the area of project management. In fact, XP does include provisions for project management, and it has been extended to support larger and more complex programs and environments than it originally addressed (see, for example, Industrial XP). At the same time, there is no inherent conflict in using XP in conjunction with some other management process. Many organizations successfully apply Scrum and XP together.

Scrum is a lightweight process wrapper that supports empirical process control. While it can be used for software development projects, it is not specific to software development. It applies to any sort of project that can benefit from empirical process control. Even in the context of software development, Scrum can complement any iterative development methodology, and not only "agile" ones. XP proponents criticize Scrum for its lack of specific software engineering practices. In fairness to them, I must admit that is true: Just as a camel has no gills, Scrum defines no specific software engineering practices.

Can Scrum be effective without XP? Yes. Can XP be effective without Scrum? Yes. Can the two be effective together? Yes. So, what's all the fuss about? It's hard to say. Maybe some people just enjoy arguing.


Posted by Dave Nicolette at 10:13 AM EDT
Post Comment | View Comments (1) | Permalink

Wednesday, 9 April 2008 - 1:59 PM EDT

Name: "Vasco Duarte"
Home Page: http://softwaredevelopmenttoday.blogspot.com/

I agree with the argument that Scrum is just a "management" method or process. Indeed i've written up on the use of Scrum as a time management method for personal work management. Check it here

View Latest Entries