Monday, March 8, 2010

Keep it Simple Stupid or Keep it Stupid Simpleton

There's an urban myth that says NASA spend millions designing a pen that would work in space whilst the Russians got by with pencils. This is a perfect example of KISS. In reality the pen was developed cheaply by an independent contractor and sold to both NASA and the Soviet Space Agency.This myth and its ilk often used to be quoted when comparing the Cold War forces pitted against each other. By all accounts the MiG 29 is very low tech when compared to the F-15 Eagle for example and there was a time in the 80's when supposedly F-15's were only serviceable every 4 days out of 10 because of their inherent complexity.

This phenomenon has parallels with some of the choices we face in modern day IT. During the internet boom I was engaged bya dotcom to define a server architecture for their new revised classifieds website. The brief was that it needed to be scalable and have a very high availability. I provided the client with three options at the time which were:

- simple - a single highly resilient server with no failover capacity
- moderate - a hardware based failover cluster which required a hardware reboot to failover between nodes
- complex - a hardware/software based load balanced cluster which could handle a gracious soft failover

Being accustomed to having to cost justify these options I fully expected the client to select the simple or moderate solution. To my utter surprise they didn't blink an eyelid as went for the most expensive and complex option. They perceieved that the risk of an unplanned outage was so serious that they would literally spend millions to guard against the risk. They also explained that the sort of kudos they would get in the industry by following the likes of Amazon and announcing an infrastructure purchase in excess of a million dollars would enhance their perceived market valuation pre IPO.

In hindsight, I wish I had never proposed the complex option or that I should have been more vociferous in opposing it. Previously I'd had great success in applying the moderately complex model at previous sites. However, these were heady times and so long as the client understood the risks I was prepared to give it a go. The result, despite all my best efforts, was a disaster. We had severe performance issues from day one and our reliability was worse than it would have been had we picked either of the simpler options. It was humbling for me and a great reminder to me to always apply KISS.

The interesting thing though is that if we don't ever try to stretch ourselves now and again we'd all be building Mig 29's. For the record the F-15 supposedly has a 104 to 0 kill ratio.

No comments:

Post a Comment