Environments Management—A Key Component for Release Management


The demand for software environments has increased as more organizations use agile software development practices and are required to provide a fast turnaround of deliverable IT projects. Effective environment management improves the quality, availability, and efficiency of the environments in order to meet milestones, as well as ultimately reducing both the time to market and costs.

The demand for software environments has increased as more organizations use agile software development practices and are required to provide a fast turnaround of deliverable IT projects. In a rapid IT delivery cycle, software test environments provide the platform on which applications are validated through various test phases, including the system test, regression test, and user acceptance test, among others.

However, the complexity of the test applications landscape, the number of applications under scope, and the integration architecture and technology variants can all increase the challenges of managing software test environments—including maintaining complex hardware and software deployments, documenting and defining a standard provisioning process, and providing general housekeeping practices.

Depending on the complexity of test phases and the deployment and infrastructure architectures, it can be cumbersome and time consuming for you to properly manage test environments. However, test environments that are not defined and managed can potentially derail your overall release process as frequent changes to the software environments can delay the overall release cycle and test timelines.

The Nuts and Bolts of Software Environments
Environments are deployment platforms on which applications are deployed and configured. They are made available during various phases of the deployment lifecycle, including build, install, configure,and verify. A software environment is a collection of hosted servers and application software that provides a platform for execution and testing of applications. Typically an environment consists of:

  • One or more physical or virtual servers
  • Hosted applications, including deployment, installations, and releases on web servers; application servers; database servers; legacy applications; etc.
  • Deployment environment configurations
  • Network Infrastructures, such as firewalls, SAN Storage, network switch, etc.

The release team provides the services for deployment on the environments and makes it available during various stages of release and test cycles.

Relationship Between Environments and Deployments
Although environments and deployments are similar in that they are both related to environments, they do have their differences. Deployment management primarily focuses on planning, executing, and managing deployments, whereas environment management centers on identifying and sandboxing a set of resources on which you can perform deployments. Only after environments have been identified and scoped should you initiate a deployment.

Although environments management is a part of the release management process, it also involves the following: environments planning, environments configuration, environments verification, and environments communication.


Figure 1: A release management workflow chart detailing environments management synced up with release management as software progresses from development to live production.

Environments are planned and created based on the release and test strategy formulated by stakeholders during the IT development lifecycle. Typically, software development progresses from the initial design and development phase to the QA/testing phase to the eventual live deployment of the product. Software test environments often differ from each other by their purpose and line of business supported. The “customer-facing software environment,” which is the live production environment where the user is actually using the application is just one of many different software environments.

When a product’s development is in its initial stages, the release and planning strategies require development environments in order to allow testing across multiple phases before the software is deployed. As test teams begin to test the applications, other environments are created and managed by the release team based on the requirements of the test and release cycles.


User Comments

Jimmy McMaken's picture

I am curious how you can find a job like this? Also how much money would a position like this bring in? 

May 15, 2015 - 10:42am
Jorge Cisneros's picture

Did you find a job?

My question is if there a consultant firm that offers installation and integration of release management?

I would like to hire their services

September 1, 2015 - 5:14pm
yasar Goraya's picture

Environment management has been around for long time but it was  carried out mainly by infrastructure teams on Release teams request but there was no clear ownership. However, in past few years a particular focus has been put onto Environment management as it has become an important feature of software project delivery pipeline.  There are many organisation (capgemini, Wipro, Cognizant ) providing environments management as managed service. In addition, there are many tools available in the market to manage environments planning, booking and forecasting.   

September 10, 2015 - 6:24pm

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.