Fog Creek Software
Discussion Board




Extreme Programming Gets Pimp Smacked

Here's a great critique of Extreme Programming, for those who want to see an alternative viewpoint:

http://www.jroller.com/page/pyrasun/20040119

This blog has some other good stuff if you're interested in learning the details of aspects of J2EE and transaction processing.

Burninator
Thursday, January 22, 2004

Couldn't have said it better myself.

Sum Dum Gai
Thursday, January 22, 2004


Although this blogger claims to be against XP I think he is a good example of why XP practices are good.

Mike's main beef against XP is that "his projects" are way too complicated to use XP ideas. The problem Mike doesn't realize is that if he tried to simplify his projects then it might not cost as much to make changes.

I've seen a lot of bad architects complain about XP because they don't like the idea of losing a month while everything gets refactored. But the point of XP is not to spend a month doing refactoring. The goal is to refactor in small easy amounts and to always keep the system working.

NathanJ
Friday, January 23, 2004

Nathanj: Couldn't have said it better myself.

Anonymous XPer
Friday, January 23, 2004

I'm not convinced the blogger understands XP.  He complains about anecdotabl evidence, but when he provides his own (something about all XP projects taking 3 times longer than needed), he doesn't provide any numbers to back it up.

Crimson
Friday, January 23, 2004

'pimp smacked'? what are we, 12 years old?

old fart
Friday, January 23, 2004

Burninator,

Thanks for the link when I have time I will check out what this person has to say. I don't remember the guy's name but I do remember his blog. Last year he wrote "100 reasons why Java is better than .NET" type of post.


Two places you might want to check out:

http://www.softwarereality.com  -  has several anti XP articles with comments

http://groups.google.com/groups?hl=en&group=comp.software-eng  -  While the XP guys have their own newsgroup several of them aslo post on this one as well. I posted this URL because about once a month or so you can find a good debate going on between several XPrs and several "I am not sold" types.

One Programmer's Opinion
Friday, January 23, 2004

I could probably cite something from one of the XP books claiming it's not an appropriate practice for large teams that brag of billions of lines.  In fact, by attacking so hard and arguing it's only for toy examples, that critic may be bolstering the XP side.

Tayssir John Gabbour
Friday, January 23, 2004

I guess I don't understand XP.  THis guy, and another mentioned on another thread seem to imply that XP escews planning, and apparently, object modelling (that from the guy on the other thread).  Is this accurate?  How does that work?  I mean what are the programmers to do if they are faced with creating a system in a domain space in which they have zero knowledge such as DNA microarrays?  How can they just start programming?

Also the blogger referenced in this thread claims that most XP examples focus on the GUI.  I have noticed this also in the people who try to sell RAD tools, and that is a prime reason we reject them.  Is this the case with XP?

I only ask because Philo suggested I check into XP based on one of my previous posts.

name withheld out of cowardice
Friday, January 23, 2004

Arguably the worst thing about XP is the cult-like attitude it has fostered.  All of the XP books say the same thing over and over again, with about 20 pages of real content per book.  There's even a "Questioning XP" book, which is really more justification for XP in disguise (there is also another book about problems with XP, but it's not from Beck's XP series).  Overall, there's an excessive amount of talk and justification for XP, especially compared to how little there is to talk about in regard to XP.

Has anyone else noticed this?

Junkster
Friday, January 23, 2004

I've just noticed whenever somebody says they tried XP and it was a disaster cost and timewise for their project, people say "well, then you were doing XP wrong."

Cubist
Friday, January 23, 2004

Why do people who like XP take so much time to get the word out? It's not as if they gain anything by having others use XP. They don't seem to be selling XP tools.

Rational, on the other hand, is just trying to sell software. They want as many people as possible to use RUP and buy their stuff.

I've used some XP techniques, and left others out. My software seems to work fine.

I think this is just like Unix vs. Windows. There are no winners.

Bob
Friday, January 23, 2004

>>Why do people who like XP take so much time to get the word out?

That one's easy -- they have a passion for it.  Doesn't say a thing about the goodness or badness of XP in general.  But if a thing can be done at all, it's the people who are passionate about it who will do it first, do it best.  (See Naked Chef vs. McDonald's.)

It is interesting to see what structure and patterns result from the overriding goal of simplicity.  They do seem to have defined practices that support one another and support that goal.  Sometimes it works, at least, and studying the times that it doesn't is also interesting.

Mikayla
Friday, January 23, 2004

>> I've just noticed whenever somebody says they tried XP and it was a disaster cost and timewise for their project, people say "well, then you were doing XP wrong."

This comes from their inability to acknowledge that development process play only a small part in a projects success.  Process pushers like to think they have all the answers--along with the books, seminars, and tools for sale to implement those answers.  You can't sell all that stuff if you admit your process is nothing more than a few suggestions that might be useful in some cases.

Matt
Friday, January 23, 2004

The oh-so-most-honorable 'old fart' wrote:

"pimp smacked'? what are we, 12 years old?"

No, we're middle-class, suburban white guys just trying to be hip...and failing.

Buddy Noone
Friday, January 23, 2004

Buddy, you're absolutely right. As a hipster, I'm a complete, and utter, unmigitated failure. Thank goodness for that. If I do start becoming hip, you have my permission to deliver swift, well-deserved justice. 

I chose the title because I felt my original title was perhaps a touch too long:

Mike Spille, "Extreme Programming", and The Oppressed: Assimilating Discursive Essentialism Violating, Colluding, Building: Spirit in Mike Spille and the Random Voices of Sexuality in "Extreme Programming"

And also because I just like saying "pimp smack".

Burninator
Friday, January 23, 2004

Burnie (can I call you 'Burnie'?),

