Google Wave: Why it's so good and enterprise software is so bad
news.cnet.com
news.cnet.com
A little old but relevant:
I think there are two fundamental reasons for the "badness" of enterprise software.
1) Too many cooks spoil the broth. Most enterprise software packages cater to be everything to everyone. Most absolutely great products are the vision of a small team (see: most of apple products, OS X, iPod, etc. in other marketplaces: the dyson vacuum, amazon, zappos, etc.)
Unfortunately, some of the worst products are also the result of a small team. (apple hi-fi, apple tv, newton) It's funny how when these products fail, pundits blame it on their inability to listen to the marketplace; however, when they succeed, pundits say that "they stuck with their convictions to make a winning product".
It's simply safer for big companies to develop a product that's "everything for everybody". Windows, SAP, etc., can push these products through b/c they have an awesome salesforce. It's amazing to me how easy it is for big companies to sell inferior products, simply because of their existing mindshare. If it's one thing big companies know how to do, it's leverage this.
Additionally, developer hours are expensive. It's easier to make a profit by "customizing" a product to a user (which you can bill for), rather than create a whole new product (this product doesn't exist yet, but we can make it and maybe they'll buy it vs. "oh yeah, our product can already do that, we just need to tweak it to your needs")
As a startup, it's easy to fail developing "everything for everybody". Actually, since you're small and the big players are really big, the odds are stacked against you- you're almost guaranteed to fail.
I feel like the only way to succeed is if you aim high- push for the real innovation. Throw out everything, and re-think everything from the ground up. These ideas will probably also fail- for every iPod, there's an Apple TV. For every google search, there's a google youtube (which is very neat, but doesn't make any money).
Still, I feel like this model is the best opportunity at creating something revolutionary, instead of being just another ho-hum also ran.
The only two startup companies that I've seen attack the enterprise market really well are 37 Signals and Fog Creek. For most of their products, they threw out everything and started from scratch- they created their vision. They've both been wildy successful, but even with this approach, they have some mediocre products (CityDesk, for example).
1. Google runs its own servers, and has been quietly building a cloud. ESCs have traditionally installed their systems on corporate networks by necessity. It would probably not be easy for Google to offer 'Wave in a Box' and stick on shelves at Office Depot, or come in, install it, and then walk away. If I had suggested to a corporate client in the 90s that they put their mission-critical enterprise software on an IBM or MS server somewhere in Montana they'd have asked what I was smoking.
My current non-tech boss still wants everything emailed as a Word document because he 'owns' MS office and the hardware it sits on. He simply doesn't get the concept of Google Docs and is hostile to the idea of not knowing 'where his files are'. Because it's free, in his mind that means it lacks value.
2. Enterprises are about work. Wave is innovative, but as with many other net things, 3rd party innovation will play a key role - and the 3rd party innovation comes from people playing with freely accessible tools, and re-purposing them in unforeseen ways. Now if you work at MegaCorp and you've just installed Softosaurus across your enterprise, with all the huge deployment and training costs, the last thing you are going to do is say 'play around with it - it's OK if it breaks, as long as it does so in an interesting way'.
If you find a way to set up Notes such that it allows you to play Tetris, this is more likely to get you fired than to earn you a personal espresso machine and a pat on the back. Innovation within the enterprise is disruptive of the enterprise's goals, and looked on with extreme suspicion. When I was still working for multinationals, I got disciplined more than once for over-customising my workstation because my increase in productivity came at the expense of the standard build...
3. and violating the standard build is an intensely political act, because it implies that someone in a decision making role was wrong. This is client-side politics: deviating from the decisions of the IT strategists is looked on as hostility to their goals, and thus towards those of the organization. Of course, when I was in tech support I regularly moaned about users who wouldn't do what was good for them, so I'm guilty too.
The bottom line is that enterprise clients do not reward experimentation or innovation until they see the resulting productivity elsewhere. Curiosity is not a valuable trait, what they want is focus and diligence. You can't really blame enterprise suppliers for choosing to cater to this primary demand of their customers.
This helps explain why new products like Wave are so much better than established enterprise products, and why enterprise software ends up the way it does.
'tis a hard problem.
“There's a very good reason that Google innovated Wave, and not, for example, IBM. Google has no incumbent enterprise products to which it must pay obeisance."
And, yes, MS, Oracle, IBM do have legacy enterprise software market share to protect.
Non-software companies should heed the lesson: No obeisance to software. Big companies should have protocols and standards, which can act as a backplane for multiple applications. Competition will yield better applications.
Innovation seems to stem more from the vision of a individual (or brothers, in this case) than from the "design by committee" approach which seems to be adopted at enterprise software companies.
Politically led projects often end up as an example of "designed (and implemented) by committee". To add to the trouble, committee membership is often restricted and distorted. The effective "committee" does not even have a balanced representation of the interested parties.
I realize this sounds a bit vague, but I find it is a key/controlling factor in such environments. Your foremost problems are not technical, they are political. And before I sound too judgmental, it's apparent to me that it is simply a part of human nature.
If such a system is getting in your way, sometimes the only solution is to not play its game. Sounds like that's what happened, here. In Google's case, they could afford to do so, and have the moxie to push the result.