*

2005 / August 9th/ What exactly “enterprise software” really is

<Rant>

If you’re familiar with the web and the business surrounding it, I’m sure you’ve heard of the term “enterprise software.” Sure, it’s easy to say and to boast, but seriously what in the hell is enterprise software? I’m fairly certain it doesn’t power any starships, so beyond that one can only guess. Luckily, I’ve had the luxury of working on several projects that are classified as “enterprise software” and many projects that… well, I guess they’d be classified as hobbies.

So, let’s start off by trying to define Enterprise Software. According to Google, Enterprise Software is:

Software that solves an Enterprise Problem (rather than a departmental one) and that is written with an Enterprise Software Architecture.

Okay. So I guess we’re looking for Enterprise Software Architecture which Google says is:

A Software Architecture which allows software to exhibit all of the attributes of an Enterprise System when run on an Enterprise Platform.

Alright, maybe we’re really looking for whatever an Enterprise System is. Google once again says:

Enterprise Software running on an Enterprise Platform (which, by implication, has the Attributes of an Enterprise System as defined below)

Okay, one last try. What’s an Enterprise Platform?

A set of computing and networking resources which enable installed Enterprise Software to exhibit the full attributes of an Enterprise System (most often referring to availability, scalability, and reliability)

Okay. What the fuck. Seriously. So let’s set this straight here. Enterprise Software is software running on an Enterprise Architecture which itself is defined as a software architecture exhibing attributes of an Enterprise System which is defined as Enterprise Software running on an Enterprise Platform which is simply a Enterprise Software exhibiting qualities of an Enterprise System. I really hope you can smell the bullshit in this whole “Enterprise” technobabble marketers have come up with.

Let me lay this down, plain and simple: There is only software. Enterprise software is the same as Hobby software or even Elven software (whatever that may be). The point at which a piece of software becomes an “Enterprise” solution is the point at which the marketing guy enters the room and is trying to sell the software to the client.

But don’t underestimate that point, because it’s what makes the difference between a $500 piece of software and a $500,000,000 piece of software. Clients buy this kind of shit. It’s sad, but it’s true. You want to sell software to the big boys? You are going to have to sell them scalable Enterprise solutions backed by redundant Enterprise deployment systems. Now what does this mean to the programmer? Pretty much nothing. He’ll still build his piece of software. It will be scalable or it will not. In the end, it will scale because you can always plug more and more computers together and make the damn thing scale.

Enough rambling, back to something that matters

Okay, okay I’ll shut my babbling on about this. What my original point of this post was is to make people aware that this whole .NET/J2EE vs Rails this in a bunch of bullshit. Programmers can argue all they want - in the end, their opinion doesn’t matter and they’ll be programming in whatever the client is buying. And the client is buying what the marketer is selling them.

The real battle in making Rails “mainstream” in so far as the large corporate software scene goes is to do exactly two things.

  1. Show that Ruby is a mature and powerful language so that Computer Science majors start including it in the curriculum.
  2. Show the marketers that Rails is an Enterprise Software Architecture. (note: this is not hard since there are no actual requirements)

</Rant>

A word from the sponsors. Advertise with Warpspire

3 Comments

comments feed

  1. Gravatar
    dave

    August 9th | #

    Strangely enough I saw the first real definition of ‘Enterprise Software’ recently, in a blog post about rails scalabality. I assumed that was what you were going to be referring to:

    http://lists.canonical.org/pipermail/kragen-tol/2005-April/000772.html

    This post also covers many of the same issues though from a different angle:

    http://naeblis.cx/rtomayko/2005/05/28/ibm-poop-heads

    Joel’s thoughts on software pricing is good too:

    http://www.joelonsoftware.com/articles/CamelsandRubberDuckies.html

    Also, Bryan Cantrills thoughts on Software Economics:

    http://blogs.sun.com/roller/page/bmc/20040828

    All of which support the fact that Enterprise Software is in fact qualitatively different from other software, but all for purely non-technical reasons usually disfunctions brought on by the nature of software or the nature of the modern corporate world, most of which lead to lower technical quality, either by displacement or because the goals are mutually exclusive.

  2. Gravatar
    Kyle

    August 9th | #

    Thanks for the great roundup of links dave. Yes, I was more or less referring to the general idea in the Rails world that we’re somehow battling other programmers to prove that Rails can power “Enterprise Software.” The thing is, no one’s arguing against the right people - they’re all arguing against other programmers. In the end, there is no actual distinction, merely calling the same dog by a different name - so arguing with other programmers is meaningless. Answering questions like “Does it scale?” or “Is it reliable?” lead to these kinds of bottomless pit arguments where the programmers suddenly realize there is no actual way to prove these questions since there are no hard requirements.

    I still stand by the fact that Enterprise software is no different than any other software, other than in marketers’ eyes and ideas and names. I think what they are more referring to is professional software, the stuff you have to do at work. I’m not a programmer, and I can see that kind of confusion all the time. Programmers immediately associate any project they’re working on at work as “Enterprise software” even if it’s just a damn blog.

  3. [...] here’s a (mostly serious) summary courtesy of warpspire.com: So let’s set this straight here. Enterprise Software is software running on an Enterprise [...]

Make a Comment

don’t be afraid, it’s just text

Comments are parsed with Markdown. Basic HTML is also allowed.