Actions

Difference between revisions of "Release Management"

Line 1: Line 1:
'''Release Management''' is the process that handles software deployments and change initiatives. Across an organization, it schedules the relevant tasks (internal and external), assigns the physical and human resources needed to carry them out, and oversees the execution. It starts with planning what will be contained within a release, managing the software build through different stages and environments, testing stability and finally, deployment. It is a difficult balancing act between:
+
'''Release Management''' is the process that handles software deployments and change initiatives. Across an [[Organization|organization]], it schedules the relevant tasks (internal and external), assigns the physical and human resources needed to carry them out, and oversees the execution. It starts with planning what will be contained within a release, managing the software build through different stages and environments, testing stability and finally, deployment. It is a difficult balancing act between:
 
*Delivering value and novel features to customers
 
*Delivering value and novel features to customers
 
*Prioritizing value streams according to business needs
 
*Prioritizing value streams according to business needs
Line 24: Line 24:
 
*It has little to no impact on current users.
 
*It has little to no impact on current users.
 
*It satisfies the needs of current and new users, technological advances and/or competitive demands.
 
*It satisfies the needs of current and new users, technological advances and/or competitive demands.
 +
 +
 +
'''Release Management Relationships with other Programs<ref>Release Management Relationships with other Programs [https://en.wikipedia.org/wiki/Release_management Wikipedia]</ref>'''<br />
 +
 +
''Relationship with Continuous Delivery, DevOps, and Agile software development''<br />
 +
Organizations that have adopted agile software development are seeing much higher quantities of releases. With the increasing popularity of agile development a new approach to [[Software|software]] releases known as [[Continuous Delivery|Continuous delivery]] is starting to influence how software transitions from development to a release. One goal of Continuous Delivery and [[DevOps]] is to release more reliable applications faster and more frequently. The movement of the application from a “build” through different environments to production as a “release” is part of the Continuous Delivery pipeline. Release managers are beginning to utilize tools such as application release automation and continuous integration tools to help advance the process of Continuous Delivery and incorporate a culture of DevOps by automating a task so that it can be done more quickly, reliably, and is repeatable. More software releases have led to increased reliance on release management and automation tools to execute these complex application release processes.
 +
 +
''Relationship with Enterprise Release Management''<br />
 +
While Release Management focuses on the transitions from development to testing and release for a single project or a collection of related projects, Enterprise Release Management (ERM) is focused on the coordination of individual releases within a larger organization. An organization with multiple application development groups may require a highly orchestrated series of releases over multiple months or years to implement a large-scale system. ERM involves the coordinated effort of multiple release managers to synchronize releases in the context of an IT portfolio.
 +
 +
''Relationship with ITIL/ITSM''<br />
 +
In organizations that manage IT operations using the [[IT Service Management (ITSM)|IT Service Management]] paradigm, specifically the [[ITIL (Information Technology Infrastructure Library|ITIL framework]], release management will be guided by ITIL concepts and principles. There are several formal ITIL Processes that are related to release management, primarily the Release and Deployment Management process, which "aims to plan, schedule and control the movement of releases to test and live environments.", and the Change Management process. In ITIL organizations, releases tend to be less frequent than in an agile development environment. Release processes are managed by [[IT Operations (Information Technology Operations)|IT operations]] teams using IT Service Management ticketing systems, with less focus on automation of release processes.

Revision as of 18:37, 15 January 2021

Release Management is the process that handles software deployments and change initiatives. Across an organization, it schedules the relevant tasks (internal and external), assigns the physical and human resources needed to carry them out, and oversees the execution. It starts with planning what will be contained within a release, managing the software build through different stages and environments, testing stability and finally, deployment. It is a difficult balancing act between:

  • Delivering value and novel features to customers
  • Prioritizing value streams according to business needs
  • Improving the speed and quality of release deployments
  • Not compromising product stability.[1]


The Objectives and Benefits of Release Management[2]
Done effectively, release management increases the number of successful releases by an organization and reduces quality problems. Productivity, communication, and coordination are improved, and the organization can deliver software faster while decreasing risk.

These improvements mean the team can repeatedly produce quality software with shorter times to market, which allows the company to be more responsive to the operating environment.

Release management also helps standardize and streamline the development and operations process. The team implements auditable release controls, thus creating a repository for all releases throughout the life cycle. Having a single, well-documented process that must be followed for all releases increases organizational maturity. Increased standardization and the focus on product allow teams to draw more useful lessons from experience and apply them in future releases.

Operations departments appreciate the increased coordination with developers because there are fewer surprises. They can now avoid feeling that a release has simply been “thrown over the wall” from development, leaving operations to fight fires and “patch and pray” because of short deadlines. There’s also more of an opportunity to resolve configuration issues between the development and operating environments.

In short, release management breaks down team barriers across multiple functions in an IT organization. As a result, you can improve product delivery holistically.


Release Management Success Indicators[3]

For a release to be deemed successful, it must attain the following objectives:

  • It’s deployed on time.
  • It’s deployed within budget.
  • It has little to no impact on current users.
  • It satisfies the needs of current and new users, technological advances and/or competitive demands.


Release Management Relationships with other Programs[4]

Relationship with Continuous Delivery, DevOps, and Agile software development
Organizations that have adopted agile software development are seeing much higher quantities of releases. With the increasing popularity of agile development a new approach to software releases known as Continuous delivery is starting to influence how software transitions from development to a release. One goal of Continuous Delivery and DevOps is to release more reliable applications faster and more frequently. The movement of the application from a “build” through different environments to production as a “release” is part of the Continuous Delivery pipeline. Release managers are beginning to utilize tools such as application release automation and continuous integration tools to help advance the process of Continuous Delivery and incorporate a culture of DevOps by automating a task so that it can be done more quickly, reliably, and is repeatable. More software releases have led to increased reliance on release management and automation tools to execute these complex application release processes.

Relationship with Enterprise Release Management
While Release Management focuses on the transitions from development to testing and release for a single project or a collection of related projects, Enterprise Release Management (ERM) is focused on the coordination of individual releases within a larger organization. An organization with multiple application development groups may require a highly orchestrated series of releases over multiple months or years to implement a large-scale system. ERM involves the coordinated effort of multiple release managers to synchronize releases in the context of an IT portfolio.

Relationship with ITIL/ITSM
In organizations that manage IT operations using the IT Service Management paradigm, specifically the ITIL framework, release management will be guided by ITIL concepts and principles. There are several formal ITIL Processes that are related to release management, primarily the Release and Deployment Management process, which "aims to plan, schedule and control the movement of releases to test and live environments.", and the Change Management process. In ITIL organizations, releases tend to be less frequent than in an agile development environment. Release processes are managed by IT operations teams using IT Service Management ticketing systems, with less focus on automation of release processes.

  1. Definition - What is Release Management? Plutora
  2. The Objectives and Benefits of Release Management Smartsheet
  3. What are Release Management Success Indicators? Microfocus
  4. Release Management Relationships with other Programs Wikipedia