Enterprise Release Management
   HOME

TheInfoList



OR:

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 Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; it includes testing and deploying software releases. Relationship with processes Organizations that ...
and combines it with other aspects of IT management including Business-IT alignment,
IT service management Information technology service management (ITSM) is the activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers. Differing from more technology-or ...
,
IT Governance Information technology (IT) governance is a subset discipline of corporate governance, focused on information technology (IT) and its performance and risk management. The interest in IT governance is due to the ongoing need within organizatio ...
, and
Configuration management Configuration management (CM) is a process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM proc ...
. ERM places considerable emphasis on
project management Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. Th ...
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.


Managing Multiple Releases

Just as traditional
release management Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; it includes testing and deploying software releases. Relationship with processes Organizations that ...
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.


Influence of Continuous Delivery and DevOps

Organizations practicing Enterprise Release Management often support software projects across a wide spectrum of
software development methodology In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software devel ...
. An IT portfolio often incorporates more traditional
Waterfall model The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. ...
projects alongside more iterative projects using
Agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
. With the increasing popularity of agile development a new approach to software releases known as
Continuous delivery Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, following a pipeline through a "production-like environment", withou ...
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 A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help impro ...
. 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 DevOps is a set of practices that combines software development (''Dev'') and IT operations (''Ops''). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary to a ...
and
Continuous delivery Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, following a pipeline through a "production-like environment", withou ...
to the larger IT department.


References

{{Reflist * Taborda, L.J. (2011). Enterprise Release Management: Agile Delivery of a Strategic Change Portfolio, Artech House. Change management