An Introduction to Extreme Programming
Subject:   Everything old is new again.
Date:   2001-05-15 12:49:02
From:   schwern
My first impressions of XP was "This is nothing new". It is 'extreme' only in its proposition to use Best Practices all the time. And I too fixated on the apparent idea that you don't have to do up front design.

But there's something you must remember. While its been rather clear for quite some time what makes up a good software project (at the very least since the publishing of Mythical Man-Month in 1975) we continue, collectively, to ignore it. The state of software engineering in the workplace remains as piss-poor as ever and large percentages of projects overrun their schedules.

In short, we, as a field, suck, compared to say mechanical engineering.

So while to someone clued into software engineering, XP might not seem so extreme, when held up against the state of current practice, its very extreme. Taken in this context, it makes a bit more sense.

XP isn't saying "You don't have to design up-front" its saying "You don't have to design up-front as much as the usual Waterfall model says you do." (Waterfall being the typical practice of linear development: requirements, design, code, test, release. Most use it without realizing it.). XP is very similar to the old Spiral Development plan, just with tighter spirals.

But to many people this is all brand-new! Or if not brand-new, its unpracticed. The clumsy Waterfall model is still in very wide-use. Quality is constantly chucked under pressure. And the 40-hour week seems like an unachievable dream for none but the "gurus".

XP is extreme in that the current practices are lacking, not that better ones aren't already available. Its new only in that people are unaware/ignoring what's been known for so long.