What is Release Management (an ERM & SAFe Perspective)
by Jane Temov
Release Management, from an enterprise software definition, is the process Release Managers use for planning, executing, and monitoring a software release. It involves coordinating developers, testers, operations staff, and end-users to ensure that a release meets its business objectives.
It is a key overarching disciple supporting one’s software development process and IT operations.
Note: According to the Information Technology Infrastructure Library (ITIL), Release Management is closely related to Project Management & the Change Management Process.
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.
Release Management Plays
In the modern world, two Release Management Plays dominate:
- Classical, Enterprise Release Management (ERM)
- 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:
- Identifying the Value Stream(s)
That is determining the organizational goal.
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.
Determining the scope of work to meet these objectives/goals.
- Project or Team Onboarding
Mapping/Defining which teams will deliver the work items.
Release management planning is determining what should be delivered and when.
Typically broken into Quarterly Program Increments & Fortnightly Sprints.
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 deploy, 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.
And by its very nature, Release Management is often a difficult balancing act.
The Release Balancing Act
Weighing up natural contention like:
- Keeping the Customer Happy
- Prioritizing the Business need
- Working with varying team maturity & delivery levels
- Cross release /team demand for Test Environment Instances
- Cross release demand for SMEs
- Improving delivery cadence &
- Not compromising product quality.
Either way, the release process can be hazardous, and it is advised that teams and businesses invest time in enhancing their release procedure through active management and continuous retrospection.
What is the Release Management Workflow?
As mentioned above,
The overall approach for Release management falls into two camps:
That is, the:
- Classical, Enterprise Release Management (ERM), camp
- More Iterative, Scaled Agile Framework (SAFe), camp
Both have a great number of similarities, but differences, so let us define both:
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
- 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).
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.
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.
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
- 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), a 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 benefit 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 a Roadmap.
Plan the Program Increments (PI)
- 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 form 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
- 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.
What are the Primary Artifacts of Release Management?
[Image Ancient Artifacts]
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.
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.
30JANUARY, 2023 by Jane TemovTest Environment Management (TEM) is an essential process for ensuring the stability and consistency of the testing environment. It includes activities such as setting up the environment, monitoring and controlling the environment, and...
15DECEMBER, 2022 by Jane TemovDeployment planning is the process of creating a plan for the successful deployment of a new software or system. It involves identifying the resources, tasks, and timeline needed to ensure that the deployment is successful. Deployment...
12DECEMBER, 2022 by Jane TemovWhy CICD & TEM Goes Hand-in-Hand Continuous Integration/Continuous Delivery (CICD) and Test Environment Management are two essential components of a successful software development process. CICD enables teams to deploy new code...
08DECEMBER, 2022 by Enov8Enov8 is happy to announce the latest “evaluation”* edition is ready for consumption. *A complete Release & Environment Management product with a full license for 3 months. Our Release & Environment Management solution is designed to...
04DEC, 2022 by Jane TemovIf your organization is starting an agile transformation, you might be looking at it as an opportunity. Or perhaps you’re looking at it with some healthy skepticism. Either is understandable—or even both at the same time. The opportunity...
02NOVEMBER, 2022 by Sylvia Froncza Original March 11 2019An IT and Test Environment Perspective Traditionally, test environments have been difficult to manage. For one, data exists in unpredictable or unknown states. Additionally, various applications and services...