One of my tools is a Logitech Cordless Presenter. I really like this device. It enables me to stand and present and to ignore the laptop and keep the engagement on me. This device has nine buttons – and is over-specified.
For some people it might be perfectly specified, but for me it is over-specified. Let me tell you why.
Yesterday I travelled to the south of England via a customers corporate jet (yes, I know that sounds very fancy, but it isn’t believe me). Even though this is effectively a private flight it still has to abide by all of the rules and regulations that a commercial flight would, the same restricted material, the same security checks, the same hand luggage restrictions. That’s where the problem comes in, the Logitech Cordless Presenter has a laser pointer, and lasers are not allowed in hand luggage.
I’m sure that a laser point is really useful to some people – but I never use one. The type of presentation that I give doesn’t require such a thing (to be honest I’m not a fan of people who do).
As I join the flight reasonably early in the morning the location of the Presenter is not high on my list of priorities. A couple of times now, most recently yesterday, I have had my bag checked on the far side of security and had to relinquish the Presenter to security. It sits in my bag for those occasions when I want to use it.
Even though it’s only nine buttons, this one button makes the Presenter over-specified.
The keyboard in front of me has lots of buttons on it. I know which ones I use because they are clean and shinny, there are an awful lot that are dull and dusty. Why on earth would I want a “Shopping” button? The keyboard is over-specified.
I’ve recently started using TweetDeck for Twitter. It’s a really nice twitter client. Today I updated to a new version and got, in return, a few more buttons. I’m highly unlikely to ever use these buttons. TweetDeck had the capabilities I required, it now has some capabilities I don’t. TweetDeck is in danger of becoming over-specified.
Over-specification is a huge problem in IT. People ask for more and more features which have less and less value. If they were high value it’s likely people would have thought of them early in the lifecycle – the further along the road you get the less likely it is that you are adding something of really significant value.
What’s even worse though, is that the new features become diversionary, particularly in the development cycle. I’m currently working on a number of large programmes where we are in danger of focussing on the peripheral requirements and not the core capabilities. People will get something new and shiny, but not something that makes a real difference to how they work.
Someone once told me a story about a spider that lived up in the eaves of a garage.
One day the spider noticed that there were lots of nice juicy bugs down on the ground, so he decided to lower himself down. He started by building a simple web to see how he got on. This web was a very successful web and the spider decided to extend a little further to see whether he could be even more successful.
Bit-by-bit he extended to form a whole complex of webs that kept him supplied with more bugs than he could have ever imagined.
One day he was walking around his vast abode when he noticed this rather scruffily and dusty looking strand leading up into the eaves above. Seeing all of the webs around him he decided that he no longer needed this connection with his past. He climbed up onto the webs and rid himself of this piece of history with a single snip.
No sooner had he snipped than the web below him started to collapse, trapping his feet. Further down he sank deeper into the web. Before he knew it he was completely engulfed, with no way out. There he lay until he starved to death.
The spider took his focus off his foundations, we must be careful that we don;t do the same.