Hi Stede,
Is there anyone else on this board that feels Extreme Programming (although)
making some great points is a little overcooked, extreme and just plain
nonsense at times?
To be honest, much of the heat surrounding XP comes from followers who
insist that it solves every problem, which it clearly does not. On the
other hand, the existing methods have been proven not to work. Adding more
and more project management, without good practices, has not yeilded lower
cost software or higher quality software or more timely software. Into the
vacuum caused by this lack of success, XP rode like a white horse, and many
people decided that "different is better because it's different."
The largest XP project, and the one that got the whole movement going, was
Chrysler's C3 project, and it failed (sometime after Kent published the
book). Perhaps that's why Kent Beck doesn't give many topics on XP any
more. He's seen the results too, and knows that no amount of hyperbole will
take a failing project and make it into a successful one.
Now that I'm done jumping on XP, let me say that I have become, over the
past few years, an "Agilist." In other words, I regularly use many of the
practices espoused in XP as well as other Agile methods like Scrum. In
fact, I have taken the time to become a Certified Scrum Master and I am
currently writing a book on the use of agile methods in Systems Analysis.
From my experience, I would encourage all readers to read Kent Beck's book:
"Extreme Programming, Embrace Change" (with a healthy dose of skepticism...
some of his conclusions are naive, but his practices are sound and many of
them work for small projects). Then, read "Agile Project Management with
Scrum" by Ken Schwaber. I have found that, by combining Scrum practices for
PM, with XP practices for development, your projects really do move faster,
and you really do deliver more for less, in a timely manner.
I almost don't believe it sometimes, but I look at my own project schedules,
and I see people who aren't working 80 hour weeks, and I software that has
extensive unit tests, and I see very few features that no one asked for, and
I see the business users involved in the decision making process. I see
things working like they should more so than ever before. (my organization
is still at little stuffy at the top, but at the bottom, the departments are
encouraged to "find a way that works, and make things work", so we've had
the ability to try this out.)
One success that I didn't expect: we've been busy exporting the Agile
processes to our vendors and employees in India. They were NOT prepared for
it, but have embraced the opportunity to provide better customer
satisfaction. I think it is working pretty well there now.
So, don't pan the entire Agile Alliance because of the sometimes "wild-eyed"
nature of some of the followers of XP. To do so would be like judging an
entire religion on the basis of a few radicals... it is neither fair nor
balanced. I do not believe that all of these processes work in all
scenarios. On the other hand, many do work in most scenarios, and some will
work to save a project that otherwise would fail, so this stuff should be
shared.
That's my opinion... this week anyway...
--- Nick