Mapping the strategy
Test Environment Management (TEM) is a multi-dimensional function in the software delivery process which aids Testing by providing validated, stable and usable environments to execute Test scenarios.
For most organizations today, TEM does not exist as a separate function or entity due to which organizations fail to tap into its full potential. This often results in higher operational costs, negative impact on quality and lower availability of Test environments.
It is also a challenge for many organizations to manage their Test environments effectively at multiple levels like infrastructure, application, database and operations.
The challenges multiply when organizations transform from a traditional way of Testing to a more agile environment. For instance, a single project running in agile method can have multiple releases and each release has multiple iterations. Providing rightly conﬁgured environment for each release and iteration is quite challenging, given the scope of changes that typically take place in agile methodology. Hence, there is a need today for an effective Quality Assurance strategy.
The key areas for effectively managing Test environments in agile methodology are described in detail below.
Service integration: creating a uniﬁed Team model
Unlike traditional mechanisms of Testing, Agile Testing needs on-demand environment provisioning, higher availability and right conﬁgurations. The Test environment team also has to manage the environments until all the iterations are completed. To cater to these demands, IT departments need to establish a uniﬁed Test environment management model which enables seamless coordination between Testing and all stakeholders.
The Uniﬁed Test Environment Management Model creates a single point of contact for the Testing team to co-ordinate with and will be accountable for Test environments and their related activities. In an agile environment, the Test Environment team performs all necessary activities like Test infrastructure management, Test data management, coordination and support, and deployment management activities.
Unlike the conventional way of Testing, the agile method integrates all Test environment activities (see Figure 1).