Portfolio Expert

The Virtual lifecycle

Software developers are discovering the virtues of virtualization.

Virtualization has been a hot topic in IT for a while, but software development shops are just waking up to the benefits in areas such as software testing and build management.

Over the past six to 12 months, research firm IDC has noticed increased interest in and adoption of virtual machines (VMs) around activities such as quality assurance (QA) and, more gradually, build-and-release management. More telling, IDC survey research shows virtualization being used in conjunction with application lifecycle management (ALM) and early coordination with IT portfolio management approaches.

The findings are being borne out in the market. Last year, VMware acquired virtual test-lab software provider Akimbi, which updated its Lab Manager software at the end of last year. Both Surgient (with its Virtual QA/Test Lab Management System [VQTS]) and start-up VMLogix are targeting the testing arena and provide additional options. Solutions targeting build-and-release management include CollabNet's CUBIT product, released in late 2006. The wares come at a good time, as most organizations are just getting on board with strategic ALM initiatives and are able to consider virtualization on the ground floor.


The Case for Companies
In the area of QA, virtualization lets companies consolidate shared systems resources (such as servers, networking and storage), centrally manage software configurations and automate provisioning of configurations for both development and on-demand testing. The productivity and adaptability benefits of virtual test-lab management can also prove an antidote to IT politicization and hoarding of systems resources.

Test virtualization can act as a resource multiplier. When organizations need to mirror a production system to test a specific application, a virtual test lab can change-manage the specific systems configurations. QA can immediately leverage original configurations to test existing applications.

Requirements for strong virtual test-lab management include:

  1. Self-service provisioning: Provide browser-based access to a shared library that supports build-and-test configurations.
  2. Enable multi-tier test environments: Provide management of a collection of virtual machines as an atomic unit (not just individual VMs).
  3. Make it easy: Hide complexity so developers and testers can be productive.
  4. Support IT management: Enable IT to maintain control of the system, setting policies, quota, security, administrative frameworks and access rights.
  5. Integrate with automated test tools: Integration may be accomplished via pre-packaged integrations or industry-standard APIs (e.g., SOAP).
  6. Create and capture multi-tier configurations: Automate configuration capture so users don't need to file requests that can limit use of the system.
To make all this work, security is critical, as is the ability to share resources and prioritize allocation. Also key to virtual test-lab management are: support for multiple virtual infrastructure platforms, policy-based resource pooling, scheduling, and secure browser-based access and reporting.

Into the Virtual Test Lab
I expect virtual test-lab capabilities and technology to extend into other areas of the development lifecycle, particularly build management. Where there are high levels of complexity and rapid change, on-demand, adaptive provisioning enables faster software updates. Virtual provisioning and configuration management are perfectly suited for these environments.

I also expect to see increased adoption in the context of regulatory compliance and change management. Given the need for auditability and traceability, being able to capture and restore application environments at specific lifecycle phases and states is useful. We're starting to see the evolution of systems that allow management of both virtual and non-virtual systems in coordination with one another. Savvy organizations are already adapting their IT governance approaches to extend to incorporate virtualized resources and environments. Tools to enable that level of visibility and coordination will become increasingly available in the 2007 to 2009 time frame.

If large companies can get past the human and political barriers, virtualization can yield more flexible systems resources, more responsive IT operation and more effective and efficient management of systems configurations. The result: Software development shops can better leverage their test management solutions, yielding quick software deployments. The benefits of virtualization increase with complexity, such as in n-tier or service-oriented architecture-based applications.

About the Author

Melinda-Carol Ballou is program director for IDC's Application Life-Cycle Management research, where she focuses on software life-cycle process configuration and management, software quality and IT governance software. Prior to joining IDC, she ran Ballou IT Strategies, an independent consulting company specializing in PPM and ALM, and served as senior program director at META Group.

Reader Comments:

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above