Holmes on Homes on Software

by Michael McClenaghan 2006-08-09

I was watching Holmes on Homes the other night and was trying to drawn some parallels between the projects on the show and some of the things that I see in the software industry.

Imagine that you are the Mike Holmes of software.  Why you're writing software when you have a Bacon Number of 2 is beyond me but let's just stick with that assumption.

Following the typical HoH storyline, a company calls you up so that you can come into their shop and fix their software mess.  You assemble your crack team of contractors and head on over to see what's up.  This is where it starts to get tough to compare home renovation and software.

In home renovation, you deal with the physical world.  Specifically, you deal with the constraints of the physical world.  Electrical current runs on its own cable.  Water runs through pipes.  Doors are attached to walls.  That's just the way it is and no matter how incompetent you are as a contractor, you still have to deal with the physical constraints of reality.

In the software world, all of the constraints of the physical world are gone.  Its very easy to combine your metaphorical electrical and plumbing (for example, put database access code into your user interface).  It's outrageously easy to create absolute nightmares of architecture because there are no constraints that force you to use any type of architecture.  As Jeffrey Palermo has discussed, writing software is too easy.  To carry on with the home renovation analogy, it is very easy to build a house of straw that collapses in the first windstorm.  Of course, Jeffrey Palermo doesn't have a Bacon Number so he might not be a trustworthy source.

That got me thinking about the different horrors that Mike Holmes sees.  Even in the worst renovations that he comes in to fix, he still has a lot more decoupling and abstraction available to him than you would typically see in most of the good software that I've seen.  When it comes right down to it, even bad home renovations have more architecture than I usually see in good software projects.  Maybe that's because housebuilding is a more mature industry than software and it truly is easier to be an architect than a designer'

Or maybe it's just because the 'software as a house' analogy just sucks.  :-)

blog comments powered by Disqus