What is the most difficult thing about acquiring enterprise software? If you are like most IT technicians, your first inclination was probably something related to cost justification. Let's face it, enterprise software typically is very expensive ... and eventually, something will need to bring costs more in line with value.
Certainly, the software environment 10 years from will look very different than it does today. Of course, that is probably true notwithstanding my observation about the cost of software. Technological advancement will impact things, too. For example, the user interface for computing devices will likely be more like the iPad than like the current mouse-driven GUI. But that is not really the topic of today's column.
No, I want to rail 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 several hundred thousand dollars to over a million depending on the size of the machines you are running it on. Why does it cost that much? Well, because companies have been willing to pay that much. Not because the software costs 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.
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 open source is probably not the full answer to the problem. There are some companies that prefer to purchase commercial software than to rely on open source software.
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 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 is that support contract buying for you? Sounds like a nice little racket, doesn't it? So 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? How can we reduce the onerous cost of enterprise software, while still making it a revenue-producing business for software companies? I sure wish I had the answer to that question ...
But the bottom line is that the high cost of enterprise software is a substantial inhibitor to IT efficiency and cost-effectiveness ... and something needs to change.