I believe that enterprise software is too costly and something needs to be done about it. The software environment of the future needs to look very different from today. Of course, that last statement will probably be true notwithstanding my observation about the cost of software simply because of technological advancement. For example, the user interface for computing devices will likely be more like the iPod Touch than like the current mouse-driven GUI. But that is not what I want to talk about today.
Instead I want to rant on about the extreme cost of enterprise software — the software that runs the computing infrastructure of medium to large businesses. It is not uncommon for companies to spend multiple millions of dollars on licenses and support contracts for enterprise software packages. This comprises not only operating systems, but database systems, business intelligence and analytics, transaction processing systems, web servers, portals, system management and DBA tools, and so on.
Now don’t get me wrong. I realize that there is intrinsic value in enterprise software. Properly utilized and deployed it can help to better run your business, deliver value, and frequently it can even offer competitive advantage. But what is a fair value for enterprise software?
Let’s look at something simple, like a performance monitor. Nice software, helps you find problems, probably costs anywhere from multiple tens of thousand dollars to over a million depending on the size of the machines you are running it on.
Why does it cost so much? Well, the simple answer is because companies have been willing to pay that much. Not because the software has to cost that much to develop. I mean, how many lines of code are in that monitor? Probably less than Microsoft Excel and I can get that for a hundred bucks or so. And I can almost guarantee that Excel has a larger development and support team than whatever monitor you choose to mention.
But a wise produce manager knows that you do not price a product based on how complex it was to develop it, but hopefully based on the prospective customer’s determination of its value.
So the pricing is skewed not based on what it costs to develop, but what the market will bear. That is fine, after all we live in a free market economy (depending on where you live, I guess). But I don’t believe that the free market will continue to support such expensive software. And the open source movement is kind of bearing that out. We have open source operating systems, database systems, BI tools, and so on. But I don’t know that open source is the full answer to the problem. There are some companies that prefer to purchase commercial software than to rely on open source software.
As I continue to think about enterprise software a bit further… In many cases, enterprise software vendors have migrated away from selling new software licenses to selling mostly maintenance and support. For some companies, as much as half of their revenue (sometimes more) comes from maintenance and support instead of selling new software. Viewed another way, you could be excused for thinking that some of these companies are doing little more than asking their customers to pay for the continued right to use the software. Quite often, in mature enterprise software segments, there is little maintenance going on, so what exactly is that support contract buying for you? Sounds like a nice little racket… you know what I’m talking about? You pay several million for the software and then hundreds of thousands, maybe millions more for the continued right to use it and get bug fixes (shouldn’t bug fixes be free?).
Another problem with enterprise software is feature bloat. Enterprise software can be so expensive because vendors want to price it as if all of its features will be used by the customer. But seldom is that true. Usually only a few features are needed and used on a regular basis. Part of the problem, though, is that those few features can be different for each organization. But really, the core features that most customers want don’t differ all that much. Think back to the monitor example: what do you expect it to do? Inspect the system and provide reporting metrics on CPU usage, elapsed time, locking issues, etc. Probably 90% or more of the core functionality is what most customers desire. But then there is that 10%, right? How can you cost effectively deal with that?
One way vendors deal with this is to offer many separately-priced features enabled by key. But that is complicated for the user and it requires additional resources for the software vendor to develop and support it.
So what is the answer? Gee, I wish I knew… I’ve got ideas and thoughts and perhaps I’ll share them with you all in a later blog post. But I think I’ve babbled on enough for today… What do you think about the state of the enterprise software market today? Feel free to write your comment here…