Benchmarking Release Management

29
March, 2018

by Niall Crawford

“It goes without saying, that the backbone of all organizations today is digital and independent of the end-products you provide”.

 

Digital the Backbone of Business /

It goes without saying, that the backbone of all organizations today is digital and independent of the end-products you provide, there is an inherent need to drive your features and solutions from conception (the initial idea) through to production (the end customer) as quickly, safely and efficiently as possible.

  • That is, every organization requires effective IT Release Management.

So, what is IT Release Management? Let us start with a definition (or two):

From Wikipedia:

Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases.

Enterprise release management is a multi-disciplinary IT governance framework for managing software delivery and software change across multiple departments in a large organization.

The former is what a DevOps engineer might gravitate to i.e. someone with the task of building and deploying code to their individual system or services.

And the latter something that might be handled by an Enterprise Release Manager (or Portfolio Manager), that is someone interested in coordinating a family of system/project releases using methods like SAFe (Scaled Agiile Framework) “Agile Release Trains” to maintain collective velocity, phase alignment, and a unified implementation.

A Visual Definition of Release Management

Alternatively, consider the following diagram.

Holistic Release Management is a combination of Vertical Practices responsible for supporting delivery through the system lifecycle (i.e. Analysis, Design, Development, Test, and Implementation), a set of Horizontal Practices responsible for driving transformation across the enterprise (or divisions).

Measuring Release Management

Independent of whether your perspective is vertical (system focused) and/or horizontal (enterprise focused), there is little argument in the importance of getting both activities completed correctly and having the various teams working together as effectively as possible.

However, agreeing on benchmarking may not be trivial as the two tasks, although obviously related, are quite different.  With the above in mind, we decided to put together two sets of release metrics that we thought would be useful in providing insight with respect to current release behaviour and capability.

  • The ten best metrics for Enterprise Release Management (ERM)
  • The ten best metrics for Release Management (aka System Deployment)

Note: Special thanks to some of our enov8 customers for sharing some of these.

Enterprise Release Management (ERM) Metrics

Whom: Typically, the responsibility of an IT Enterprise Release Manager the main goals are to ensure that a family of project releases (changes), which are often related and contain dependencies, can move through the software development lifecycle, from conception to production, in a controlled and aligned fashion.

Key data & trends, to be captured would be:

  1. Size of Enterprise Release by Projects (Project Releases Registered)
  2. Size of Enterprise Release by System Deployments
  3. Size of Enterprise Release by Features (or Stories)
  4. Project Releases Status (Success/Failure)
  5. Project Releases Delivered on Time
  6. Project Release Delay
  7. Number of Project De-Scoped*
  8. Number of Systems De-Scoped*
  9. Number of Features De-Scoped*
  10. Root Cause of Project Release Delay

*Note: In Enterprise release management, de-scoping is most typically caused by a project failing to meet its release gate obligations and being removed from the enterprise release as quickly as possible and thus avoid an impending “train crash’.

Release Management (System Deployment) Metrics

Whom – Typically, the responsibility of a DevOps “System Release” Engineer, the main goals are reliability and velocity i.e. the engineer wants to get the job done as safely and quickly as possible.

Key system deployment data & trends would be:

  1. System Deployment Frequency
  2. System Deployment Feature (Story) Size
  3. System Deployment Status (Success/Failure)
  4. System Deployment Time (ideally versus SLA)
  5. System Deployment Outage Time (outage time for deployment itself)
  6. System Post-Deployment Outage Time (outage caused by unsuccessful deployment)
  7. System Post-Deployment Incidents (Tickets) due to a deployment
  8. Mean Time to issue detection
  9. Root Cause of System Deployment Issue (Delay, Incident or Outage)
  10. Mean Time to remediation

Note: In the case of DevOps you would expect these metrics to be of use across the lifecycle. Therefore, the word ‘System’ could quite logically be replaced with ‘System Instance’, where you would have Instances in Integration, UAT, Staging & Production.

Food for thought

Hopefully, you found some of the above release metrics useful & maybe thought-provoking.

Ultimately metrics need to be aligned with your own operating model.

However, in closing we’d say this:

Good release metrics should always do the following:

  • Clarify release strategy i.e. direct good practice
  • Understand existing release capability i.e. strengths & weaknesses and
  • Drive release enhancement i.e. continuous improvement

What else would you add to the above “Release Management” Metrics?

Further Reading

  • Understand the association between Enterprise release management & DevOps:

Ref: ERM – The bridge between corporate strategy & DevOps

  • Releases need Environments, Non-Production Environment Metrics:

Ref: Test Environment Management Metrics

Learn More or Share Ideas about Release Management & Enterprise Release Management

If you’d like to learn more about Release Management or perhaps just share your own ideas then feel free to contact the enov8 team. Enov8 provides a complete platform for addressing organizations “DevOps at Scale” requirements. Providing advanced “out of the box” IT & Test Environment ManagementRelease Management and Holistic Data Management capabilities.

Our Key solutions include

 

 

 

 

 

 

Niall Crawford

Niall is the Co-Founder and CIO of Enov8. He has 25 years of experience working across the IT industry from Software Engineering, Architecture, IT & Test Environment Management and Executive Leadership. Niall has worked with, and advised, many global organisations covering verticals like Banking, Defence, Telecom and Information Technology Services.

Relevant Articles

What is Enterprise IT Intelligence?

What is Enterprise IT Intelligence?

We have all heard of the term Business Intelligence (BI), coined in 1865 (in the "Cyclopaedia of Commercial and Business Anecdotes") and described more recently by Gartner as “an umbrella term that includes the applications, infrastructure and tools, and best...

Database Virtualization and Ephemeral Test Environments

Database Virtualization and Ephemeral Test Environments

Introduction: Why This Matters Across every industry, enterprises are being asked to do more with less. Deliver digital services faster. Reduce costs. Strengthen compliance. And achieve all of this without compromising resilience. Yet despite significant investment in...

IT Environments: What Are They and Which Do You Need?

IT Environments: What Are They and Which Do You Need?

The IT landscape is rapidly changing, with companies becoming increasingly distributed, cloud-driven, and agile. In order to minimize complexity and ensure operational efficiency, it’s critical to maintain full visibility and control over all your IT environments....

Self-Healing Applications: A Definition and Guide

Self-Healing Applications: A Definition and Guide

Traditionally, test environments have been difficult to manage. For one, data exists in unpredictable or unknown states. Additionally, various applications and services contain unknown versions or test code that may skew testing results. And then to top it all off,...

What is Enterprise Architecture Management (EAM)? A Guide

What is Enterprise Architecture Management (EAM)? A Guide

Organizations operate in an increasingly complex digital environment. Business leaders want to move quickly, innovate, and meet customer expectations, while IT leaders need to maintain stability, security, and scalability. This kind of organizational friction can be...

What Makes a Good Test Environment Manager?

What Makes a Good Test Environment Manager?

Companies, especially these days, are releasing applications at a breakneck pace. With the complexity of software delivery life cycles, large organizations now need to have hundreds or even thousands of test environments to keep up with the number of applications they...