Here’s a scenario:
Person: I’ve got a great idea. I want to make a system that people will use to manage their internal computer assets really simply. There would be a database of hardware and people could just point the web browser on every PC in the company to a site to record what hardware that PC has. And we keep it really simple and can then make offers on related hardware or anything that’s missing that they may need.
Developer: That sounds great! We should do make it so that it’s really simple though. We would need to have a REALLY big hardware list though, which will be a problem. Also, the suggestion thing will be a real problem without having a Googleplex (data mining is very processor intensive) and we just don’t have the manpower to do the Java client to do the embedded app to detect the hardware.
Person: (Completely disillusioned) Ah ok… Well I wasn’t saying we need to do it right now, but it would be cool to do.
Developer: Don’t get me wrong, we can do it but it will take a long time.
Person: (Cautiously happy) Ok then, let’s do it!
Six months pass. While our developer above is still deep in Alpha release cycles, some startup comes up with exactly the same idea implemented in a really simple way and makes it big. The app doesn’t, say, have a massive hardware database, but users can add their own stuff in there which as it turns out suits them fine because they prefer calling it a “Maxtor 200GB HDD” instead of a “MAXTOR L01P200″. The app is free for schools which accelerates early adoption and gives good publicity. The Java detection app is done in partnership with a company that already does that. The whole thing was coded by a couple of guys in 3 weeks and doesn’t have half the functionality, but it works - now. And they’ll have lots of time to implement all those other features once that revenue starts coming in and they can outsource or hire more developers.
This is the cautionary tale of Idea Rot, the disease that kills too many good ideas to count.
It always starts out as a good, simple idea, but somewhere along the line it becomes the app to cure all corporate ills. All sorts of bells and whistles have been added to it, the system now integrates a scheduling system to remind admins to check their older hard drives, it also for some reason integrates a contact book to have all the suppliers’ numbers on hand and has a built-in warranty expiry tracker. The focus behind it becomes “We need to implement everything and get it perfect straight from the get-go”. The simple idea at the beginning is lost and has become a shadow of its former self. Simplicity was at the base. Simplicity was the key.
I’m guilty of having been a catalyst for Idea Rot. I find roadblocks when they are really easy to bypass and end up contributing to the decay of the original plan. Complexity always gets the better of me - maybe because I’m a coder and I find it more challenging to work on complicated things.
Well it ends now. From this day forth I vow not to participate in this practice and to point out to others when they are doing it. It will be hard. I don’t expect something I’ve been doing for 10 years to just disappear overnight, but I will try my damned best to quit.