There are several reasons why enterprises adopt release management strategies:
- They have a complex operational infrastructure. The greater the complexity of your operational infrastructure the greater the risk that the release of new functionality into production will break something, hence the greater need for release management. Operational infrastructures become complex when there are many technologies in place, when there are different versions or configurations of those technologies, and when solutions are highly coupled to one another. Ideally you should strive to pay down this technical debt .
- There are many delivery teams working in parallel. Your operational infrastructure is a shared environment, or more accurately a collection of shared environments, that your IT delivery teams deploy into. As the number of delivery teams rises, the greater the chance that their release efforts will conflict with one another.
- IT delivery teams need help to release their solutions into production. Your IT delivery teams, particularly new ones, may not have much experience deploying solutions into your operational environment. Your release management team can coach your IT delivery teams in effective release strategies, can guide them in ensuring that their solutions are production ready, and can help in the planning and coordination of their release efforts.
- Release management must be an enabler of DevOps. As you see in Figure 1, release management is an important part of our overall Disciplined DevOps strategy. A successful DevOps approach requires you to streamline the entire flow between delivery and operations, and part of that effort is to coordinate and support the release/deployment efforts of the delivery teams.
Figure 1. The Workflow of Disciplined DevOps. Click on a process blade for more information.