No, THIS is the Right Way to do it
Al: Agile development rocks.
Bob: No way. Agile sucks.
while 1 == 1{
Al: Rocks
Bob: Sucks
}
Poor Al.
Poor Bob.
Poor us.
Now, this isn't a post about how wonderful Agile is or how bad it is. It's not really a post about Agile at all.
Instead, it's a post about how many arguments occur -- and how much confusion is spread -- because we don't understand what we're talking about.
Al and Bob aren't really talking about Agile at all. They're talking about themselves.
Al is the type of person that enjoys the method of working that Agile embodies. Bob is the type of person that does not enjoy it.
Al also likes strawberry milkshakes while Bob thinks strawberry is for wusses and that only chocolate milkshakes are legit.
Their arguments over Agile are essentially the same as their arguments over the Right Type of milkshake. But they both suffer from the misconception that because certain methods of programming are helpful and enjoyable for them, those methods must be universally good for everyone.. They're not.
Some people (I'm one) like the clarity and control that Big Design Upfront give them. Others find that things work better if they eschew Big Design and work "in the small".
Which of us is right?
Both.
Neither.
Joel Spolsky wrote a recent post in praise of "duct tape programmers" -- those at the opposite end of the "architect astronauts" portion of the spectrum. You can see the spirited responses the article evoked here.
Both sides are passionate. Both are convinced they're right. Now, if this were the only area of disagreement, we could view it as a legitimate exploration of which method is right.
But it's not isolated. These sort of arguments occur all the time.
OO v. procedural v. functional
Single v. multiple inheritance
Language A v. language B
Linux v. Windows
What I've learned is that what works for me may not work for you. We all seek pleasure in our work. But our brains are wired differently and our differing experiences have led us to value certain things above others. So Big Design works for me. Agile may work for you.
And even for the same person, their perspective may change over time. I value things differently than I did 10 years ago. Was I wrong then and right now? No, it was just the that different "me's" were helped by different ideas.
Put the same person in two different situations and we may find that the person's values change. I'm not talking about core values -- but on how to implement those values. But, to the outside world, it may appear that the person is inconsistent when, in fact, they're simply learning, changing, adapting to different situations.
F. Scott Fitzgerald once remarked that "the test of a first-rate intelligence is the ability to hold two opposed ideas in the mind at the same time, and still retain the ability to function."
A good thought amidst the "us v. them" mentality too prevalent in both our industry and at large.


@Jim: But would you advise Linux for your grandmother?
@Jim, @Hal: Yes, I'd advise Linux for my grandmother. For a light desktop computer user, Ubuntu Linux (among others) is cleaner, faster, more stable and *much* easier to maintain (updates, lack of viruses, etc.) than Windows. I don't have a ton of Mac experience, but no way I'd justify that cost just for grandma to browse to Gmail and Facebook ;-)
Linux? OK.
Vanilla milkshakes? That's war talk.
Thanks for another great article. I tend to agree with @Jamie on his points about the articles that tell you why "y" sucks and never really explain what makes "x" so great. I prefer to learn x and y, try both and then make a decision. I try to use what makes the most sense given the problem I have to solve. It's nice to see that approach laid out in print. And vanilla? what are you nuts? Anyone who has had a 'Death by Chocolate' milkshake from the Penn State creamery will tell you how wrong you all really are! :-)
See -- this is what I mean. Here you go lambasting people who prefer vanilla milkshakes, impugning the motives of people with whom you disagree.
Is it not enough that these "vanilla-lovers" are obviously suffering from severe cognitive dysfunction? I, for one, will not be party to such abuse. No, it is not for me to pry into their personal lives to see how far this sickness extends. I will not judge those who opt for "vanilla" (the mere word sickens me) for making choices that a blind monkey wouldn't make. I prefer to believe that, despite what appears to be sheer evil on their part, there may be another explanation. Insanity, perhaps.
@Gavin
Vanilla would be a fine alternative only if "mud" were unavailable.
I was just trying to show some empathy towards Steve.
(Sometimes it just doesn't pay to try and be nice) !!