Extreme JS

JS Greenwood's WebLog on architecture, .NET, processes, and life...

The simplest thing that can possibly (get me out of) work

Having spent a few posts on .NET specific tools, I'll get back to more process and architecture oriented topics for a bit now...

As a believer in Agile and XP for delivering software (where appropriate), I subscribe to the "simplest thing that can possibly work" ethos - not overengineering a solution based upon the assumption that as yet unknown requirements will change the defined implementation.  An application of YAGNI, if you will.  Whilst numerous people in the office have taken this mantra on, I've spotted a lurking anti-pattern that's reared its head a couple of times:

"The simplest thing that could possibly get me out of work"

One of the great things about Agile/XP is that it delivers some control back to the developer, removing the need for business analysts that are basically translator-patterns from business -> technology.  This is also one of the approach's problems (which I will discuss in another Blog entry soon); If developers cling to a statement such as "the simplest thing that could possibly work", it means that they are using none of their intelligence, experience, and insight to make decisions.  Like most maxims, "The simplest thing..." is a principle to use that cuts to the heart of the majority of cases.  It is also a rod for your own back if applied blindly rather than judging the implications of all solutions.  In my opinion, a developer is a "professional" who shouldn't mechanically apply rules to derive solutions - a modicum of intelligence is required at each juncture, not a parrot-like ability to repeat a phrase.

I've seen this anti-pattern manifest itself most recently where 2 solid man days were wasted on a task that would've taken 10 minutes if there'd been an understanding of what "simple" implied, and the more elegant solution hadn't been discounted for not involving the simplest steps.

This leads, for me, to two rules:

  • Whilst in the vast majority of cases, the simplest approach is the best one, there are numerous other cases where something that is only marginally more complicated will clearly give many times the potential going forwards.
  • The "simplest thing" and the "quickest thing" are quite often very different.  "Simple" could mean going through 100 files by hand, manually searching for similar text and overtyping it where needed.  "Quick" could mean hitting Ctrl-R in a decent editor and typing in a simple regular expression.  I know which of the two options I'd choose.  And, unfortunately, I know people that would choose the other option, protecting themselves with the "shield of simple".  The "sum of simple" should actually be: simplicity-of-each-step x number-of-steps.

The problem with simplicity is that it exhibits no intelligence.

Comments

John Spillett said:

Please let me know how to register "Dark Horizon" as the Pocket IQ etc sites are closed.

Regards

John

# June 15, 2008 8:57 AM

car auction in north hollywood said:

Great Post. I add this Post to my bookmarks.

# October 31, 2010 7:08 PM

best fillilng diet foods said:

I find myself coming to your blog more and more often to the point where my visits are almost daily now!

# November 6, 2010 1:51 PM

IrrerceGeld said:

Very informative post. Thanks for taking the time to share your view with us.

# November 20, 2010 5:31 PM

Sucherubre said:

I just book marked your blog on Digg and StumbleUpon.I enjoy reading your commentaries.

# November 23, 2010 12:35 PM

Cafliage said:

You certainly deserve a round of applause for your post and more specifically, your blog in general. Very high quality material

# November 28, 2010 2:50 PM

180 search assistant uninstall said:

You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.

# December 10, 2010 12:04 PM

carztkew said:

I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.

# December 22, 2010 5:01 PM

spywarearfbv said:

Very informative post. Thanks for taking the time to share your view with us.

# December 24, 2010 11:04 AM

lose your weight said:

Great Blog. I add this Post to my bookmarks.

# February 13, 2011 3:49 PM

clark county courhtouse said:

Great Post. I add this Blog to my bookmarks.

# February 15, 2011 10:38 PM

Uriliopsili said:

I’ve been visiting your blog for a while now and I always find a gem in your new posts.  Thanks for sharing.

# February 26, 2011 7:06 PM

car auctions in michigan said:

I’ve been visiting your blog for a while now and I always find a gem in your new posts.  Thanks for sharing.

# March 1, 2011 8:03 PM

InseceDyncnaw said:

Great Post. I add this Blog to my bookmarks.

# March 7, 2011 1:40 PM

used cars Muskogee said:

You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.

# April 2, 2011 11:03 AM

nubPagbainG said:

I’ve been visiting your blog for a while now and I always find a gem in your new posts.  Thanks for sharing.

# April 21, 2011 1:22 AM

reposession sales said:

I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.

# April 30, 2011 5:40 AM

chicago car auction said:

Thanks For This Post, was added to my bookmarks.

# May 1, 2011 8:36 PM

quisteasseree said:

I’ve been visiting your blog for a while now and I always find a gem in your new posts.  Thanks for sharing.

# June 1, 2011 3:14 PM

justichehut said:

Awesome Post. I add this Blog to my bookmarks.

# July 7, 2011 9:41 PM

twingigma said:

You certainly deserve a round of applause for your post and more specifically, your blog in general. Very high quality material

# July 15, 2011 3:05 PM

Allerblauntee said:

You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.

# July 17, 2011 3:08 PM

Allerblauntee said:

You certainly have some agreeable opinions and views. Your blog provides a fresh look at the subject.

# July 19, 2011 2:29 PM

Buy cheap software online said:

DAS3K3 I read and feel at home. Thanks the creators for a good resource..!

# September 25, 2011 2:40 PM

Black Mold Removal said:

I come across myself going to your weblog extra and far more often to the point where my visits are pretty much day-to-day now!

# November 2, 2011 10:29 PM

CNA Training Online said:

Wow that was strange. I just wrote an very long comment but after I clicked submit my comment didn't show up. Grrrr... well I'm not writing all that over again. Anyways, just wanted to say superb blog!

# November 26, 2011 11:11 PM

Bielizna Sklep said:

Today, I went to the beach front with my children. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She put the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is completely off topic but I had to tell someone!

# December 19, 2011 10:07 PM

Buy microsoft oem said:

72nxDc Scribbler, give me a student's record-book!))))

# December 28, 2011 1:39 AM

spider repellent said:

I absolutely love your blog and find a lot of your post's to be just what I'm looking for. Would you offer guest writers to write content to suit your needs? I wouldn't mind composing a post or elaborating on many of the subjects you write related to here. Again, awesome website!

# January 4, 2012 10:02 PM

cheap oem software said:

5mUYOt Yeah, it is clear now !... Just can not figure out how often do you update your blog?!....

# February 7, 2012 10:35 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)