The Ultimate Step-by-Step Guide to Planning Successful Releases
Mar 16, 2017
You are unhappy.
Crappy releases and outages are causing delays and making you and your team look bad.
Problem: you are relying on documents and spreadsheets to plan releases. Needless to say, critical details are falling through the cracks as a result and adversely affecting your releases.
You need to streamline your planning process to reduce risk and increase quality.
Your 10-step guide to planning successful releases
1. Review your existing release management process
Start by reviewing the personnel, processes, and tools within your current release management process. A successful release management function is characterized by capable people, a clearly defined and regular process, and a toolset that supports all participants in the process.
2. Establish an enterprise release strategy
It is equally important to establish an enterprise release strategy that clearly articulates regular release cycles. It is critical to define very early on what your release management mission and goals are. You can do this by using de-facto policies, or by taking a more formal approach.
Goals may be metrics that are centered on one or more of the following:
Number of successful releases.
Decrease in release-based downtime and outages.
Measurement and growth of the top line by a specified percentage.
Number of releases that were late in being implemented.
Volume of major and minor releases.
Number of incidents caused by releases.
Number of failed releases.
Number of releases that were implemented but not tested.
Best and worst times to implement by release type.
3. Define the optimal release management process
First, identify the release management process inputs such as portfolio and program management systems, service management systems, quality management systems, configuration management systems, and deployment solutions.
Second, identify key activities such as release planning, coordination, design and build and configuration of releases, coordination of release acceptance, rollout planning, coordination of deployment to production, and measurement of performance against key metrics.
Third, identify release management outputs like incident management, change management, service level management, and service monitoring.
4. Invest in the right people
Release manager, environment managers, test managers, and implementation managers play key roles in a successful release management process. In addition to them, program and project managers manage the broad set of workflows and activities to deliver key milestones. Dev managers manage developers and produce work packages for deployment.
The skills required across these roles include leadership, organization and planning, technical depth, project management, communication, and collaboration.
5. Use the right tools
You are probably using a variety of tools across dev, test, and ops. In addition to these, you require a robust release management tool that would help with stakeholder management, communication, master release calendar, automated workflow capabilities, dashboards with reports, and the ability to integrate with your existing toolset.
6. Optimize test environment usage
All stages in the release process require IT environments to be set up for test execution and validation. The release infrastructure covers the hardware, storage, network connections, bandwidth, software licenses, user profiles, and access permissions. It is critical to understand dependencies and resolve contention to eliminate any environment bottlenecks.
7. Determine stages and controlling activities
As releases move through their key phases, integrated gates and milestones, at a physical level work packages are being promoted through various environments for different forms of testing and validation. Therefore, a transparent baseline of the environments, as well as a clear understanding of the composition of work packages, prevents significant rework.
8. Ensure transparency with stakeholder engagement
Lock in release windows and encourage your team to work towards not only the final release but also intermediate targets such as completion of integrated testing. Once the release dates are defined and approved, engage stakeholders to prioritize outstanding feature requests and allocate them to future releases. Regular, structured releases instil delivery confidence in customers.
9. Enable continuous communication
Where possible, ensure that information related to the progress of the release is available in a frictionless manner. In other words, all parties should have a system of record to access the information they need in real time.
10. Track metrics
Consistently monitor end-to-end release health by tracking important metrics. It's essential that your team understands the business value of your release management function to motivate them to meet and exceed expectations.
If you want to meet your commitments to the business, you need to improve testing predictability and forecast accuracy. From status quo review to the measurement of metrics, the ten steps outlined in the guide above will help you implement watertight releases and achieve your goals.
The best option, however, is a planning tool like Plutora that enables you to document and verify deployment plans, staging and rollout - to help you minimize your risk and maximize your ROI.