Enterprise release management (ERM) is a multi-disciplinary IT governance framework for managing software delivery and software change across multiple departments in a large organization. ERM builds upon release management and combines it with other aspects of IT management including Business-IT alignment, IT service management, IT Governance, and Configuration management. ERM places considerable emphasis on project management and IT portfolio management supporting the orchestration of people, process, and technology across multiple departments and application development teams to deliver large, highly integrated software changes within the context of an IT portfolio.
Just as traditional release management packages changes together for execution and delivery, so an enterprise release is a mechanism for integrating and managing multiple, independent programs and projects that impact the enterprise. ERM takes an end-to-end life cycle perspective addressing the (strategic) planning, execution and delivery of an organization's entire change portfolio, even though in reality it is often confined to the latter integration, test and implementation stages of delivery.
An enterprise release consolidates and integrates the deliverables of multiple projects (or more generally, change initiatives) that have to be time-boxed or synchronised so they can be tested and released as a whole. By stressing the need for a cohesive release architecture, ERM aims to supplement portfolio prioritization with greater design governance that serves to improve productivity and reduce change disruption by executing related features together.
While traditional release management addresses fine-grained changes and provides technical support for the project, ERM supports enterprise portfolio/project management (PPM) and brings a pragmatic architectural and execution perspective to the selection and planning to an enterprise release.
Organizations practicing Enterprise Release Management often support software projects across a wide spectrum of software development methodology. An IT portfolio often incorporates more traditional Waterfall model projects alongside more iterative projects using Agile software development. With the increasing popularity of agile development[1] a new approach to software releases known as Continuous delivery is starting to influence how software transitions from development to release. With continuous delivery, transitions from development to release are continuously automated. Changes are committed to code repositories, builds and tests are run immediately in a continuous integration system, and changes can be released to production without the ceremony that accompanies the traditional Software release life cycle.
While continuous delivery and agile software development provide for faster execution on a project level, the accelerated pace made possible by continuous delivery creates challenges for less-agile components in an IT portfolio. ERM provides organizations with a comprehensive view of software change across a large collection of related systems allowing project managers and IT managers to coordinate projects that have adopted more continuous approaches to software delivery with projects that require a slower, more sequential approach for application development.
Enterprise Release Management provides enterprises with a model that can adopt the localized effects of both DevOps and Continuous delivery to the larger IT department.