Even in today’s modern software environment, most releases are managed using (many) Microsoft Excel spreadsheets. Other tools include SharePoint (shared calendars and lists), in-person meetings, powerpoint decks. Organizations can also make use of application lifecycle management (ALM) and IT service management (ITSM) tools such as Jira and ServiceNow.
In most enterprises, the release management process uses a combination of several of these tools. This leaves organizations in the dark about too many aspects of a release for it to be an effective strategy: There’s no clear unified picture of risk profiles or dependencies, no release orchestration and no way to visualize how projects are moving through the development lifecycle. It should be clear that this isn’t the best way to manage releases, but what is?
The modern way – value stream management
The value stream – all the activities that generate value for a single application – is the fundamental unit of software development. Each application has exactly one.
Several release trains can be working on one value stream, a single release train may incorporate several value streams, or it can be 1:1. This depends on the complexity of the application and the interdependency of value streams.
Organizations face the challenge of reconciling the complexity of enterprise management with the relentless change the market demands. Focusing on the value stream rather than the release allows for business and IT alignment at the enterprise scale.
Value stream management zooms out to the bigger picture. As software delivery has come to focus on the value stream instead of the project or product, management methods should also expand to look at the value stream in its entirety. This can’t be done by roughly hammering together a hundred different applications.
Best of breed enterprise release management tools, such as Plutora, enable release managers to take an end-to-end view of their value streams. The entire value stream becomes visible, risk management becomes more transparent and release plans can be standardized.
What makes a good Release Management tool?
Release management best practices require dedicated tools that provide cross-functional collaboration, real-time status visibility and dependency information, all in one place. Release management tools should strip away complexity, help organizations manage risk and understand the entirety of their application suite—in a way that does not require manual updates, like a spreadsheet. Here’s a look at what functionality you need from a true release management tool.
- Make Release Train Visible: Release management tools need to make work visible for release managers as well as those who they interact with. DevOps teams, environment managers, executives and more need a full picture of a Release Train. When work is visible to all these constituents it is possible to effectively collaborate.
- Create and enact Release Plans: A release management tool needs allow a release manager to create and enact a release plan. The release management tool must allow the release manager to document the activities of a release, which team will carry out which activity, upstream and downstream dependencies, and how features will flow through the release pipeline.
- Strip out unnecessary complexity: A key goal for any release management tool is to manage and reduce organizational complexity. Especially at enterprise scale, release managers are expected to track hundreds or even thousands of applications, each with a separate schedule, team and development style. Your release management tool should strip away that complexity and give you a single dashboard to visualize everything that is happening across your entire application suite.
- Manage Risk: A release management tool needs to be able to assist a release manager with risk management. You must be able to see how applications depend on each other and on other resources like databases and persistent storage, so you can see in advance how changes in one place might impact other parts of your application. The release management tool needs to be able to communicate to the release manager how a delayed or changed release will impact other releases.
- Manage Environments: Release management tools should have the capability to book and manage environments. Release managers should be able to understand if there are scheduling concerns or security or compliance risks associated with the target environment that need to be addressed before the application is developed.
- Enforce governance: A release management tool needs to be the guardrails on the release management process. Tools should not allow the release train to move on to the next stage if governance requirements have not been met, tests have not been passed, or the right stakeholder has not signed off.
- Real-time, automatic updates : Your release management tool needs to work without extra effort from developers regardless of the development method. Release management done right is a way for small teams or individuals to zoom out and get the big picture of what is happening across the entire release pipeline —and this is only possible if information is updated in real-time, automatically, without depending on manual data entry at any stage.
- Track project history and compliance: True release management tool provides a history of project changes that ensures regulatory compliance. It should be possible to see exactly who has carried out every action and when that action happened.
- Integration with your software lifecycle management tools: Modern software development teams already rely on a series of tools to automate various stages of the application lifecycle, remove the risk of human error and speed up time-to-value. Release management tools should provide a way to connect all of the tools development and operations engineers are already using. These disparate tools are often poorly integrated with each other and don’t provide enough information to manage the entire lifecycle effectively.
The bottom line is that a release management tool should give you a way to zoom out on your entire release pipeline and get the big-picture view of bottlenecks, feature and activity status, potential application interactions and overall risk profiles. A spreadsheet will never be able to provide that type of information, or to update it in real-time.
Release management at enterprise scale is both complex and fast-paced. The right tools provide the organizational guardrails and visibility to make sure releases are as close to on-time as possible, with the lowest risk profile as possible.
Curious what the best-in-breed enterprise release management tool could do for your company? Schedule a demo today.