Most software companies are bad at innovating
A couple of my past employers were organized and managed like a typical software company. They were either marketing or sales oriented. The overall vision of the company, product road maps, etc were set by people who had little to do with building the product. Some folks from engineering were often involved, but it was a very top-down approach: CEO/board identified a new market, buz dev considered buy-vs-build, product marketing wrote PRDs by doing a competitive landscape analysis (basically a spreadsheet with a list of features), PMs or engineering managers/architects wrote functional specs, and finally someone started coding. There is no room for innovation here. That's why markets are so crowded with very similar offerings.
The actual engineer building the product had little control in the overall direction of the company, but had flexibility to decide which technologies to use. Often the technology decision was also influenced by marketing as industry buzz words like ASP, J2EE, AOP, SOA, etc can help sell a product for reasons not yet clear to me. At times, management would throw bodies at the problem to speed up a schedule despite engineers calling it a futile attempt.
For execs, it's scary to give up control. After all, their careers often depend on the success of the venture. It's scary to trust a bunch of engineers to build something amazing. However, it's this actual fear that causes many companies to fail. Wisdom of the Crowds shows many examples where a group can make a better decision than even the smartest person in the group (and that assumes that the execs are the smartest folks in the group). So why do CEOs or VPs often try to force their opinions? Why not foster a more democratic approach where good ideas can come from anyone in the organization and somehow these ideas can get aggregated. Why not give everyone a chance to contribute? Why not empower the people building the product with the necessary freedom to do something amazing? A company's culture facilitates the mechanisms for innovating. And in the world of software, innovation is everything. There are hardly any barriers to entry and little capital is needed.
I'm so happy that my current employer is different.
The actual engineer building the product had little control in the overall direction of the company, but had flexibility to decide which technologies to use. Often the technology decision was also influenced by marketing as industry buzz words like ASP, J2EE, AOP, SOA, etc can help sell a product for reasons not yet clear to me. At times, management would throw bodies at the problem to speed up a schedule despite engineers calling it a futile attempt.
For execs, it's scary to give up control. After all, their careers often depend on the success of the venture. It's scary to trust a bunch of engineers to build something amazing. However, it's this actual fear that causes many companies to fail. Wisdom of the Crowds shows many examples where a group can make a better decision than even the smartest person in the group (and that assumes that the execs are the smartest folks in the group). So why do CEOs or VPs often try to force their opinions? Why not foster a more democratic approach where good ideas can come from anyone in the organization and somehow these ideas can get aggregated. Why not give everyone a chance to contribute? Why not empower the people building the product with the necessary freedom to do something amazing? A company's culture facilitates the mechanisms for innovating. And in the world of software, innovation is everything. There are hardly any barriers to entry and little capital is needed.
I'm so happy that my current employer is different.
8 Comments:
"The actual engineer building the product had little control in the overall direction of the company"
I think the common perception is that devs are basically black boxes... you feed in X and out comes Y. Since they're viewed as machines, no one thinks that they'd have much to say in the way of innovation because the assumption is that they don't understand the business (that's for biz/dev) or the users (that's for PMs and maybe QA).
Organizations I've been in tend to treat ideas that come from devs as "awwww, isn't that cute, he wants us to add a music widget in the corner." These places claim to be open to ideas from anywhere, but since they don't actively include people from different functional areas in the design process (where innovation comes from), most devs probably don't even think it's their place to let their brains go "there." If the structure dictates that your ideas are irrelevant because you don't have all the information, there's no incentive for you to put your thinking cap on... so devs just sit and wait for that next task assignment to come along.
This is obviously a hinderance to innovation, but there needs to be culture-shift that includes technical team members early on in the big decision making process so that they can understand the business and user needs (which will lead to them offering up those innovative ideas).
How to do that logistically though can be difficult... especially when disagreements arise. If exec/biz dev has the ultimate say (which they always do), then when these folks don't see eye to eye and the devs get their ideas vetoed, that can make for an extremely tense team. I'd love to hear more about how devs are actually included in the design process in other people's organizations.
This comment has been removed by a blog administrator.
I think most software companies fail not because of lack of innovation, but lack of execution. They fail to nail the basics: good features for the right customers, designed and engineered well, priced right, and delivered on time. Market leaders in all fields lead because they execute consistently (or more cynically, more consistently than their competitors). Innovation, over the long term, is a flaky indicator of success. Companies/products can often win without innovation, but not without solid execution.
I do agree with most of your points - any manager that isn't looking for his team to drive and generate ideas is by definition a tyrant, not a manager. Managers that do this kind of thing are rarely aware of it - they've never seen another way to do their job, and until they see it first hand might not beleive there is a better way.
But on the other hand, technological innovation isn't the same thing as making great products. Letting engineers run the show, ones without knowledge of ui design or customer empathy, isn't likely to end well for consumer type products. The article you linked to talked about customer requirements and setting constraints, things that, when it comes to software, require knowledge beyond engineering to do well.
Most software companies fail not because of lack of innovation, but lack of execution. They fail to nail the basics: good features, designed and engineered well, priced right, and delivered on time. Market leaders in all fields lead because they execute consistently (or more cynically, more consistently than their competitors). Innovation doesn't matter as much, in terms of market leaders and long term success, as we like to think it does. The value of innovation depends heavily on how mature the product in question is and how much room there is for innovation to be a differentiator for customers.
I do agree with most of your points - any manager that isn't looking for his team to drive and generate ideas is by definition a tyrant, not a manager. Managers that do this kind of thing are rarely aware of it - they've never seen another way to do their job, and until they see it first hand might not believe there is a better way.
But on the other hand, technological innovation isn't the same thing as making great products. Letting engineers run the show, ones without knowledge of ui design or customer empathy, isn't likely to end well for consumer type products. The article you linked to talked about customer requirements and setting constraints, things that, when it comes to software, require knowledge beyond engineering to do well.
often look for money doesn t means look for profit...
the word is more and more money oriented...
i agree
when does something ll change?
Post a Comment
<< Home