Halhelms
SIGN UP FOR MY NEWSLETTER
 
 
Halhelms

Shameless Money

Recent Comments

Recent Entries

RSS

Subscribe

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.

Comments
Jim Priest's Gravatar I'll agree with all these except the Linux vs. Windows one :)
# Posted By Jim Priest | 9/30/09 10:24 AM
Will B.'s Gravatar Pretty good post, Hal. Good insight. I'll be sharing this with my coworkers for sure.
# Posted By Will B. | 9/30/09 10:32 AM
Hal Helms's Gravatar @Will B: Thanks

@Jim: But would you advise Linux for your grandmother?
# Posted By Hal Helms | 9/30/09 10:46 AM
Andy Allan's Gravatar @Halm Would you recommend Windows to your grandmother? :)
# Posted By Andy Allan | 9/30/09 12:28 PM
Jamie Krug's Gravatar @Hal: THANK YOU! It's nice to hear someone say this :) Agile, if implemented properly, can be very successful; implemented poorly, it can be a failure. Of course. The same applies to "Big Design Upfront." I much prefer to read articles that show the value in "X," rather than why "Y" sucks. Authors that are very quick to dismiss "X" with little experience/evidence just because they like "Y" quickly lose credibility with me.

@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 ;-)
# Posted By Jamie Krug | 9/30/09 12:41 PM
Matt Williams's Gravatar Uh-oh. This negates the idea that there is one health care system to rule them all. We are doomed.
# Posted By Matt Williams | 9/30/09 12:58 PM
Steve Withington's Gravatar ColdFusion + Agile development rocks. (oh, and I like Vanilla milkshakes.)
# Posted By Steve Withington | 9/30/09 5:31 PM
Hal Helms's Gravatar Agile? Maybe.
Linux? OK.
Vanilla milkshakes? That's war talk.
# Posted By Hal Helms | 9/30/09 6:22 PM
Gavin Baumanis's Gravatar Surely as long as malt is involved - vanilla could be a fine alternative?
# Posted By Gavin Baumanis | 10/1/09 7:12 AM
Scott's Gravatar Hal,
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! :-)
# Posted By Scott | 10/1/09 9:09 PM
Hal Helms's Gravatar @Scott
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.
# Posted By Hal Helms | 10/2/09 9:24 AM
Scott's Gravatar You're right, my mistake, perhaps I should strive to see how vanilla (shudder) can be part of a functional society and peacefully co-exist with other flavors. I mean there are times when vanilla can be the best tool for the job - say entertaining family/in-laws that you aren't really fond of. I gotta say, I'm starting to feel bad trashing poor vanilla.
# Posted By Scott | 10/2/09 9:41 AM
Steve Withington's Gravatar severe cognitive dysfunction? lol. you guys crack me up!
# Posted By Steve Withington | 10/2/09 3:25 PM
Gavin Baumanis's Gravatar While it might sound a little like I was singing the virtues of vanilla - I'm really sorry if I gave anyone the impression that "I" liked vanilla, with or without malt.

I was just trying to show some empathy towards Steve.

(Sometimes it just doesn't pay to try and be nice) !!
# Posted By Gavin Baumanis | 10/2/09 7:44 PM
TJ Downes's Gravatar Hal, great summary. I would agree that most arguments are simply lack of knowledge. Technologies and paradigms exist because they hold merit for a group of people! It is unfortunate that such divisions exist. I have found, over the years, that opening my mind to what others are using and doing has improved my workflow, the end result of the products I work on and my level of skill. I think the real challenge is being able to criticize those things that you LIKE and see their weaknesses, and help make those products better for others too
# Posted By TJ Downes | 11/16/09 4:02 PM
 
   
Clicky Web Analytics