To be effective at release management, we embrace these philosophies:
- Zero operational impact. A primary consideration is to never negatively impact existing IT or business operations. Your release management team supports many solution delivery teams in parallel, and the teams are very likely sharing common operational assets. As a result, there is always a risk that a problematic deployment by one team can harm the existing solutions produced by other teams. We want to prevent that.
- Positive user impact. Users shouldn’t notice that an update has occurred, other than by noticing that new value is now being offered to them.
- Sooner, faster, and regular. An important aim of release management is to enable value to be delivered into the hands of stakeholders as quickly and often as appropriate for the situation.
- Verifiable deployments. Any deployment should be traceable, reproduceable, and measured. Traceable means that you know what was deployed, when it was deployed, where it was deployed, and what was potentially impacted by that deployment. Reproduceable means that you should be able to deploy the solution again, giving the same results as before (assuming nothing changed). Measured means you are tracking key information about the deployment to inform future decision making.
- Automate, automate, automate. By automating the deployment process, including any tracking and validation efforts, you increase the consistency of your deployments while decreasing the cost, time, and effort to do so. Furthermore, release management teams will often work with solution delivery teams to set up the continuous improvement (CI)/continuous deployment (CD) pipelines to help automate the release process at the team level.