Saturday, March 16, 2013

Generalists are the key of innovation.

If you fill your organization with dogmatic specialists, it is going to be extremely difficult to innovate.

For example imagine working in an software development shop where engineers call themselves "Rubists". They participate to Ruby community events, they read every Ruby book and blog on the market, they study every aspect of the language and constantly find ways to more creatively phrase their code in Ruby. They debate endlessly about the best test framework, the best gem available and how to write one line of code in the most readable way. They choose cute nicknames and attempt to convert as many developers as they can to their Ruby cult and add disciples to their following that soon starts looking more like a religion than a community.

 If your organization is static and not interested in serious innovation and if you are willing to put up with that kind of environment, it might even work for you. For example if you build small standard websites for simple e-commerce applications, you might even be happy with that. More power to you.

 However, now imagine that your organization in order to innovate needs to write a high performance system to crunch large amounts of data in real time. Or perhaps you want to expand your reach and release an iPad application.

Your group of dogmatic Rubists will try to either avoid these kinds of projects making all sorts of excuses, or do these things in Ruby. They will attempt to write code in Ruby that simply doesn't belong in the Ruby world.

Crunching numbers in Ruby is slow and attempting to write an iPad app in Ruby is a compromise that you don't need to make. It is like forcing a square peg into a round hole. You can do it but the result is not very good.

 On the other hand, if you surround yourself with strong generalists that can make the best decision for the problem domain, and maybe a few temporary specialists (contractors), you will be positioned for more effective innovation.

Taking a technological stance is an impediment to innovation that you do not need to bake into your DNA. A language or framework are tactical choices, not strategic ones.

No comments:

Post a Comment