It's all good. The first step in dealing with your lack-of-hipness-problem is admitting you have a lack-of-hipness-problem. Take heart, my friend, and be of good cheer, as recovery is a long journey that begins with a single step.

Buddy Noone
Friday, January 23, 2004


--
I've just noticed whenever somebody says they tried XP and it was a disaster cost and timewise for their project, people say "well, then you were doing XP wrong."
--

I've seen authors site studies that 50% of projects run late and are overbudget.

If you're doing XP wrong and it turns into a disaster you can't blame XP. It is just like a diet. If I am on a diet except that I eat an ice cream sundae every day for dessert then I'm not really on the diet.

NathanJ
Friday, January 23, 2004

It depends on the ice cream you put in the sundae. If it's low-fat, then it should be ok, diet-wise.

MatthewZ
Friday, January 23, 2004

>Why do people who like XP take so much time to get the word out?

I attended a meeting where a RUP guy epsoused his method (he was a salesman) and a developer espoused XP.

My impression was the developer liked a system where he just doodled. XP seemed like a system where it was over when it everyone agreed they could not make any more changes, perhaps owing to time or money or boredom or frustration or whatever.

I get the impression a lot of developers say they are using XP when they are just using nothing (CMM 1). Why? because they t reckon they should use some system and they haven't ever recognized they are using the "stream of consciousness" method so they grab a method they think is as close to that as possible.

Me
Friday, January 23, 2004


Eh, XP backlash is so 2003.

Can we move on to the XP backlash backlash now?

Bill Tomlinson
Friday, January 23, 2004

eh? what does low fat have anything to do with ice cream being good or bad? if calories in (calories, not fat) are higher than calories out, you'll lose weight.

just like methodology--if you switch over to some better method, and double your speed, but the boss still imposes a time limit less than required, you may get closer, but you'll still 'fail' the project. even without the fat.

mb
Friday, January 23, 2004

I guess what I like about XP is that it's a counterpoint to the "we must have fifty volumes of specs and know the answer to every question before we start" camp that think there are these huge chasms between requirements and design and design and development (and to contemplate crossing a chasm too soon is surely death!)

I like agile development, I like iterative design. I think they are the most successful methods for *any* software project (mind you, on larger projects, the loops may be bigger).

And so I use "XP" as shorthand for "agile development and iterative design."

But I agree that XP types can definitely be zealots, and obviously that then creates anti-XP zealots. [sigh]

Philo

Philo
Saturday, January 24, 2004

I find it fascinating that software developers have so much difficulty having rational debates. Saying that XP proponents are to vocals or are zealots may be true, but it doesn't give us more information on the validity of XP as a practice.

The linked article isn't really interesting, the author's main argument is that he feels XP advocates haven't work on large project. It's not difficult to find it's false. And the main mistake is dismissing a proposed set of practices on a theoretical basis. I'm not here to defend XP or agile methods, but they are practices you have to experiment with them to make a valid judgement.

Test first design for instance is really so counter intuitive that your opinion is irrelevant  if you don't make the effort to try it.

gunga
Saturday, January 24, 2004

Qualifier: I'm not an XP practitioner, but my values strongly align with the XP values, and would lose no sleep setting aside my own approaches to work in a strict XP shop if necessary.  So...

"Why do people who like XP take so much time to get the word out?"  Passion, yes.  But also because once you've learned how to write software well, once you've disabused yourself of the ridiculous notions that ISO/SEI gibberish has any value and that drawings and documents are an indispensable step, you lose all tolerance for the idiotic process nonsense and role-segmentation and endless hesitation that goes on in most organizations.  So if you think you'll ever want another job or want to move to a new city, it would help if the rest of the world got a clue too.  Need I mention the morality of helping your fellow humans break their shackles?

The "you must have done XP wrong" sentiment is a necessary element of damage control.  Most organizations will screw up any development effort regardless of process, because their talent and skill levels are abominable, so the XP camp can't (and shouldn't) let those disasters incorrectly reflect upon their approach.  Throwing a dozen copies of "Embrace Change" into a cage at the primate house of your local municipal zoo will not produce great software quickly, and yet this picture isn't too far removed from much of the anecdotal evidence provided by the entrenched BDUF camp.

To any programmer reading this... if you don't do XP, you can still be OK, but you really should take the few hours to read "XP Explained: Embrace Change" (and perhaps address the deeper problem of why you hadn't at leasst read it already).  But if you aren't already doing most of the XP things like very small releases, constant refactoring, and thorough automated programmer-written unit testing, then you're probably doing things very badly.  You're probably missing deadlines often, wasting time stepping through code in a debugger, tracking down obscure bugs in the field, working tons of unpaid overtime, sitting through endless meetings, rewriting and rewriting pointless specifications that mysteriously :-) didn't account for something discovered during "coding", etc.  (Did I really need to spell out the whole litany?)

veal
Saturday, January 24, 2004

Oh, and I must concur with the mentions about the even more important explanation of the "you must have done XP wrong" sentiment...

It's very common out there: many people have taken **what they've heard** about XP (versus what it really says) as a sanctification of loosey-goosey discipline-free noodling.  XP is very disciplined, as are all the major agile approaches.  The most egregious example I'd seen first hand was a team who literally *called* what they were doing XP, while not a single team memberso much as glossed even the Beck book, nor did any of them follow a *single* of the 12 XP practices.  They simply skipped all the process their company required, programmed haphazardly (and incidentally without skill), and failed miserably.  They would have likewise failed following the company's sanctioned ISO-style process, but now their failure is attributed to XP in that company, which verges on criminal.

veal
Saturday, January 24, 2004

*  Recent Topics

*  Fog Creek Home