Anyone working on a given environment is considered to be an ‘actor’ performing a defined ‘role.’ A typical set of roles is:
- Owner – determines the policy and process by which anyone else is assigned any other role
- Architect – defines the hardware and software platforms on which the environment is created and how they are shared with other environments
- Gatekeeper – Controls the deployment of releases and clones to this environment
- Publisher – Controls the publication of releases and clones to environments in other tiers
- Tester – Tests the results of work done by developers
- Developer – Changes the system to meet defined requirements and produces the release to affect that change on environments in other tiers
It is perfectly possible that any individual might perform several roles within a given environment and also across different environments (e.g. the production gatekeeper is highly likely to be a tester on a staging environment; a developer may perform all six roles on a dedicated development environment).