The role of an Environment Manager or the purpose of an environment team is to:
Enable predictable software delivery by providing reliable, governed and cost-effective environments across the technology lifecycle.
At a high level, this usually includes many of the following tasks.
Environment Provisioning
Build and provision test environments for projects, products and programmes
Environment Management
Own the lifecycle of environments from creation through to retirement.
Configuration
Ensure environments are correctly configured and aligned with the required application versions.
Environment Scheduling
Coordinate competing demands when multiple teams need the same environment.
Deployments
Coordinate application, infrastructure and configuration deployments into test environments.
Test Data Management
Work with data & test teams to ensure appropriate test data is available and refreshed regularly.
Integration
Ensure connected applications, APIs, databases and external services are available and correctly configured
Environment Refreshes
Manage refreshes, resets and rebuilds to maintain environment integrity
Incident Management
Investigate environment defects, own and coordinate to resolution
Monitoring
Proactively monitor environments and identify issues before testers encounter them
Security & Access
Manage appropriate access, credentials, certificates and permissions
Cost management
Optimise cloud and infrastructure costs, including shutting down unused environments
Governance
Define standards, processes and controls for how environments are requested and managed
Documentation
Maintain environment diagrams, configuration information, dependencies and support documentation
Release support
Provide environments and coordinate environment readiness for releases
Decommissioning
Retire environments safely when projects/products no longer require them
Each of these tasks are topics in their own right and will be explored within this site.