Why does enterprise technology suck? Oh yes, of course, it has lots of features, far more than smaller, more compact versions of the same kind of technology, and additionally it often has hooks that allow IT departments to manage it in large deployments (I’m typically thinking about features such as Single Sign On). And typically, but not always, it’s built to scale: many users, much data, many processors etc.
However it also typically sucks. Sucks balls.
You’ll Eat It, And You’ll Like It
The basic mechanic underlying enterprise software sales is that the person making the purchasing decision doesn’t have to actually use the stuff. Image, if you will, a hypothetical golf course where your CEO and the vendor’s CEO are playing a game. A deal is being made. Backs are being mutually scratched. Soon you will be using the vendors stuff, regardless if whether it’s the best fit for the problem.
In this scenario the software is just a transaction. Money moves hands, brownie points are earned, and a solution is tossed at a not-particularly-exciting internal logistics problem. Whether its the best fit for the problem, and certainly whether its a good tool, are simply not considerations. Interestingly, a lot of this is driven by the people at the top – if, for example, they don’t have to actually directly deal with a payroll system, they’re unlikely to care much about its user interface.
Faces of Lame
Speaking of user interface, that’s usually the first victim to be sacrificed with enterprise software. User interfaces on enterprise are software are typically, oh how shall I put this, fugly as all hell. Three things drive this: the first is the hypothetical golf course described above, the second is that every time a new feature is added to software the load on the ability of the user interface to represent it increases. More features mean it’s increasingly difficult to represent well on a UI. Finally, there is a strange inertial “lowering of the barre”, in which the propagation of lame enterprise user interfaces has essentially made it okay for others to not even try.
Just One More Wafer-Thin Mint…
Another problem with enterprise software is feature bloat. In a race to stay ahead of the competition, and to be able to compete on checklist-comparisons run by people who are unable to strategically assess software, enterprise software often is trying to do way too much. What gets less attention is the software’s quality of implementation. In other words, enterprise software has a million features, but they aren’t done very well.
Ironically this can also be a misguided product strategy, because (as Christensen tells us) features are only competitive advantages up until the point where the basic business problem has been solved. That’s when software starts to commoditize, and is vulnerable to having its customer base eaten out from the low-end up. The typical response to this is for enterprise software vendors to attempt vendor lock-in, making it inconvenient as possible to migrate away from their platform. Hm. Do you think their interests may not be exactly aligned with yours?
We Don’t Like Your Kind Around Here
Finally, enterprise software (probably in pursuit of the vendor lock-in strategy) tends to dramatically over-scope itself, attempting to become its own ecosystem of functionality. This might also be a kind of a not-invented-here syndrome at work. Whatever the cause, the result is that functionality that might appropriately live elsewhere is rolled into the enterprise product, in kind of an awkward or substandard manner. Everyone has to live with it regardless, because they’re locked into the ecosystem. Just think about how many additional services Oracle has built into their database products, or Microsoft has tied into their operating systems.
Less is More
While it is true that giant product deployments are sometimes the right way to go, I think that as organizations we often miss the opportunity to stitch together solutions that meets our specific needs out of best-of-breed components. Think of the UNIX principle of . If we can try to use software that solves smaller, more discrete problems in ways that are optimized for their problem space, then the overall technical ecosystem of our organizations will get stronger. Instead of technology for the golf course, we’d have technology that actually helps us. Technically savvy organizations like Google understands this – perhaps we should too.