What is Release Management (an ERM & SAFe Perspective)
DEC, 2022
by Jane Temov.
Jane Temov is an IT Environments Evangelist at Enov8, specializing in IT and Test Environment Management, Test Data Management, Data Security, Disaster Recovery, Release Management, Service Resilience, Configuration Management, DevOps, and Infrastructure/Cloud Migration. Jane is passionate about helping organizations optimize their IT environments for maximum efficiency.
In the world of enterprise software, Release Management is a crucial process that ensures the successful planning, execution, and monitoring of software releases. As the name suggests, Release Managers are responsible for coordinating various stakeholders, including developers, testers, operations staff, and end–users, to achieve the desired business objectives. This discipline is a vital component of software development and IT operations, providing a comprehensive overview of the software release process.
Enov8 Enterprise Release Manager
*Innovate with Enov8
Streamline delivery of IT change through embracing “Scaled Agile” best practice.
In this post we break it down from the perspective of the two main methods i.e. classical ERM (Enterprise Release Management), and SAFe (Scaled Agile Framework).
Why Release Management
The Release Management Process is essential for ensuring a frictionless systems development life cycle, agile development, and ensuring the software is released in a controlled and safe manner. Without a formalized release management process, it’s easy to introduce new bugs into the system or to deploy applications before they are ready.
The Two Release Management Methods
In the modern world, two Release Management methods dominate:
1. Classical, Enterprise Release Management (ERM)
2. Iterative Release Management, like Scaled Agile (SAFe)
Independent of which you prefer we can “safely” say a well-defined release management process includes the following key stages:
The Key Stages of Release Management
- Identifying the Value Stream(s)
Ref Wikipedia: A value stream is the set of actions that take place to add value to a customer from the initial request through the realization of value by the customer. The value stream begins with the initial concept, moves through various stages of development, and on through delivery and support. A value stream always begins and ends with a customer.
- Scoping
Determining the scope of work to meet these objectives/goals.
- Project or Team Onboarding
Mapping/Defining which teams will deliver the work items.
- Planning:
Release management planning is determining what should be delivered and when.
Typically broken into Quarterly Program Increments & Fortnightly Sprints.
- Tracking
Often by Project or Sprint Milestones & potentially other quality or compliance gates.
Note: This would also capture change & incidents.
- Implementation Planning
Ensuring the release deployment activities are understood and practiced to avoid issues.
- Implementation Orchestration
Ideally through the use of release automation for key tasks like deployment, rollback, etc.
- Post Implementation Reviews
Monitoring the performance of the release process and the teams so our Release Managers can learn and we can continually improve*.
*Release Management is a balancing act between keeping customers happy, prioritizing business needs, working with varying team maturity and delivery levels, managing demand for test environment instances, SMEs and improving delivery cadence without compromising product quality. To ensure successful releases, teams and businesses should invest time in actively managing the process and continuously reflecting on it.
What Is Release Lifecycle Management?
Release Management and Release Lifecycle Management (RLM) are closely intertwined yet distinct concepts in software delivery. Release Management concentrates on the strategic planning, coordination, and oversight of software releases into production environments. It involves activities such as release planning, risk management, communication, and deployment coordination, all aimed at ensuring that authorized and thoroughly tested changes are seamlessly deployed with minimal disruption to services.
In contrast, RLM provides a holistic framework that encompasses the entire lifecycle of managing software releases. It extends beyond the confines of Release Management to include the development, testing, monitoring, and evaluation of releases, integrating various processes into a cohesive and comprehensive approach.
While Release Management operates within the broader context of RLM, they share an inherent interdependency. Release Management activities are executed sequentially within the framework of RLM, contributing to its overall success.
For instance, release planning and coordination activities are pivotal components of RLM’s planning phase, while deployment coordination aligns with the deployment phase. Effective Release Management practices are essential for the smooth execution of RLM, ensuring that releases are meticulously planned, coordinated, and executed in alignment with overarching objectives and processes. Ultimately, the synergy between Release Management and RLM facilitates efficient and reliable software delivery, driving value for organizations and stakeholders alike.
What is the Release Management Workflow?
As mentioned above,
The overall approach for Release management falls into two camps:
That is, the:
1. Classical, Enterprise Release Management (ERM), camp
2. More Iterative, Scaled Agile Framework (SAFe), camp
Both have a great number of similarities, but differences, so let us define both:
(1) Enterprise Release Management (ERM)
Define Scope of Release
- The Business Goals
- The Delivery Dates
Define Release Type
- Major Release: Major Releases usually include/package important features that have a high or critical business impact.
- Minor Release: Minor Releases usually include/package less important features and are usually deemed less mission-critical.
Create a Release Master Plan
Key Milestones:
- Enterprise Release Start Date (derived from the ART)
- Enterprise Release End Date (derived from the ART)
Release management planning is based on creating an overarching plan that identifies what must be done by when.
To allow ease of tracking and controlling cadence, include:
- Release Milestones / Gates
Tip: Key milestone might be
- Approved by Change Management,
- End of System Integration Test (SIT),
- Or Compliance Approved.
Onboard Contributing Projects
Identify / Define Child Projects to deliver these outcomes & register them to the cause.
Map Projects Plans to Release Plan
That is map the “child” Projects Plans to the Release Plan (or Release Master Plan).
Track Projects
Through normal Project Management, ensure projects are tracked to the Release Master Plan & there is reasonable cadence across all.
Tip! If any project starts to lag, Release Managers need to consider decoupling it from the release.
Implementation Planning
Ensure all the key software deployment activities are understood and sequenced. Ideally, this plan should be exercised and practiced, often in a pre-production staging environment.
Implementation / Deployment Management
The Software Delivery Step! Deploy new features into our production environments.
Note: Based on maturity, this may be done through manual methods or automated continuous delivery methods.
Post Implementation Review
Review how it all went. A retrospective, led by Release Managers, to promote continuous improvement and optimize future Release management delivery cycles. Note: You could do this from the perspective of the overall release & “child” projects themselves.
(2) Scaled Agile Framework (SAFe)
Define the Value Stream
Define the end goals.
Note: There are two types of value streams in SAFe: operational value streams and development value streams. An operational value stream focuses on delivering the value to end-users that was created by the development value stream. An example might be automatically fulfilling an order through the payment website.
Note: Identifying your value streams is important before you create the Agile Release Train itself. Until you have the end goal in mind you can’t accurately identify what teams will be required on the journey.
Once the goals & teams have been chosen, you’re ready to start planning.
Build the Agile Release Train
Key Milestones:
- ART Planned Start Date
- ART Planned End Date
Build the release train, the primary value delivery method in SAFe. The Agile Release Train is a long-lived (often 12 months), self-organizing “team of teams (agile teams)”, and a virtual organization (usually 5 to 12 teams) that plans, commits, and executes together. ARTs are organized around the enterprise’s Value Streams and live solely to realize the promise of that value by building solutions that deliver benefits to the end user.
Hence, an Agile Release Train is a team of teams, typically 50-150 people) responsible for the regular release of features (work items) and business benefits. All the teams of an ART are bound by a common Vision, Program Backlog, and Roadmap.
Plan the Program Increments (PI)
Key Milestones:
- PI Planned Start Date (derived from the ART)
- PI Planned End Date (derived from the ART)
It’s time to fine-tune your program backlog (backlog of features) and get ready for PI planning. This is the crux of your Release management planning endeavor.
To ensure agility, planning & ongoing refinement PI Planning is usually best done through tight collaboration and regular face-to-face meetings. The PI Features are broken into User Stories that will contribute to the Sprint-level backlog of the various teams. Planning, by the ART Team, will also identify potential PI risks.
Program Increments (PIs) provide a development timebox (often one quarter or 12 weeks) that uses cadence and synchronization to facilitate planning and ultimately delivery of a piece of work (one or more work items).
Every train has a set team of people (set of teams) and resources dedicated to constantly defining, developing, and testing capabilities in each iteration. Within a PI you would usually break the work into 5 or so short sprint milestones.
Plan Sprint Iterations
Key Milestones:
- Sprint Planned Start Date (derived from the Sprints inside a PI)
- Sprint Planned End Date (derived from the Sprints inside a PI)
During this event, the entire team works together to determine, based on delivery capacity, how much of the Team Backlog they can commit to. The team summarizes the work as a set of Iteration Goals.
Sprint Iterations are the basic building block of Agile software development. Each sprint is a short timebox, where the relevant Team(s) deliver incremental value in the form of working, tested software. The recommended duration of the timebox is two weeks.
Note: Typically a PI would be able to consume x5 sequential sprints.
Note: Sprint Iterations provide a regular & clearly defined cadence for teams to produce an increment of value, as well as to further refine those previously developed. These short-time sprints allow the team, Product Owners, Product Managers, and other stakeholders to regularly test and evaluate the working system.
Execute Sprint Iteration
The teams begin delivering on their work & share updates through daily standups.
The standups allow us to track the activity of the teams supporting the sprint iteration. And ensure they work, at the correct cadence, towards the defined sprint milestone.
Review Sprint Iteration
This stage is where the teams present the new value/features to the Product Owner, and other relevant stakeholders, and receive feedback on what they’ve produced.
Implementation / Deployment Management
The Software Delivery Step! Deploy new features into production.
Typically done as small feature deployments at end of each SI or collectively at end of a PI. Either manually, automatically or via continuous delivery methods.
Sprint Iteration Retrospective
At the end of each iteration, Agile teams meet for an iteration retrospective. The Iteration Retrospective is a recurring meeting where Agile Team members examine the results of the iteration, fine-tune their procedures, and look for ways to improve.
Note: Like classical Enterprise Release Management (ERM), organizations may also like to take the time to do a Post Implementation Review (or retrospective) at end of a Program Increment (PI) or Agile Release Train (ART).
A side by side comparison of ERM versus Scaled Agile
Confused? Maybe a diagram will help.
Below we provide the key components / taxonomy of Releases, from the perspective of Enterprise Release Management & then Scaled Agile. Note: In reality it is not necessarily one or the other. Organizations, and divisions within, will probably have a mix of both.
Diagram: Classical ERM Taxonomy
Diagram: Iterative Scaled Agile Taxonomy
What is a Release Manager?
What is a Release Manager (ERM / Classical Definition)
The release management process is typically overseen by a release manager, who is responsible for coordinating all aspects of the release. In large organizations, the role of the release manager may be divided into multiple positions, focussing on different business units or value streams.
A release manager is responsible for coordinating all aspects of a software release. This includes planning the release, coordinating development and testing activities, deploying the software to production, and monitoring the performance of the software in production.
In the world of Scaled Agile, an alternative title would be Release Train Engineer (RTE), refer below.
What is a Release Manager (SAFe / Release Train Engineer Definition)
The Release Train Engineer (RTE) is a servant leader and operates as a full-time ‘Chief Scrum Master’ of the train. The Release Train Engineer (RTE) tracks the Features, Work-Items, and release dates.
The RTE conducts the Program Increment (PI) planning events for each ART. The RTE is also responsible for ensuring the required stakeholders attend the PI Planning Event* and that all the logistics for the successful completion of the event are in place.
*The Program Increment (PI) Planning event is a cadence-based, face-to-face event that serves as the heartbeat of the Agile Release Train (ART), intending to align all the teams on the ART to a shared mission and Vision.
The RTE needs to have the PI Planning, Iterations, and System Demo dates set so that stakeholders may get a complete picture of the project’s progress.
Note: It is worth noting that several ARTs can contribute to a Value Stream.
Key Release Management Roles & Responsibilities:
The Release Management Roles and Responsibilities vary depending on the overarching Release Management Process. That is whether it is based on Enterprise Release Management (ERM) philosophies or more “Scaled” Agile Release Management Philosophies. Lets overview both:
ERM / Classical Definition of Roles & Responsibilities
The key ERM roles and main responsibilities at the release level are:
- The Release Manager: The main objective of an Enterprise Release Manager (ERM) is to safeguard and manage the passage of releases through the build, test, and production environments. They are guardians of the Release Management Process and the Release Plan. The ERM ensures that there is a proper structure in place to enable the business to expand successfully. Note: In large organizations, the Release Manager may offload certain release management tasks to a Release Coordinator.
- The Project Manager: In the broadest sense, “Project Managers” (PMs) are responsible for planning, organizing, and directing the completion of specific projects for an organization. In the case of ERM, they are responsible for ensuring the project is aligned on time & delivers to Milestones & Gates.
- The Project Team: The “Project Team” is in charge of delivering and maintaining the work produced.
- Implementation Manager: The Implementation Manager is responsible for defining the activities/steps for a successful Production Day implementation & change.
- Deployment Engineers: A “Software Deployment Engineer” is responsible for the deployment of software releases into production. They work with the Release Manager to ensure that deployments/releases are properly planned, tested, and executed.
SAFe / Release Train Definition of Roles & Responsibilities
The key SAFe roles and main responsibilities at the release level are:
- The Product Manager: The “Product Manager” is in charge of feature prioritization and ensuring that they are well-described and understood.
- The Release Train Engineer: The “Release Train Engineer” is in charge of ensuring that the agile release train (the team of agile teams) works together effectively and follows the procedures. Note: In SAFe, one could fairly say they are the guardians of the Release Management Process.
- The System Architect: The “System Architect” is in charge of establishing and communicating the architectural vision across the agile release train, ensuring that the finished product is appropriate.
- The Product Owner: The “Product Owner” is in charge of prioritizing stories and ensuring that they are well-described and understood.
- The Scrum Master: The “Scrum Master” is in charge of ensuring that the team performs well and follows the process.
- The Agile Team: The “Agile Team” is in charge of delivering and maintaining the work produced.
What are the benefits of Release Management?
Effective Release management is a critical part of any software development project. By following a formalized release management process, and controlling release activities (and other IT operations), you can ensure that your software is released on time, with fewer defects, and that it meets the needs of your users.
Here are some other key benefits:
1. Strategy & Work Alignment
Release Management enables connecting the organization’s top-level objectives with the people responsible for achieving them. This alignment helps to create numerous effects like boosting cross-team coordination, fostering transparency, enabling faster response times, agile development, and many more.
2. Improved Capacity Management
Release Management provides us with greater visualization across the contributing teams, systems, and flexibility to rebalance regularly. Thus minimizing the disturbance to organizational flow.
3. Holistic Planning
Successful releases require different people from different teams and departments to work together i.e., row in the same direction. The function of Release Management supports this through regular planning events which bring cross-functional teams together and builds plans that highlight potential dependencies, deliver against corporate goals, and identify the risks.
4. Enterprise-wide visibility
Visibility doesn’t only come from planning. Release Management enables transparency across the organization by connecting and visualizing the work of every team or team member.
Via Release Management, Leaders and managers get the balcony view of potential roadblocks and make better choices to allocate the work appropriately. Release Management allows us to visualize overall release progress, team progress, work item progress & gather insights to enable better decision making & adaptation.
5. Better Collaboration
“Effective” Release Management is deeply rooted in trust at the team and individual levels. Team members, working as a community, are empowered to make choices about how their work is delivered and how it will deliver to our high-level business goals. Employees who are more engaged and satisfied with their work are more likely to stay longer, be productive, and provide a better user experience for the end clients.
Change Management vs. Release Management
Change Management
Change Management is focused on controlling and managing changes to the IT environment in a structured manner to minimize disruption to services and mitigate risks. It encompasses processes for requesting, assessing, authorizing, and implementing changes, ensuring that changes are planned, evaluated, and documented effectively. Change Management aims to strike a balance between enabling necessary changes to support business objectives and maintaining the stability and integrity of the IT infrastructure.
Release Management
Release Management, on the other hand, specifically addresses the planning, coordination, and deployment of software releases into production environments. While Change Management deals with changes at a broader level, Release Management focuses specifically on software releases, ensuring that changes are packaged, tested, and deployed in a controlled and systematic manner. It encompasses activities such as release planning, version control, deployment coordination, and post-release evaluation.
What are the Primary Artifacts of Release Management?
The release management process involves a broad spectrum of activities, and as such the underlying artifacts are broad also. Here we provide the main ones:
- Release Policy i.e. overarching governance/protocol through release management policies.
- Established Release Management Process i.e. the underlying release process to deliver a successful release.
- Release Procedures – The detail on how the above Release Management Processes can be delivered. That is detailed guidance & template on the Release Process.
- The ERM Goal / ART Value Stream
- Release Master Plan / ART PI Plan
- Release Milestones / PI Sprint Milestones
- Deployment Plan or Implementation Plan
- Deployment Run Sheets or Standard Operating Procedures (SOPs)
- Deployment Automation
- Release Unit (one or more Release Packages)
- The Package & Version
What are the most important Release Management Metrics?
Metrics are agreed-upon measures used to evaluate how well the organization’s processes are contributing to the business and technical objectives.
From a Software Release Management Process Perspective, we should consider the following Big Picture (Business) & Granular (Technical) Release Management Process areas:
Outcomes: Do our solutions fulfill the requirements of our clients and the company?
Flow: How effectively does the company supply value to its clients?
Competency: What degree of expertise does the company have in the skills that enable business agility? Not just specific to the Release managers but the broader community involved in the software development & release process.
Cadence: Release Cycle Time. How many releases are we delivering and how many features?
Solution Quality: Number of Defects reaching production. And a great indication of the release processes Software Development & User Acceptance Testing capability.
Deployment Quality: Deployment Success Rate. Are we seeing a successful release process?
Disruption: Amount of production environment downtime during deployments
Mean Time to Recovery: Mean Time to Recovery (MTR) is a measure of how long it takes, on average, to restore service after an incident occurs. This metric is important because it can help you determine your organization’s resilience and understand the impact of potential outages.
What Release Management System / Tools should I use?
Many tools could be classified as Release focused. Some of these release systems focus on Release Planning strategy, others the deployment management operations, and some in between. So sometimes the answer might be many tools.
However, Simply put, an Enterprise Release Management or Software Release Management System is an application that helps automate and manage the release management process and It typically includes features such as:
- Release Scoping
- Release Planning (or PI Planning)
- Release Tracking (or PI Tracking)
- Release Reporting and dashboards
- Change Management Process
- Test Environment Management (managing the Release Tracks)
- Version Control
- Build Automation
- Deployment Orchestration
- Deployment Version Tracking
And ideally, that tool will be clever enough to give the different divisions/teams, and software developers, the flexibility to choose the correct “Release Methodology” and or “Release Processes” for their needs.
Note: One overarching solution would be our Enov8 Release Manager. An Enterprise Release and Deployment Management platform that drives you to successful release management. Providing a full view of your release management lifecycle. Capabilities include Agile Release Train Scoping, PI/Release Planning, Team/Project Onboarding, Master Scheduling, Project Management, Service Management, Team-Project & Work Item Tracking, Environment & System Contention Management, Implementation Planning, Post Implementation Reviews, and Event Deployment Tracking.
In Summary
The release management definition on Wikipedia summarises it nicely: Software 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.
Release Management is a critical process in any software organization. The goal of Software Release Management is to ensure that the software products released into production are high quality and meet the needs of the customer. And additionally, future releases improve continually. To achieve this, Release Management relies on close collaboration between all members of the development team, IT services teams, and regular communication with stakeholders. By using Release Management Software and techniques, organizations can improve the quality of their software products and the efficiency of their development process.
Innovate with Enov8 Enterprise Release Manager – The holistic Software Release and Deployment Management platform. Fully integrated with Enov8 Environment Manager, the solution to manage your Test & Production Environment.
Other Reading
Enjoy what you read? Here are a few more articles that you might find interesting.
Enov8 Blog: The Agile Release Train Explained
Enov8 Blog: What is Release Management in ITIL – A Guide and Best Practice
Enov8 Blog: Release – The Benefits of Deployment Planning
Enov8 Blog: The Hierarchy of SAFe Explained
Relevant Articles
Why is Technology Risk Management Important?
Effective TRM is crucial for businesses of all sizes, as it helps safeguard key assets, maintain compliance with industry regulations, and protect against financial losses. With the increasing frequency of cyberattacks and the rapid evolution of digital technologies,...
What is Data Leakage? A Definition and Tips to Prevent
The benefits of using cloud environments to store and access data over the Internet has been highly beneficial for many businesses. Cloud environments help both start-ups and enterprises scale up conveniently. However, as with other major advancements, the convenience...
What is Smoke Testing? A Detailed Explanation
In the realm of software development, ensuring the reliability and functionality of applications is of paramount importance. Central to this process is software testing, which helps identify bugs, glitches, and other issues that could mar the user experience. A...
Test Environments: What They Are and Why You Need Them
Software development is a complex process that requires meticulous attention to detail to ensure that the final product is reliable and of high quality. One of the most critical aspects of this process is testing, and having a dedicated test environment is essential...
What is a Steering Committee? A Helpful Overview
Are you a Product Owner or Technologist looking to understand the role of a steering committee and how it can benefit your organization? This article provides a technologist’s view on what a steering committee is and how it can be used to help guide decision–making....
What is Data Tokenization in Data Security?
In today’s digital age, data security and privacy are crucial concerns for individuals and organizations alike. With the ever-increasing amount of sensitive information being collected and stored, it’s more important than ever to protect this data from...