IT Environments Management

My engagement with environments management was accidental. With a background in a highly controlled and well defined boundary system of IBM AS/400. I used to find Environments management quite a warped subject. It also never helped as AS/400 Administrators were absolutely different breed from AS/400 developers and the overlaps were not very common.

So when I started my Project Management gigs as my career took a turn towards a little more responsible side of the deliveries, I found environments to be the major concerns in any IT Project delivery. Allocating Dev environments for kick starting the development works in legacy applications was always a challenging aspect, and as a Project manager a biggest point of concern.

My initial challenges did drew me towards the Environment Management as a discipline more closely than others, may be due to most of my delays were attributed to environments not working in one way or other. Working with Legacy applications also never helped.

In many cases there are only a few working environments in Dev / UAT levels and people also don’t acre to keep them in top shape. There are numerous reasons for this:

  • Lost knowledge due to resource attrition
  • Lack of correct & detailed environment documentation
  • IT Systems going End of Life and application was never upgraded to latest technology stack

In general cases Production Environments are very well managed due to obvious business and operations impact. Also a renewed focus on Production environments was warranted due to quite a few regulatory implications in case of systems being down and resulting in financial impacts to the customer. Unfortunately, this leaves Dev & UAT environments exposed to complacent viewpoint.

With latest additions in the MAS TRM guidelines, UAT environments do get some focus and get ring fenced to some extent but it still leaves a lot of areas in the grey zone. Management of DEV & UAT environments are not always robust and if the underlying infrastructure is legacy then challenges are sometime insurmountable. This brings the most obvious questions to mind. Who takes care of non-Production environments? Walks in an IT Environments Manager.

Environmental managers have an extremely varied workload and one that usually entails a range of strategic tasks. Some of them are listed below. Please note I am scoping the Environments Manager here with Non-Production Environments as generally there is an entire team dedicated for Production environments.

  • Data Management
    • Provisions converted test data per test scenario per environment
    • Provides a consistent processes for data population into test environments
    • Enables data refreshes prior to the beginning of each test pass
    • Controls the acquisition/administration of project data
    • Handles the planning, scheduling, and delivery of data into a test environment
  • Configuration Management
    • Configurable item versions are managed such that the right version is always used in a development activity
    • Build Management
  • Release Management
    • Provides a structured approach for deployment of system changes to Production, which reduces quality-related risk
    • Changes to software are bundled together in releases which occur on a limited basis, minimizing the impact of changes to the users and the likelihood of introducing defects to Production.
  • Infrastructure Management
    • Procures hardware in terms of Networks, Servers and Disk.
    • Provisions physical servers for the purpose of hosting virtual servers.
    • Deploys virtual servers up to OS and network level.
    • Regular backups of environment components, including servers and databases.
    • Restoration of base server infrastructure in the event of a failure.
  • Test Management
    • Monitor the environment after the deployment of bug fixes.
    • Co-ordinate test activities and teams.
    • Includes processes to support the test environment.
    • Allows for the consistent tracking of defects associated with a test environment.
    • Executes test cases to verify an environment is ready for use.
    • Captures the required components needed for a test environment.
  • Environment Controls
    • Monitor the availability of the environment according to plan.
    • Track releases, upgrades and changes to the development and test environments.
    • Log, coordinate and resolve environment defects.
    • Plan the reuse or reallocation or decommission of environments when testing is complete.
    • Coordinate test environment configuration, deployment and test activities required to provide a stable test platform.
    • Ensure monitoring of environments is conducted.
    • Communicate hardware requirements to Infrastructure Management.
    • Allocate project infrastructure based on the project requirements. Environment management may allow environment sharing where the technologies are similar and where there is sufficient capacity.
  • Demand Management
    • Manage the process of allocating test environments in an efficient way. Verify enough environments are available across projects.
    • Verify an environment meets the security requirements prior to testing.
    • Smoke Tests
    • Health Checks and Monitoring
    • Verify the environment is ready for testing. Manage the various mechanisms that provide monitoring capabilities.
  • Other Value added services
    • Calculating Total Cost of Ownership of entire Environments Stack
    • Identifying opportunities to reduce the cost by virtualizing or merging multiple environments into single depending upon business justification.

As the above items look daunting, it’s always a case that teams entrust all the above activities for non-production environments to a small set of people, in many case a single person or 2 people to get all environments in shape and running. Like any administrative job this becomes very tedious and many times result in project delays. This begs the right attention from all the teams to keep the environments clean and do a regular house-keeping to do their bit of good governance.

Note: This article was first published on my LinkedIn post in Dec-2014

Note: Author has more than a decade of experience with more than 4 years dedicating in establishing right processes and controls for non-production environments in banking domains to contribute to the project deliveries and minimizing the delays due to environments being down.

Leave a comment