10 days ago I posted a somewhat provocative post questioning whether enterprise software was dead. Based on the results of the Gartner Executive Program 2010 CIO Survey, Enterprise Software experienced a dramatic decline in the list of top priorities of CIOs who where included in the survey. After a fairly steady #2 in the list the past four years, Enterprise software plummeted all the way off the top ten, to land at the eleventh most pressing priority for CIO. While the survey results are interesting, being the inquisitive individual that I am I want to understand what this means.
Is Enterprise Software dead?
In response to the specific question of whether Enterprise Software is dead, I would argue that the answer is a resounding NO. Enterprise software is the lifeblood of many organizations, controlling the flow of money and product between an organization and their customers and/or employees. A modern enterprise could not function without the ability to execute these types of transactions. It gets to the heart of commerce and commerce is what sustains nearly all organization (excluding government and/or mission-driven organizations).
While Enterprise Software isn’t necessarily dead, what is happening is a dramatic shift in how these types of applications are delivered to customers. As highlighted in the newer entries in the top ten of the list of CIO priorities in the Gartner survey, the top three are virtualization, cloud computing, and Web 2.0. In each of these three new top priorities, one can extrapolate that Enterprise Software is interwoven (web 2.0 is a bit of a stretch, but not much). As organizations look to deliver greater return on investment in their technology assets and CIOs look to deliver efficiencies, both server virtualization and cloud computing have substantial impacts on Enterprise Software.
Virtualization – Without going into too much technology speak, virtualization technologies permit organizations to harness the processing power of multiple smaller, more efficient (and less expensive), and typically standardized servers into a single “virtual” server. Rather than having to purchase a larger server which at times may only run at 20% of capacity, reflecting 80% inefficiency, virtualized servers allow you to dynamically balance server utilization based on need and harness extra processing power when needed and lend it elsewhere when it isn’t needed. In short, it helps to fill in the peaks and valleys in server utilization, resulting in fewer servers in the data center and greater utilization of the servers that do exist. The financial impact of this for larger organizations can be quite substantial.
Cloud Computing – Cloud Computing is one of the most over-hyped and widely misunderstood terms. Without oversimplifying it, cloud computing is less about a specific technology and more about the mechanism by which a software solution is architected and delivered. Cloud Computing is often a term used interchangeably with Software-as-a-Service (SaaS), referring to solutions which are offered to an enterprise on a subscription basis and accessed via a browser. What makes Cloud Computing really interesting is the fact that multiple companies run on a single installation of software and are all “segmented” in such a way that they will never bump into one another. I like to think of this as an apartment building where everyone has a private door. You all share the same infrastructure, walls, etc, yet can live without ever seeing a neighbor. Just as building apartments is cheaper than building stand alone houses of similar sizes due to economies of scale and the costs of common elements such as the lobby, roof, parking lot, etc are distributed across a larger number of individual owners.
As you can probably imagine, both of these technology solutions/approaches can easily adapt for the purposes of Enterprise Software. By running across virtualized servers an enterprise application can be run more efficiently, helping to drive towards a more standardized technology infrastructure and a more efficient use of hardware. Cloud computing can be used to help reduce the overall costs associated with running enterprise solutions within an organization, but with some limitations.
While the overall prioritization of Enterprise Software has declined in the latest CIO survey, Enterprise applications are far from dead – they’re just evolving.