There's a common meme floating around IT circles about the end of applications in the enterprise. There's definitely a change in the enterprise software environment that we're all picking up on; however, I'm not sure that this is the end of applications as much as it represents their maturation as a tool in enterprise software.
For years we've been in an arms race—rushing to beat our competitors to market with a new application designed to automate a previously manual area of the business, making us more efficient than our competitors and thereby providing us with a competitive advantage. Wal*Mart is the poster child for this. By being first to market with an end-to-end logistics solution Wal*Mart was able reduce their operating costs, which they leveraged to deliver "Every day low prices" drastically undercutting their competitors. Wal*Mart used this advantage to become the largest retailer in the world. Dell pulled of a similar stunt in their own market, pioneering an IT enabled direct to customer model that allows them to hold hardly any inventory, drastically reducing their operational costs. Dell used this advantage to become the largest PC company in the world.
These enterprise applications have become so successful that it's impossible to do business without them. You can now buy mature products from a range of vendors to meet most needs. Some even make a good case that these applications are becoming a commodity, and in the last couple of years we've even seen consolidation in the market as larger vendors snap up smaller niche players to round out their product portfolio. This has levelled the playing field, and it's no longer possible to use an application to create competitive advantage in the same way.
Today, how we manage the operation of a business process—dealing with business exceptions and optimizing key business decisions—is becoming more important that the business process itself. If we can deal with stock-outs more efficiently then we can keep less stock on hand and run a leaner supply chain. Improving how we determine financial adequacy allows us to hold lower reserves, freeing up cash that we can put to other more productive uses. Providing joined-up IT support for our mortgage product model allows us to put the model directly in the hands of our clients, letting them configure their own, personal, home loan.
A company's ability to differentiate now resides in the exception-rich business processes that exist between applications, rather than inside the applications themselves. The business has been quick to pick up on this trend, and their focus is shifting to funding capabilities enabled by IT, rather than IT assets themselves. Making a case to spend four years and $50 million fielding a major IT asset is becoming harder; however justifying a project mixing integration, a rules engine and some new application components to deliver a tangible business capability has never been easier.
Enterprise architecture is not far behind the business. Just yesterday we concerned ourselves the most efficient way to populate a company's application portfolio. Now our challenge is in finding a way to effectively combine a portfolio of applications so that the whole is greater than the parts, and the application-centric approach is starting to break down. We're looking at new technologies in order to capture, automate and deliver those things that make a business distinctive in the marketplace. These technologies run from enablers like SOA (providing us with a more granular approach which can change the way we engage with IT), rules engines and BPM, improved support for unstructured information and collaborative processes (wikis, group book marking, etc) though ideas such as software agents.
The IT environment we live in is changing, and changing rapidly, but I think it's for the better. We've addressed the problem of simply supporting the business, and our focus has shifted from what goes into an application, to what lives between applications. Applications do take a less prominent role, but that is because we can rely on them to provide a solid foundation of business functionality. Now that we have this foundation we can get on with the really interesting job of enabling the complex and interesting processes that live in the seams between applications.
I think this is a fascinating time to be involved in enterprise software.