Businesses are either on board with release management or questioning it. But with application development becoming a crucial aspect of more and more companies, more teams should be working to implement this sooner rather than later.
It can seem as though release management is unnecessary, with the operations team being responsible for production runs, and the development team in charge of building the applications. This is far from true, however, as continuous delivery cannot run smoothly without it, and businesses that don’t integrate this way of working will soon fall behind the industry leaders.
What does release management do, and who does it help?
Release management is designed to help focus attention on the bigger picture rather than getting lost in the minute details. It enables teams to see their software during the production and development process, as well as understand how it fits into the overall business goals. It’s more than just coordinating the manufacture of the latest software – it enables all of the resources, the features and the testing to be coordinated, and aids understanding of the lifecycle of the applications. Essentially, true release management is not just about risk, but also everything that is needed to coordinate both the software moving into production as well as all of the different teams to ensure that every release meets company standards. It also simplifies communication between stakeholders so that they understand how the products of each individual team work together in the production environment.
However, for release management to be adopted fully, the traditional structure of the business needs to be updated along with it. Product managers need to run the entire deployment process from start to finish with the end goal being to ship finished software. In doing so, they become the link between the business, the customer and the development team.
The challenge is that product managers are probably not already release management experts, so they can’t always fulfill this role alone. This is where the product-oriented team can bring the most value. Release management responsibilities are changing as DevOps adoption matures, so these are being transferred to the product-oriented team, although there will likely still be support from a release management group.
Is release management still relevant today?
It is not unusual for businesses to question the benefits of release management, but this lack of understanding often comes from those who don’t have release management in place yet, or that have been unable to make it work well for them. The answer is simple: release management helps teams to manage the consolidation of DevOps and distributed, microservice-based architectures – a difficult task for any team to handle unassisted.
Monolithic applications, independent from all other applications, are still very common in today’s digital world, and the trouble with them is that it means that there are dependencies. Dependencies will make life difficult for anyone trying to run autonomously, as these applications must be able to connect up with all of the others. Many teams will also still possess more stable systems of record, such as ERP (Enterprise Resource Planning) applications. Again, managing these presents more complications, especially when changes are being made, and if the cycle includes a hybrid environment. Failing to integrate an appropriate release management strategy to manage this complex landscape can lead to potentially severe disruptions to the everyday business processes.
How do autonomous teams benefit?
Automation is improving in leaps and bounds. While autonomous teams are as well, there are business areas such as security or accessibility that will never be completely autonomous, so the teams will still rely on additional support. This is where release managers can really make an impact. Since they have visibility of the whole process to see how every tool operates both as a stand-alone and in conjunction with others, they can easily identify where bottlenecks are cropping up so that they can be resolved.
Plus, release management accounts for every part that can’t be automated. For businesses to get the most out of this, they should either implement coaching for the product manager or introduce a part-time release manager to assist the product team.
However, there will be times when people are not available to help, and so there are also tools that can be adopted to make this process smoother, such as a “virtual release manager” tool. Something like this can cover all of the delivery teams – it’s a mix of release process orchestration and templatised and standardised releases that are fully approved by the release management team. The templates provide an example of how the release should look, just like a blueprint for each release – they create a foundation for developers to build on with the exact details of the required release.
Along with this, businesses should shift all requirements for governance, risk and compliance in the development and delivery to the left. They need to create non-functional requirements so that development performs all of the essential tasks during the development cycle, not after. Introducing accessibility reviews of the design, threat modelling, or architecture review, for example, early in the process can reduce risk later on, as any problems can be picked up and resolved.
Release management has not seen the end of its life – not even close. It might be tricky to implement effectively when the company culture is not used to this way of working, but the overall benefits of the visibility and support that are gained through the introduction of release management outweigh the challenges teams may experience in the early stages. By persisting with integrating this different way of working, DevOps teams will find themselves working more collaboratively with each other, and producing higher quality service to all customers in the long-term.
Written By Jeff Keyes, Director of Product Marketing at Plutora.