Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Release management in the age of CD: Are you ready for the responsibility?

public://webform/writeforus/profile-pictures/lihi_0.jpg
Lihi Elazar Head of Program Managers Office, Micro Focus
 

Release management has always involved managing, planning, scheduling, and controlling software delivery throughout the release lifecycle using the right techniques. In the new era of continuous delivery (CD), organizations have become increasingly lean and agile while managing this process. What do these new demands mean for those responsible for today's enterprise-wide releases?

With today’s IT organizations moving toward DevOps and CD, is there a place for release managers? The concept of patch releases is practically a thing of the past. Changes get applied automatically, which necessarily means the role of the release manager has changed.

Here's how the role of modern release managers is evolving, and how you can not only support but also lead your organization through its DevOps transformation.

 

Change factors brought by CD

In the past, release cycles in most organizations, including my own—from research and planning to the general availability of a service—took several months and were infrequent. A typical release cycle looked something like this:

From the release management perspective, everything was clear. There was a dedicated time for planning (usually not in parallel to the previous release), and there was a long stabilization period with a sufficient buffer window.

But in the new CD era, we deploy code to production when it reaches a definition of done, or on a constant cadence. Waste is dramatically reduced, and there is no pure planning time and no pure stabilization time. This is all done as part of the current release development phase.

Another change factor we’ve experienced in my organization is the frequency and the number of releases.

To manage this, we practice Scaled Agile Framework (SAFe) practices, which include a collection of methods and rules to facilitate agile at an enterprise scale. SAFe uses the concept of a Program Increment (PI), which is a set of two-week iterations spanning eight to twelve weeks. In the diagram below, you can see an example of our PI planning and release lifecycle today.

 

A final change factor is that the release lifecycle does not end with the product’s release but encompasses operating and monitoring in production. This means incorporating all user feedback, incidents, monitoring reports, usage statistics, and so on into the planning phase of the next release—an endless cycle that significantly impacts the release manager’s role today.

The role of the modern release manager

In the past, most of the release manager’s work was concentrated on the planning, development, and testing phases. Today’s release manager activities are heavily focused on the operations side—for example, building an automated pipeline and process to ensure that the code will be safely propagated to production. Whereas previously the primary release manager interfaces were development and QA, today’s release manager has many more interfaces to deal with, including operations, customer success, support, sales, product management, and marketing.

Automation also plays a key role for us. In the past the release manager was dependent on reports from the QA manager to understand release quality, while today’s role is primarily dependent upon the results of test automation suites. The release manager has to define the quality gates from development to production, the quality thresholds, and the gradual exposure path, and the release manager has to drill into which tests are running in each automation layer in order to make sure the result can be trusted.

And finally, the decision to release (or not) a software version was previously made by various stakeholders who provided their inputs. But today’s fast release cycles make that collective agreement a thing of the past. The release manager has to build processes, methods, tools, and reports that enable and empower them to make these decisions on their own.

The new skills of the release manager

A release manager today should also have advanced technical knowledge, including an understanding of continuous integration and continuous delivery (CI/CD) pipelines, feature toggling, gradual exposure, branch handling, etc.

Release managers should be able to define and implement the right methodologies and practices. Release and test environment information often exists in disparate silos, and process automation tools for linking these silos are critical to the release manager’s role today. Continuous integration tools such as Jenkins can help release managers achieve efficient and fast delivery and accelerate time to value and even revenue.

Along with the new role of the release manager comes a new required skill set. The move to CD requires a significant change in culture, team structure, roles and responsibilities, tools, and processes. Release managers must have the personal skills to drive such change.

How today's release manager is measured

The essential metric for the release manager's performance is consistent, on-time deliver of quality releases. Time is more critical than ever, and the release manager needs to create the infrastructure that enables frequent releases of the product in a constant cadence and with high quality.

The release manager’s role is not over when he or she delivers the bits. Release managers must also 

  • Ensure high service availability
  • Be able to deliver critical fixes within hours
  • Analyze usage/customer feedback and take it back to the development team

Release managers need to understand business complexity

How and by whom releases are deployed into your production environment is a key decision that must be defined as part of your deployment and release management process. A release manager should understand complex business requirements and ultimately be the final authority and decision-maker on important release-related issues.

The role of release managers has evolved and changed in the era of CD. You must be agile and able to perform a variety of functions, and at the same time foster a more collaborative approach and culture regarding software development practice.You should ensure that the various component projects of a particular software release meet customer needs and are brought together and released on time with high quality. Ultimately, the releases should always reflect the best organizational choices surrounding scope, costs, and time.

 

Image credit: Flickr

Read more articles about: App Dev & TestingDevOps