Enterprise software is crappy and it isn't going to change any time soon

What started off as Bill Gates wondering why Enterprise software can't get some blogosphere love and attention has turned in to a raging debate on why Enterprise software sucks.  First Robert Scoble chimes in and asks why enterprise software isn't sexy, then Michael Krigsman says Scoble doesn't understand enterprise software, then Nick Carr says Krigsman is the one not understanding, and then it goes back and forth.

What started off as Bill Gates wondering why Enterprise software can't get some blogosphere love and attention has turned in to a raging debate on why Enterprise software sucks.  First Robert Scoble chimes in and asks why enterprise software isn't sexy, then Michael Krigsman says Scoble doesn't understand enterprise software, then Nick Carr says Krigsman is the one not understanding, and then it goes back and forth.

Of course everyone is generalizing here since "enterprise software" is a huge category of software that encompasses many things and many aspects so there's probably a lot of talking past each other going on.  This is a classic case of the more technically oriented Krigsman giving perfectly good reasons for the state of enterprise software and the user oriented Scoble and Carr saying I don't care why it sucks just fix the damn thing.

These are all valid points but it's kind of like asking why business computers don't come in rainbow colors like the iMac and why the business suit is so boring.  So now I'm going to chime in on this discussion based on my experiences on the front lines of IT.

  • Enterprise software generally has lower usability and more bugs than commercial software.  That's sort of counter intuitive to the word "enterprise" but the name is a joke in IT circles since enterprise software is typically painful.
  • Enterprise software is designed for and sold to IT departments so the expectation is that you have trained people supporting the software whereas commercial off-the-shelf software has to more or less be self explanatory.  Enterprise isn't sold to the end user and the end user doesn't sign the check so their considerations are secondary to enterprise software makers.
  • Enterprise software requires a lot more interaction between multiple systems which makes it fundamentally more complex to develop, deploy, and support.
  • Enterprise software also typically addresses a much smaller user base than off-the-shelf software like Microsoft Office so the development budget to user ratio is smaller.  This means programming shortcuts like Java are often taken which makes the software horrendously bloated and inefficient.  You're not going to see enterprise software developed in light-weight C++ like MS Office any time soon because that level of skill is too rare and difficult and expensive to acquire.

There are exceptions to the above rule for major ECommerce sites.  Those sites are basically purchase/payment transaction systems that only require a simple web interface that doesn't really require business-specific customization.  The back-ends are very complex but they're hidden to the user.  The front-end user interface must generate minimal support issues or it wouldn't even fly since there's no feasible way to support a million users.  Even though ECommerce is a form of enterprise software, it's a completely different animal than something like SAP or Siebel.

But when you add up the number of users between the various businesses using a enterprise software, it's substantial so it's perfectly reasonable to ask why it needs to be so bloated, buggy, and hard-to-use.  I think part of the reason this is the case is because there isn't enough light (media coverage) on the shortcomings of enterprise software.  If all the dirty laundry was aired more frequently like all of Microsoft's shortcomings which are few by comparison, enterprise software vendors would be forced to spend more money on quality.

But Robert Scoble hit the nail on the head when he explained that enterprise software stories don't bring in the CPMs (ad revenue from one thousand page views) because the general public has little interest in enterprise software.  So at the end of the day they're all right in their own way but not much is going to change.  The users will continue to complain that the software is too complex, the IT guys will sometimes complain but bear and grin it because it's job security, and the enterprise software will continue to sell because it more or less works and there's a massive sales force to propagate it.  Is that too cynical?  Probably but it's unfortunately true.