The conversation about the role and future of enterprise software is a continuous undercurrent in the Service-Oriented Architecture (SOA) conversation. Indeed, ZapThink’s been talking about the future of enterprise software in one way or another for years. So, why bother bringing up this topic again, at this juncture? Has anything changed in the marketplace? Can we learn something new about where enterprise software is heading? The answer is decidedly yes to the latter two questions, and this might be the right time to seriously consider acting on the very things we’ve been talking about for a while.The first major factor is significant consolidation in the marketplace for enterprise software. While a decade or so ago there were a few dozen large and established providers of different sorts of enterprise software packages, there are now just a handful of large providers, with a smattering more for industry-specific niches. We can thank aggressive M&A activity combined with downward IT spending pressure for this reality. As a result of this consolidation, many large enterprise software packages (such as Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Supply Chain Management (SCM) offerings) have been eliminated, are in the process of being phased out, or are getting merged (or “fused”) with other solutions. Many companies rationalized the spending of millions of dollars on enterprise software applications because the costs could be amortized over a decade or more of usage, and they could claim that these enterprise software applications would be cheaper, in the long run, than building and managing their existing custom code. But, we’ve now had a long enough track record to realize that the result of mass consolidation, need for continuous spending, and inflexibility is causing many companies to reconsider that rationalization. Furthermore, by virtue of their weight, significance in the enterprise environment, and astounding complexity, enterprise software solutions are much slower to adopt and adapt to new technologies that continuously change the face of IT. We refer to this as the “enterprise digital divide.” You get one IT user experience when you are at home and use the web, personal computing, and mobile devices and applications and a profoundly worse experience when you are at work. It’s as if the applications you use at work are a full decade behind the innovations that are now commonplace in the consumer environment. We can thank expensive, cumbersome, and tightly-coupled customization, integration, and development for this lack of innovation in enterprise software. In addition, no company can purchase and implement an enterprise software solution “out of the box”. Not only does a company need to spend significant money customizing and integrating their enterprise software solutions, but they often spend significant amounts of money on custom applications that tie into and depend on the software. What might seem to be discrete enterprise software applications are really tangled masses of single-vendor functionality, tightly-coupled customizations and integrations, and custom code tied into this motley mess. In fact, when we ask people to describe their enterprise architecture (EA), they often point to the gnarly mess of enterprise software they purchased, customized, and maintain. That’s not EA. That’s an ugly baby only a mother could love. Yet, companies constantly share with us their complete dependence on a handful of applications for their daily operation. Imagine what would happen at any large business if you were to shut down their single-vendor ERP, CRM, or SCM solutions. Business would grind to a halt. While some would insist on the necessity of single-vendor, commercial enterprise software solutions as a result, we would instead assert how remarkably insane it is for companies to have such a single point of failure. Dependence on a single product, single vendor for the entirety of a company’s operations is absolutely ludicrous in an IT environment where there’s no technological reason to have such dependencies. The more you depend on one thing for your success, the less you are able to control your future. Innovation itself hangs in the balance when a company becomes so dependent on another company’s ability to innovate. And given the relentless pace of innovation, we see huge warning signs. Services, Clouds, and Mashups: Why Buy Enterprise Software?
In previous ZapFlashes, we talked about how the emergence of Services at a range of disparate levels combined with evolutions in location- and platform independent, on-demand, and variable provisioning enabled by Clouds, and rich technologies to facilitate simple and rapid Service composition will change the way companies conceive of, build, and manage applications. Instead of an application as something that’s bought, customized, and integrated, the application itself is the instantaneous snapshot of how the various Services are composed together to meet user needs. From this perspective, enterprise software is not what you buy, but what you do with what you have. One outcome of this perspective on enterprise software is that companies can shift their spending from enterprise software licenses and maintenance (which eats up a significant chunk of IT budgets) to Service development, consumption, and composition. This is not just a philosophical difference. This is a real difference. While it is certainly true that Services expose existing capabilities, and therefore you still need those existing capabilities when you build Services, moving to SOA means that you are rewarded for exposing functionality you already have. Whereas traditional enterprise software applications penalize legacy because of the inherent cost of integrating with it, moving to SOA inherently rewards legacy because you don’t need to build twice what you already have. In this vein, if you already have what you need because you bought it from a vendor, keep it — but don’t spend more money on that same functionality. Rather, spend money exposing and consuming it to meet new needs. This is the purview of good enterprise architecture, not good enterprise software. The resultant combination of legacy Service exposure, third-party Service consumption, and the Cloud (*-as-a-Service) has motivated the thinking that if you don’t already have a single-vendor enterprise software suite, you probably don’t need one. We’ve had first-hand experience with new companies that have started and grown operations to multiple millions of dollars without buying a penny of enterprise software. Likewise, we’ve seen billion-dollar companies dump existing enterprise software investments or start divisions and operations in new countries without extending their existing enterprise software licenses. When you ask these people to show you their enterprise software, they’ll simply point at their collection of Services, Cloud-based applications, and composition infrastructure. Some might insist that Cloud-based applications and so-called Software-as-a-Service applications are simply monolithic enterprise software applications deployed using someone else’s infrastructure. While that might have been the case for the ASP and SaaS applications of the past, that is not the case anymore. Whole ecosystems of loosely-coupled Service offerings have evolved in the past decade to value-add these environments, which look more like catalogs of Service capabilities and less like monolithic applications. Want to build a website and capture lead data? No problem — just get the right Service from Salesforce or your provider of choice and compose it using Web Services or REST or your standards-based approach of choice. And you didn’t incur thousands or millions of dollars to do that. Open Source vs. Commercial vs. Build your Own
Another trend pointing to the stalling of enterprise software growth is the emergence of open source alternatives. Companies now are flocking to solutions such as WebERP, SugarCRM Community Edition, and other no-license and no-maintenance fee solutions that provide 80% of the required functionality of commercial suites. While some might point at the cost of support for these offerings, we point out the factor of difference between support and license / maintenance costs. At the very least, you know what you’re paying for. It’s hard to justify spending millions of dollars in license fees when you’re using 10% or less of a product’s capabilities. Enhancing this open source value proposition is that others are building capabilities on top of those solutions and giving those solutions away as well. The very nature of open source enables creation of capabilities that further value-adds a product suite. At some point, a given open source solution reaches a tipping point where the volume of enhancements far outweighs what any commercial vendor can offer. Simply put, when a community supports an open source effort, the result can out-innovate any commercial solution. Beyond open source, commercial, and software-as-a-Service cum Cloud offerings, companies have a credible choice in building their own enterprise software application. There are now a lot of pieces and parts available that are free, cheap, or low cost that companies can assemble into not only workable, but scalable offerings that can compete with many commercial offerings. In much the same way that companies leveraged Microsoft’s Visual Basic to build applications using the thousands of free or cheap widgets and controls built by the legions of developers, so too are we seeing a movement to free or cheap Service widgets that can enable remarkably complex and robust applications. The Future of Commercial Enterprise Software Applications
It is not clear where commercial enterprise software applications go from here. Surely, we don’t see companies tearing out their entrenched solutions any time soon, but likewise, we don’t see much reason for expansion in enterprise software sales either. In some ways, enterprise software has become every bit the legacy they sought to replace in mainframe applications that still exist in abundance in the enterprise. Smart enterprise software vendors realize that they have to get out of the application business altogether and focus on selling composable Service widgets. These firms, however, don’t want to innovate their way out of business. As such, they don’t want to just provide the trains to get you from place to place, but they want to own the tracks as well. In many ways, this idea of enterprise software-as-a-platform is really just a shell game. Instead of spending millions on a specific application, you’re instead spending millions on an infrastructure that comes with some pre-configured widgets. The question is: is the cost of the proprietary runtime infrastructure you are getting with those widgets worth the cost? Have you lost some measure of loose coupling in exchange for a “single throat to choke?” Much of the enterprise software market is heading in direct collision course with middleware vendors who never wanted to enter the application market. As enterprise software vendors start seeing their runtime platform as the defensible position, they will start conflicting with EA strategies that seek to remove their single-vendor dependence. We see this as the area of greatest tension in the next few years. Do you want to be in control of your infrastructure and have choice, or do you want to resign your infrastructure to the control of a single vendor, who might be one merger or stumble away from non-existence or irrelevance? The ZapThink Take
We hope to use this ZapFlash to call out the ridiculousness of multi-million dollar “applications” that cost millions more to customize them to do a fraction of what you need. In an era of continued financial pressure, the last thing companies should do is invest more in technology conceived of in the 1970s, matured in the 1990s, and incrementally made worse since then. The reliance on single-vendor mammoth enterprise software packages is not helping, but rather hurting the movement to loosely-coupled, agile, composition-centric heterogeneous SOA. Now is the time for companies to pull up the stakes and reconsider their huge enterprise software investments in favor of the sort of real enterprise architecture that cares little about buying things en masse and customizing those solutions, but building, composing, and reusing what you need iteratively to respond to continuous change. As if to prove a point, SAP stock today slid almost 10% on missed earnings. Some may blame the overall state of the economy, but we point to the writing on the wall: all the enterprise software that could be sold has been sold, and the reasons for buying or implementing new licenses are few and far between. Invest in enterprise architecture over enterprise software, Services over customizations, and Clouds over costly and unpredictable infrastructure and you’ll be better off.