Digital transformation demands that teams and organizations deliver software-driven value faster to their customers without compromising quality, security or compliance. This means more releases. But releases can be chaotic and dangerous without active, conscious management. As release frequency increases, the objectives of release management become even more important. The objectives may include:
- Make all release activities visible
- Coordinate releases across multiple teams thereby managing dependencies
- Schedule releases and shared environment bookings appropriately
- Standardize and optimize release processes
- Socialize and embed shared understanding of release policies and processes
- Effectively manage exceptions
- Automate and accelerate components of the release process
Reaching these release management objectives means that teams achieve the following benefits:
- Elimination of failures due to unseen dependencies
- Reduction of risk associated with release activities
- Accelerated time to release
- Higher volume of releases
- Increased value delivered to customers resulting in higher customer engagement
- Higher organizational performance
Release management presents a tremendous opportunity to drive continuous improvement in software delivery throughout an enterprise. New tools capture and integrate more data, providing the opportunity for greater visibility and traceability throughout the release process. This elevates the effectiveness and efficiency of release planning and review processes.
Release Management at the enterprise scale
Placing the release at the center of the enterprise cadence aligns business priorities with IT operations. It balances the complexities of managing large scale enterprises with the ever-present need for change and growth. Unlike other metrics or organizational components, the enterprise release is unique in that both IT and business sides have shared interests in ensuring a release is successful.
Enterprise release management should focus on the solution delivery to customers, which can be termed the release life cycle. This framing offers several benefits, including improved management visibility, control of governance, comprehensive reporting and the ability to navigate change.
Standardizing a release plan across an enterprise is a tremendous opportunity to enforce governance. It allows enterprises to enact governance policies across releases consistently. This, along with activity traceability, will allow enterprises to ensure complete governance compliance.
Management disciplines can easily become siloed and limited to specific phases of the SDLC. For example, governance and oversight participate in the strategic phase but not in the tactical or operational phase. In contrast, a release-centric focus brings together each area of the enterprise to achieve the same strategic outcome, acting as a unifying framework for all departments.
When an enterprise transitions to a release-centric process, release plans are standardized and audited by release managers. This extends governance and oversight throughout the tactical and operational phases. Without the unifying goal and shared accountability of a successful release that optimizes value, other departments can also quickly silo themselves into their minimal responsibilities.
Maintaining business and IT alignment
Release management in a small company aligns business and IT needs across a single release. In an enterprise setting, release management must align business and IT across multiple interconnected value streams (which each may contain one or more releases) throughout the organization.
The figure below demonstrates how release management needs to queue the planned business needs so they can be executed by IT. This is a complex negotiation of feature prioritization, release scoping and scheduling, and interfacing between PMO teams, product teams, IT teams, and centers of excellence.
After planning, releases move to IT for development and delivery. The figure below shows multiple products (Pi) (each with one value stream) which combine to provide a complete customer journey (Ci). They are being worked on progressively throughout the development pipeline. While the steps in the development pipeline will depend on the specific SDLC and degree of automation, the overall framework holds.
This demonstrates the complexity of deploying releases at the enterprise scale. The more loosely coupled a value stream, the easier it is to deploy. Enterprises releases are almost always interconnected. This means that t1,4 may need to be deployed with d3,4, . The stages of development of the two value streams must be coordinated to keep efficiency high and minimize waste in the release process.
Balancing these interdependencies while optimizing the work of IT teams is incredibly complex, particularly when adding in governance requirements. While automation eases this workload, this alignment must be ensured when preparing releases and deployments. Even in federated DevOps teams someone – often the product owner – must take on release manager responsibilities.
Release risk management
In a large enterprise, release trains may consist of multiple value streams or a value stream can consist of multiple release trains. These value streams will have interdependencies that require activities to be coordinated so a release can be successful. As the number of software applications grows and delivery accelerates, the risks to releases and the enterprise overall increase. This includes the risks of:
Noncompliance. Not meeting regulations, security standards, or other governance requirements can expose an enterprise to security vulnerability, fines, loss of customer trust, and additional work to bring applications back into compliance.
Release Scheduling conflicts. Environments, interdependencies – even APIs in loosely coupled systems – can result in a release being held from deployment. This leads to wasted time, effort, and internal conflict.
Release Timing. Not delivering the right features at the right time is the most fundamental risk in release management. Releases that are not delivered on time can result in missed sales, a poor customer experience, and a backlog of work and inefficiencies in development teams.
All of these release management risks can be mitigated with the end-to-end visibility and control of value stream management platforms. They allow release managers and other stakeholders to see the application portfolio as a system, provide traceable data for compliance auditing, and analytics that alert users of scheduling and timing risks. This allows enterprises to manage risks with:
Consistent governance compliance. Using scalable and repeatable release templates across an enterprise portfolio ensures governance requirements are consistently followed. Further, traceable data of release activities allows for release audits that verify compliance.
System-wide scheduling. Looking at interdependencies holistically allows release managers, PMOs, and product managers to understand how to accurately plan releases at the enterprise level. It allows for the interdependencies, resource requirements, and timing of each release to become visible and the risks to a successful release known.
Scoping. Release managers need to constantly balance IT work and business needs. As business needs change or the estimated effort of features changes, releases become at risk of failure. Without managing the release, the release would either fail, be late, or not include the right features. Value stream management platforms allow release managers to easily increase or decrease the scope of a release to meet release timelines. Further with work being made visible, teams upstream and downstream are able to see the current release scope and timing to ensure that everyone is on the same page and the risk of release failure controlled.