Monday, February 21, 2005

The Future of Software Development - A Rant About Agile/XP

Here's what really bugs me about Agile/XP.

The introduction of every new software engineering fashion to us teeming masses is like Athena springing out, full-grown and dressed in armor, from Zeus's forehead; the new methodology bursts onto the scene full-grown and ready for action. There's no sense of a period of gestation or ancestry. It's just there one day, big as life and twice as natural, sweeping away all that came before it.

And XP is just like the RUP/UML which was just like OOD&A which was just like JAD which was just like RAD which was just like...well, you get the idea.

Except that Agile/XP seems to have a lot of similarity to Barry Boehm's Spiral Model, which Boehm wrote papers about back in the mid-80's. The Agile/XP mavens mostly deny this. Granted, there are some significant differences which make Agile/XP both a subset and superset of the Spiral Model. But there's also an unwillingness to acknowledge, much less build upon, the contributions of the past - particularly if they come from Computer Science.

Computer Science? We don't need no stinkin' computer science. This is engineering, boys! We've got to be practical and get things done!

I think this attitude is one of the reasons why a viable discipline of software engineering has been so slow to emerge. Let's face it: we have more in common with the fashion industry than we do with real sciences. If we tried to be an applied science instead of a fashion mill, we'd acknowledge and build upon the past. We'd make hypotheses about what works, test those hypotheses, evaluate the results, then rinse and repeat instead of throwing it all away. And we'd build up an effective body of practice whose roots are based in sound, tested theory.

Of course, this would depress the software engineering fad industry. And wouldn't that just be too bad.

No comments: