How should we measure innovation for enterprise software? I think it should be measured by customer business impact - not press releases or software demonstrations or even what's "available for download" from the vendor's website, but what is actually used by customers and how much it improves their business results. After all, enterprise software is all about streamlining business processes and enabling enterprises to do things they couldn't do before.
And this is where on-premise software (not just Oracle) falls woefully short. It doesn't have anything to do with talent or effort, there are thousands of hard-working, smart developers at Oracle and other on-premise software companies.
No, the reasons for lack of innovation are endemic to the on-premise business model and the on-premise customer ownership experience. (Bob Warfield starts the list on his blog). The bottom line is that on-premise vendors can develop all the code they want, but because of the high hurdles to upgrading to actually use the new software, most customers can't or won't upgrade for many years, so any "innovations" remain on the distribution DVD and have zero impact.
Why can't on-premise software vendors innovate? Because:
- Development talent is wasted maintaining old versions: since customers don't upgrade, the vendor must support old - even ancient - versions of their software. And upgrades must work with many old versions... again multiplying the effort to write upgrade and migration scripts.
- Development talent also wasted porting to multiple platforms: porting the application code to multiple databases, operating systems, and application servers requires a significant amount of development work and time, not to mention significant testing and documentation efforts, and also further multiplies the technical support efforts.
- Multi-platform support constrains innovation to the least common denominator of the various platforms: it's hard to be innovative when you're focused on making every new feature work across multiple versions of four different databases.
- Long release cycle times reduce ability to innovate: All the porting, multi-path upgrades, and testing efforts mean that releases are very slow in coming - maybe a release a year at most. By contrast, even SaaS applications that have been around for a decade can release new functionality every 3-4 months because all these wasted efforts are eliminated.
- On-premise vendors lack intimacy with how customers use the software: On-premise vendors have no idea what the customer's business processes, configurations, setup or data looks like. In addition, they are shielded from customers by the system integrators who perform the lengthy implementation projects. Innovation involves applying technology to solve customer needs, but since on-premise vendors are somewhat blind to how their software is used in practice, their ability to innovate is severely hampered.
- Customers don't upgrade: Even when some modicum of innovation is achieved, customers must upgrade for the innovations to have impact, and upgrades are infrequent because they are so costly to customers. For example, even after two years of availability of Oracle E-Business Suite Release 12, less than 5% of customers have upgraded to it.
This is the core issue with on-premise software's lack of innovation - existing customeres, who have committed to the vendor's software, get trapped for years and years on their go-live version with static capabilities, ever-declining support, and no-value maintenance fees, until they decide to disrupt their business and undergo a costly upgrade project.
Of course, SaaS doesn't have any of these issues - that's why it's a better way to build software and deliver innovation to customers. Most enterprise customers don't yet understand the benefit they receive from ongoing innovations delivered by SaaS, without upgrade headaches or costs. But this is changing as enterprise customers experience SaaS's ongoing innovations first-hand.