Release Management is the process that handles software deployments and change initiatives. Across an organization, it schedules the relevant tasks (internal and external), assigns the physical and human resources needed to carry them out, and oversees the execution. It starts with planning what will be contained within a release, managing the software build through different stages and environments, testing stability and finally, deployment. It is a difficult balancing act between:
- Delivering value and novel features to customers
- Prioritizing value streams according to business needs
- Improving the speed and quality of release deployments
- Not compromising product stability.
The Objectives and Benefits of Release Management
Done effectively, release management increases the number of successful releases by an organization and reduces quality problems. Productivity, communication, and coordination are improved, and the organization can deliver software faster while decreasing risk.
These improvements mean the team can repeatedly produce quality software with shorter times to market, which allows the company to be more responsive to the operating environment.
Release management also helps standardize and streamline the development and operations process. The team implements auditable release controls, thus creating a repository for all releases throughout the life cycle. Having a single, well-documented process that must be followed for all releases increases organizational maturity. Increased standardization and the focus on product allow teams to draw more useful lessons from experience and apply them in future releases.
Operations departments appreciate the increased coordination with developers because there are fewer surprises. They can now avoid feeling that a release has simply been “thrown over the wall” from development, leaving operations to fight fires and “patch and pray” because of short deadlines. There’s also more of an opportunity to resolve configuration issues between the development and operating environments.
In short, release management breaks down team barriers across multiple functions in an IT organization. As a result, you can improve product delivery holistically.
Release Management Success Indicators
For a release to be deemed successful, it must attain the following objectives:
- It’s deployed on time.
- It’s deployed within budget.
- It has little to no impact on current users.
- It satisfies the needs of current and new users, technological advances and/or competitive demands.
Building a Release Management Plan
For a company that regularly updates its products and pushes those updates to the customer, release management is ongoing. A product manager will always be engaged in some aspects of release management.
- Coordinate early and often with your cross-functional team: It includes the departments discussed above—development, sales, marketing, support—and any other teams involved in your product’s development. The more these teams understand your strategic and tactical plans for the product’s release, the more effective they can be helping you achieve a successful launch.
- Create checklists for the steps in your release plan: With all of the tasks involved in a successful release management plan, it can be easy to forget some. Have you ensured all of the content in the app reflects the latest messaging for the version you’re about to release? Does marketing have all of its creative assets in place to launch its campaign on release day? Has your support team completed its training on the product before launch? The easiest way to make sure you don’t leave tasks undone is to create a checklist and refer to it frequently.
- Build and share a strategic product roadmap: Develop a roadmap that communicates yourcompany’s strategic plans and goals for the product. Then make sure all of the teams who will contribute to the product’s success in the market have access to that roadmap. You will want your marketing team, for example, to understand why you’ve strategically prioritized certain product functionality. It will help them create more compelling messaging to articulate the benefits of those key features.
The Release Management Process
It is important that each project team wishing to introduce changes to the production environment are aligned with each other and are aware of each other’s changes and resource usages. They must follow the same process, policies and guidelines for planning, building, testing and deploying a release. ITIL breaks release management down into six sub-processes that enable release management to be performed effectively, efficiently and safely to facilitate the flow of changes into the operations environment.
- Release management support: provides guidelines and support for the deployment of releases including the roles that are involved in other parts of the release and deployment management process
- Release planning: defines the scope and content of releases according to release management policies, assigns authorized changes into release packages and defines a schedule for building, testing and deploying the release
- Release build: deals with the actual development of all required release components including the issuance of all necessary work orders and purchase orders for components sourced from vendors and ensuring that all release components are ready for validation and testing
- Release deployment: manages the deployment of release components into the live production environment and the transition of documentation and training to end-users and operating staff.
- Early-life (post-release) support: the initial period after the deployment of a new release when the release and deployment management team work with the incident management team to resolve operational issues and remove errors and deficiencies caused by the release.
- Release closure: formally closing release activities, verifying all documents and records are properly updated and reporting release outcomes and feedback to project teams.
Release Management Relationships with other Programs
Relationship with Continuous Delivery, DevOps, and Agile software development
Organizations that have adopted agile software development are seeing much higher quantities of releases. With the increasing popularity of agile development a new approach to software releases known as Continuous delivery is starting to influence how software transitions from development to a release. One goal of Continuous Delivery and DevOps is to release more reliable applications faster and more frequently. The movement of the application from a “build” through different environments to production as a “release” is part of the Continuous Delivery pipeline. Release managers are beginning to utilize tools such as application release automation and continuous integration tools to help advance the process of Continuous Delivery and incorporate a culture of DevOps by automating a task so that it can be done more quickly, reliably, and is repeatable. More software releases have led to increased reliance on release management and automation tools to execute these complex application release processes.
Relationship with Enterprise Release Management
While Release Management focuses on the transitions from development to testing and release for a single project or a collection of related projects, Enterprise Release Management (ERM) is focused on the coordination of individual releases within a larger organization. An organization with multiple application development groups may require a highly orchestrated series of releases over multiple months or years to implement a large-scale system. ERM involves the coordinated effort of multiple release managers to synchronize releases in the context of an IT portfolio.
Relationship with ITIL/ITSM
In organizations that manage IT operations using the IT Service Management paradigm, specifically the ITIL framework, release management will be guided by ITIL concepts and principles. There are several formal ITIL Processes that are related to release management, primarily the Release and Deployment Management process, which "aims to plan, schedule and control the movement of releases to test and live environments.", and the Change Management process. In ITIL organizations, releases tend to be less frequent than in an agile development environment. Release processes are managed by IT operations teams using IT Service Management ticketing systems, with less focus on automation of release processes.
- ↑ Definition - What is Release Management? Plutora
- ↑ The Objectives and Benefits of Release Management Smartsheet
- ↑ What are Release Management Success Indicators? Microfocus
- ↑ Three Ways Product Manager Can Build a Release Management Plan Product Plan
- ↑ The Release Management Process Fresh Service
- ↑ Release Management Relationships with other Programs Wikipedia