Release Management
Release management refers to the process of planning, designing, scheduling, testing, deploying, and controlling software releases. It ensures that release teams efficiently deliver the applications and upgrades required by the business while maintaining the integrity of the existing production environment.
In the competitive, dynamic, and fluid world of business and IT, half-baked releases are the last thing you need. The modern enterprise is a truly dynamic environment; and not all these changes are happening at the same pace. IT organizations need a way to orchestrate these myriad changes. That’s where release control and deployment automation come in to play. They help ease the transition to continuous delivery; and work through the Digital Transformation one release at a time. This is the new normal of IT.
What is Release Management in ITIL?
Release and Deployment management is one of the main processes under the Service Transition section of the Information Technology Infrastructure Library (ITIL) framework. ITIL is the most widely adopted framework for the governance of technology products and services. It helps organizations deliver their products and services in a quality-driven, customer-centric and cost-conscious way.
Release the Management Process
The specific steps of release management will vary depending on the unique dynamics of each organization or application. Nevertheless, the following sequence is the most common.
Request
Release management starts with requests for new features or changes to existing functions. There’s no guarantee that all requests made will eventually translate into a new release. Each request is evaluated for its rationale, feasibility, and whether there’s a way to fulfill it by reconfiguring the application version already in production.
Plan
This is the most important step in a release’s evolution. It’s here that the release’s structure is defined. A robust plan ensures the release team stays on track and that requirements are satisfied. Create or reuse a workflow or checklist that can be referred to by stakeholders throughout the release process. The workflow should detail not just scope and milestones but responsibilities.
Design and Build
This is the programming phase where the requirements are converted to code. The release is designed and built into executable software.
Testing
Once the release is deemed ready for testing, it’s deployed to a test environment where it’s subjected to non-functional and functional testing (including user acceptance testing or UAT). If bugs are found, it’s sent back to developers for tweaking then subjected to testing again. This iterative process continues until the release is cleared for production deployment by both the development team and the product owner.
Deployment
The release is implemented in the live environment and made available to users. Deployment is more than just installing the release. It entails educating users on the changes and training them on how to operate the system in the context of the new features.
Post-Deployment
Post-deployment, the release moves to the support phase where any bugs are recorded that will eventually necessitate a request for changes. The cycle thus begins again.