After validation received through the System Demo, the release process is initiated by deploying the validated features into a staging environment where final validations are made prior to a release to production.
Both validation from stakeholders in the Systems Demo as well as integrated features
A staging environment which can be used for final validation in the release process
Deploying to the staging environment is the initial step in the release process.
Deploying a true release candidate to a staging environment is a key step in the process. This automated process allows the experience to proceed through a final set of validations (both manual and automated) to ensure the Release Management Team has all of the needed information to make an informed decision on whether the release is fit for a full production release.
In this release initiation step, organizations can fall victim to specific pitfalls:
Relying on a Manual Release Process - Given that this step will occur repeatedly throughout the life of the product, it is important that this process is completely automated. This also helps to ensure that every environment is identical in structure.
Utilizing environments for multiple distinct purposes - Given Dynamic Infrastructure as a core tenet of DevOps, organizations should be able to create as many environments as are needed at any point in time. Some organizations have struggled by not having separation of concerns between User Acceptance Testing, Testing, Systems Demo, and staging environments. An organization should have exactly as many environments as are needed at a point in time to perform the distinct tasks that need to be performed at that time.
To automate the provisioning and release process to any environment, we recommend the following solutions: