
Google Wave: Why it's so good and enterprise software is so bad - davidw
http://news.cnet.com/8301-13505_3-10253223-16.html
======
narag
Enterprise software is bad because the people that takes decisions and the
people that're going to actually use the program are different and in many
ways they have opposite interests.

A little old but relevant:

<http://www.jwz.org/doc/groupware.html>

------
unexpected
The "badness" of enterprise software is something that I've recently been
brainstorming a lot about.

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).

~~~
access_denied
"If it's one thing big companies know how to do, it's leverage this." Or it
happens automatically for them: Nobody ever got fired for buying IBM.

------
anigbrowl
A few things left out of this still-good article, which take the blame off
Enterprise Software Companies (somewhat):

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.

------
pseale
If any of you are considering building your own enterprisey-ish system, just
beware of what extensibility points you provide your customer. Once you
provide an extensibility point, you're responsible to maintain it as-is, and
unable to change that piece of your product. Provide extension points to every
piece of your product, and you've completely frozen its architecture.

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.

~~~
akeefer
The real problem is that once you get past very common sorts of things
(e-mail, IM, word processing) the needs of different customers start to become
different enough that building a single product with no
extensibility/customizability becomes incredibly difficult. For example, say
you created a point of sale app: would that really be suitable for video
rental places and for fast food franchises out of the box? No chance. If you
don't make it extensible, you're guaranteeing the software won't be fit for
the very, very specific purpose it needs to be put to. If you do make it
extensible . . . well, writing extensible software is about 10x harder than
writing non-extensible software, and as you say it leads to architecture lock-
in that makes it hard to innovate in the future. Plus, the group doing the
extensing is probably either in-house IT or outside consultants, neither of
which are really going to have the vision/skills/motivation to make something
with a truly great user experience. So by making the software extensible,
you're guaranteeing it's not going to be highly polished and that progress on
it will be much slower. But if you don't do that, you're restricted to
incredibly small niche markets where people do things similarly enough that
you don't need any extensibility (i.e. your market might be about 10 potential
customers). And even then, you have to worry about integration with a
gazillion other purpose-built systems, which can still make the user
experience suck if they have to switch between 10 different apps, even if one
of them is really, really good.

'tis a hard problem.

------
CalmQuiet
Basically he says Google innovates better: _not_ because it has lots of
engineers, but because it allows (encourages) them to innovate without
worrying about competing with existing inhouse software:

“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.

~~~
stcredzero
_There's a very good reason that Google innovated Wave...Google has no
incumbent enterprise products to which it must pay obeisance._

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.

------
khill
I think the fact that Google allowed a very small core team to design and
develop the application has more to do with innovation than their lack of
enterprise software influencing the final product.

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.

------
pasbesoin
I don't have time to wade through all the text here right now, but in my
experience, enterprise software fails because/when politics and politicians
control the product. The politicians may wear different guises -- Senior this-
and-that or whatever -- but they achieved and hold their positions through
politics. Just because it's corporate politics instead of public politics,
doesn't make the political aspect less valid.

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.

~~~
huherto
I feel like you are reading my mind, but you are more articulate than I am.

