Vision = reality
The goal of any project is to deploy each build into a live environment and ensure that all stakeholders are happy with the outcome. There are three environments to consider: Development, Beta and Production. Each environment has its role to play and together they ensure the necessary quality control gates are in place. The specific purpose for each environment is as follows:
The development environment is used to locally develop the application. Only the developers themselves will have access to the environment. It is where the application is built.
The beta environment is the first live, cloud-based environment in most workflows. It is traditionally the sum of all issues completed, that have passed the Definition of Done. It is openly available for the Product Owner and other relevant stakeholders to use. Avoid putting any personal or sensitive data on the beta environment.
The production environment is the final stage of deployment where only tickets that have passed UAT are deployed. Nothing should make it to this environment without first being reviewed in the previous environments and stepping through quality control processes. This environment is where users interact with the application.
As part of the development lifecycle, an application moves from the development environment, into beta, then eventually into production. In order to progress into the next environment, the application needs to meet certain criteria before it can be approved for release. Checklists for these gates are recommended to ensure that each release lives up to the standard of that environment.
The beta release checklist is completed before moving tickets to the beta environment. While most of the criteria involves routine security and quality checks, one important artefact that should be required is a Testing Report. A Testing Report traditionally shows the current state of the tests run against the application, which are expected to all be passing before the release can continue.
The production release checklist is prepared when the product on beta is ready to be released to production. Before the application can be released into the production environment, teams must have received express approval from the Product Owner.