Bureaucracy 2.0

buzzword: Achieving higher levels of inefficiency through theĀ  inappropriate application of technology.

I was sitting in a meeting yesterday, and realized that the conventional approach to software design (more generally, any big project) is for upper management think that they want something (but they aren’t clear on the details, and mostly they want buzzword implementations) and then assign a group of people to get it done (this assignment subject to favoritism and other political concerns). So delegation comes directly from the top. A reliable complex system designed in this fashion will almost always fail.

Google, on the other hand, has seen the light. Complex systems are best designed from the ground up. That is you encourage your worker bees to create their own solutions on their own time, making their own job that much nicer. Encourage the employees to work on pet projects and only the really good ones filter up to the top.

So, if upper management wants something done the best way is probably to offer a reward for the project, and let whoever has the time and interest make an implementation; like the recent DARPA and XPRIZE contests. This will almost always achieve better results than top-down delegation.