The Web Gambit

Thoughts on Web Development

The Value of Complexity

There’s an interesting discussion going on right now about whether Software Development has grown too complex.  Lately this discussion was sparked by Ted Neward’s post on Agile treating the symptoms, not the disease. I’ve been interested in this discussion since I first heard the DevLink panel discussion on the same subject.  My general feeling is that while it’s unfortunate that software development has become too complex for amateurs, a higher barrier to entry is probably better for the industries that require software.

Phil Haack’s post is good because he talks about how he made a living cleaning up other people’s messes.  I’ve had a very similar experience in my career both when I was consulting and as a product developer. For every successful business that started on Access, there’s likely a more successful business that cleaned up the mess left behind by Access.  But while developers can make money on both sides, the businesses using these applications are paying a high cost to get the software written once and rewritten later.

I once worked on an application that started out as an Access database. It later migrated to local instances of MSDE/SQL Express, then finally to SQL Server in a hosted environment.  Each of these migrations were performed soon after the application and its team were shuttled along from one corporate acquisition to another. Along the way, a large amount of underlying technical debt was never addressed and soon the codebase became a big unwieldy mess. Many customer requests were ignored or deemed too costly and the application stagnated until the last acquiring company killed it off, leaving its existing customers to look elsewhere to solve their business needs.

It’s true, the product had made the original company that built it a lot of money. But the customers had paid a substantial amount into its ongoing development with little to no gain in most cases.  Sounds like a raw deal for the customers, doesn’t it?

Unfortunately, the customers in this case were hospitals. And as their costs went up, those costs were passed down to patients in the form of higher insurance premiums and a higher cost of care.  This is just one example of the trickle down effect of wasted money on software and how we as consumers end up paying for it in the end.  I’m sure there are similar examples in the Defense, Airline, and Hospitality industries too.  While there are some industries such as Social Media where a low barrier to entry has spurred a lot of good competition, I don’t think this is good for every industry out there.

For this reason, I believe software should be harder to write and there should be a barrier to entry.  We can’t continue to let such businesses waste dollars in our economies on poor software implementations that constantly need fixing. Keeping the barrier to entry high forces businesses to get it right the first time.  In the process we will have to sacrifice some agility and time to market, but I believe the businesses in our economies will be better off in the long run. They will then be able to direct their investments towards more worthy pursuits instead of wasting money fixing or replacing bad software that should have worked right in the first place.

Advertisements

2 responses to “The Value of Complexity

  1. Steve Bohlen October 15, 2009 at 11:01 am

    I am in general agreement with the thrust of your point; software development as a profession still struggles with reconciling its roots as the domain of hobbyists and part-time fiddlers and there is significant 'professional debt' that the industry carries around that hearkens back to those days where any old member of a department could write a useful software program with little formal training. The sooner we jettison this baggage and recognize that as the expectations for what software “should” be able to do and the reliability with which it “should” be expected to do it preclude the amateur doing the development work, the better off we will all be.After all, you don't see the neurosurgeons complaining that “my mom cannot perform brain surgery any more, so clearly neurosurgery has become too complex” :)

  2. Karthik Hariharan October 15, 2009 at 2:16 pm

    I definitely think there is value in providing options for the hobbyists so that we continue to attract great minds to the field. Most of the great developers I know today didn't go to school for it. And I know many people are thinking “I was just a hobbyist, would I have gotten into this industry had I been 10 years late?”I don't think the options for the hobbyist have diminished, in fact I think they have increased. But I think having a filter for the hobbyists is not a bad thing.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: