lesscode.org


“Enterprise Software” is a social phenomenon  

By Ryan Tomayko under Then they laugh at you... on 09. August 2005

“Enterprise software” is a social, not technical, phenomenon, is a good write-up on what the “enterprise” part of “enterprise software” means. In it, Kragen Sitaker makes the case that the “enterprise” classification is based purely on the social and business aspects of a product and not on technical qualities:

Third, “enterprise software” is surrounded by consultants who will sell you the service of making it work, as explained above. In some cases, these ecosystems of consultants are competent and highly skilled. In other cases, such as the case of Java, many of them are spectacularly incompetent, vociferous in their ignorance, and prone to attack competing systems. This results directly from the sales process for “enterprise software,” in which expert persuaders gull technically incompetent managers into adopting the software. Managers who aren’t technically well-informed enough to select the software in the first place will also not be well-informed enough to distinguish between competent consultants and incompetent consultants, so both competent and incompetent consultants will flourish — but the competent ones will eventually get sick of it and go elsewhere.

I didn’t really understand this until KnowNow, the startup where I worked, got turned into an enterprise software company by its VCs and management; although I had previously had the opportunity to observe most of the pieces of the puzzle, I had clung to the idea that “enterprise software” was technically better in some way from the software I was used to using. It turns out that the differences are entirely social, not technical, and one of the major differences is that “enterprise software” is under much less pressure to have any technical merit.

This was an elaboration of Kragen’s comments on a post by Justin Gehtland entitled Rails: What would it take?, which includes an excellent comment thread describing real and perceived issues with using Rails (and LAMP in general) in enterprise environments.

I’ve received a small bit of flak from F/OSS purists for displaying excitement around stuff like Dell supporting LAMP and Pfizer going with ActiveGrid. The canonical push-back seems to be that LAMP treading the enterprise path could lead to it adopting the poor technical qualities we associate with many enterprise software packages. My feeling is that recent support for LAMP in the enterprise has come about due to a few rare individuals who have equal experience in both the social game of “enterprise software” and the technical qualities of the LAMP/friends stack.

While I find both the social and technological aspects of “enterprise software” equally disturbing, these companies are showing that you can swap good technology in without necessarily having to re-organize social practices, and that’s important. This makes it possible to take a divide and conquer style approach to infiltrating business IT. You have your technology front: ActiveGrid, SourceLabs, Redhat, Zend, etc. and you have your social front: Weblogs, Cluetrain, F/OSS style peer collaboration, etc. It’s just like Korea.

4 Responses to ““Enterprise Software” is a social phenomenon”

  1. Curt Sampson:

    I don’t think I’m buying this one. There’s a a much simpler definition that works for me: “Enterprise Software” is the software you use to model your business, or a non-trivial part of your business.

    There’s nothing to get excited about as far as LAMP in the enterprise goes: open source stuff has been used there for ages. Apache is widespread in large businesses now, and Perl and TCL have been widespread for well over a decade now. Back in ‘95 Fortune 500 companies were buying UNameIt, largely written in TCL, from Enterprise Systems and using it to manage hundreds of networks, thousands of servers, and tens of thousands of workstations worldwide.

    If you’re wondering why some stuff doesn’t cut it in “Enterprise” applications, it’s probably because it’s just not good enough. MySQL is a great example; it’s fine as a trivial storage system used by one small application, but it’s always suffered from a lack of features and extremely poor data integrity management. It’s going to cause you pain beyond belief if you try to use it for databases used by dozens or hundreds of applications across an enterprise. On the other hand, PostgreSQL has done a pretty good job over the last six or seven years of implementing what’s needed, and is now competitive with Oracle and so on. (I’ve sold several conversions from Oracle to PostgreSQL for company-wide databases.)

    comment at 09. August 2005

  2. Peter Yared:

    I think that the distinction is that enterprise software is made specific to a certain set of needs, and general purpose software is made to suit a variety of needs. So while adding a certain set of features could make a piece of code more technically complete, with enterprise software you generally only add the subset of features that somewhere between 75-95% of companies in your target market would need. So on one hand you get software that is percieved to be inferior, but on the other hand enterprise software is created by businesses that need to make a profit and are focused on particular customer segments.

    But in the long run everything becomes general purpose. We don’t have 10 different word processors for different industries. As general purpose software becomes commoditized under flexible open source licenses, I think we will see more and more if it incorporated into enterprise software that it targeted at particular corporate uses.

    comment at 09. August 2005

  3. Ryan Tomayko:

    Peter: thanks for stopping by. Your insight here is definitely valuable :)

    Enterprise vs. General Purpose is an interesting way to look at the landscape. I was speaking more from the angle of tools and languages that are generally accepted in the Enterprise (as in Oracle, J2EE, sometimes Microsoft products, etc.) versus their rough analogs in the commodity stack (Apache, Python, PHP, PostgreSQL, etc). The latter do not yet enjoy the same social acceptance, although technically we’re finding that they can get the job done and are often times demonstrably superior in many ways (as I’m absolutely positive you understand better than most :)

    Of course, Curt’s argument takes a bit of steam out of the theory being universally applicable but I still think it holds in many cases.

    comment at 09. August 2005

  4. james governor:

    “We don’t have 10 different word processors for different industries”

    take a closer look at IBM’s Workplace strategy…

    comment at 12. August 2005

Leave a Reply

Note: None of this information is required but leaving a Name and URL is much appreciated. You can also register to have this stuff remembered.

Your comment can be previewed here.


Markdown: use the force, Luke.