This guest post is by Doug Willoughby, director of cloud computing for Compuware Corporation. Members interested in writing a guest post about an IT topic near and dear to their heart should e-mail community editor Michael Morisy at Michael@ITKnowledgeExchange.com.
Smart phones, social networks, Web 2.0, cloud computing, borderless applications: information technology is being reshaped by waves of disruptive innovations. Some enterprises will benefit from disruption, while others will be buried by it. Enterprises who position themselves to capitalize on innovation will benefit the most. To capitalize on innovation, successful enterprises are moving information technology to the forefront of product strategies, from a supporting role to the means of monetization.
In this environment, established IT organizations are likely to find their greatest challenge is their previous successes. To deliver on time and on budget, successful IT organizations have optimized their processes based on assumptions about the environment. Innovations and the changing role of IT throw many of these assumptions out the window. As a result, the primary challenge to established IT organizations is how to adapt their existing best-practices and tools to fit their new role.
One such best practice is the Agile development process. The Agile process has enabled IT organizations to be more responsive when faced with changing business requirements. In the past, the Agile process has been used exclusively by development teams. To address the operational requirements of ubiquitous access, social applications and cloud computing, successful IT organizations will become “Agile” across the application lifecycle-from requirements to operational deployment. These organizations will have all the advantages of being first to market, while enjoying lower operational costs.
To support an Agile application lifecycle, IT organizations need an integrated suite of tools that support each stage of the application lifecycle.
The Internet is the New Data Center
For the last fifty-years, IT has been optimized around the assumption that applications and data centers are fairly static. Lines of business owners generate requirements. Developers build and test applications in isolation before passing them over to the operations group for deployment. Once deployed, the operations group is responsible for monitoring the performance of the applications to detect and resolve problems.
Web applications are making the Internet the new enterprise data center. Research indicates that typical Web applications depend on six or more services located outside the direct control of the applications’ owners. These are not new-fangled cloud services, either. Rather, they are the bare minimum of ordinary Web services required to deliver consistent and compelling user experience, and include such Web staples as content distribution networks (CDN), ad distribution networks, content management servers, analytic services, streaming media services and other types of service delivery platforms.
The Web breaks many of the assumptions built into the traditional application lifecycle model. For example, thorough testing of many Web applications before their deployment may be a practical impossibility. There can be too many variables for proper coverage testing. Client browser compatibility (which release, what operating system, which plug-ins and what configuration options) is just the beginning. End user experiences will vary depending on where users are physically located–not just due to network latency and bandwidth, but also because the quality of service provided by Web services can vary by geography.
Performance Management is Critical for Agile IT
This is not saying that Web applications do not need to be tested before they are deployed. Instead, it suggests a new strategy that mirrors the Agile process that many development organizations have already adopted. This strategy is called the Agile application lifecycle.
The Agile application lifecycle is a cross-organizational approach that brings together line of business (LOB) owners, developers, and IT operations. Agile teams work closely with LOB owners to define requirement and IT operations to detect and resolve problems quickly. The approach is characterized by smaller, more frequent releases. New functionality is tested as extensively as practical, but greater reliance is placed on detecting and resolving problems once the Web application is deployed.
To be successful, Agile teams need integrated tools that provide seamless visibility from development to testing and on through to the management of deployments. LOB owners are concerned with end user experience, developers need end-to-end visibility into composite Web applications, and operation teams need to determine business impact and deep dive tools to resolve problems quickly.
Capitalizing on Innovation
Enterprises that see change as a normal business driver will benefit most from disruptive innovation. Adopting an Agile application lifecycle strategy enables these organizations to react quickly to change. Agile is a cross-organization approach, so teams need tools that encourage the integration of concerns from LOB to operations and enable them to move seamless from requirements to deployment. The end-to-end visibility and end user experience context provided by integrated application performance management tools, such as those offered by Compuware, are a critical component of any Agile application lifecycle strategy.
Doug Willoughby is currently the Director of Cloud Computing for Compuware, a leading provider of APM tools for Web applications. Prior to Compuware he was at Sun, which he joined in 1988 and where he participated in the development and marketing of some of Sun’s most pioneering and disruptive technologies, including Project Spring, Distribute Objects Everywhere (DOE), NextStep/OpenStep, and Java. Willoughby was also part of the team of 14 engineers and architects who developed “network.com,” Sun’s first utility computing offering
Compuware offers an integrated suite of application performance management tools. Gomez Actual User Experience XF and Vantage for End-User Experience provides LOB owners visibility into real user experience. Gomez Web Load and Performance Testing and Cross-Browser Testing tools, combined with Vantage for Java and .NET performance tools gives developers clear insight into how applications will perform when deployed. IT operations can leverage the full suite of Gomez and Vantage tools, including Vantage for Business Service Management, to understand the business impact of service problems.