You’re definitely not a happy bunny (and this is thankfully the polite way of expressing it). Why? Because poor releases, and the associated outages, are hurting the business, causing delays, and demoralizing the team (after all no one likes to fail or to look bad in the eyes of their colleagues).
The cause – people are still reliant on documents and spreadsheets to plan business-impacting releases. Through which, important information is being missed or lost and the knock-on effect is a high degree of release failure.
So, what can you do? It’s time for a release management reinvention, and the streamlining of the release planning process to reduce risk and raise quality. It’s time to read these 10 top tips for planning successful releases.
1. Formulate a corporate release strategy
It’s not just about the release management process, there also needs to be a corporate release strategy, with a clearly stated release cadence.
It’s also imperative to define what the corporate release management mission and goals are – and the sooner this is done the better. The release management goals can be metrics related to any of the following:
- The number of releases (major and minor)
- The number of successful releases
- The reduction in release-based downtime/outages
- The number of incidents attributed to releases.
- The number of late releases
- The number of failed releases
- The number of releases implemented but not tested.
2. Review your current release management process
It sounds blindingly obvious but sometimes simplicity is the key to better outcomes.
So, review the people, processes, and tools employed by the existing release management process. Are the people truly capable? Is there actually a clearly-defined and consistent process? And is there a toolset that supports everyone and everything involved in the process?
3. Create the optimal release management process
Building on the review of the current release management process, identify:
- Process inputs. Such as IT service management (ITSM) systems, portfolio and program management (PPM) systems, quality management systems (QMSs), configuration management systems (such as configuration management databases (CMDBs)), and deployment solutions.
- Key activities. For instance, release planning and coordination; the design, build, and configuration of releases; coordination of release acceptance; rollout planning; deployment-to-production coordination; and performance measurement.
- Process outputs. Such as incident, change, and service level management, and service monitoring.
4. Employ the right people
Your optimized release management process will require the right people, with the right knowledge, skills, and experience to fulfill the need for:
- Release managers
- Environment managers
- Test managers, and
- Implementation managers
There’ll also be a need for program and project managers, and development managers to manage developers and produce work packages for deployment.
5. Employ the right tools
Your organization will no doubt already have a variety of tools employed across development, test, and operations. But these might not be enough, and it could also require a fit-for-purpose release management tool to replace the reliance on emails and spreadsheets. With capabilities that include: a master release calendar, automated workflows, dashboards and reporting, and the ability to easily integrate with existing toolsets.
6. Optimize test environment operations
The release process requires test environments – with the appropriate hardware, storage, network connections, bandwidth, software licenses, user profiles, and access permissions – for release testing and validation.
To ensure that a test environment is available when needed, it’s essential for those involved in the release management process to understand schedules and dependencies, and to eliminate any contention or bottlenecks.
7. Define the controlling activities between stages
As releases pass through the key release process stages, it’s important to have integrated gates and milestones. Work packages can then be promoted through the various environments in a controlled manner.
8. Be transparent by engaging stakeholders
Be clear about, and communicate, what’s happening when. Lock in release windows and stick to them. Also deliver regular, structured releases to instill customer confidence.
Once release dates are approved, engage key business stakeholders to prioritize and align outstanding feature requests to future releases.
9. Communicate and keep communicating
Provide release progress information in a frictionless manner. This is often better via a pull rather than push mechanism, so provide a system of record such that involved parties can self-access the information they need when they need it.
10. Make your release metrics count
Measure release process health by monitoring the most important metrics. Tie these into what’s important to the business such that the metrics are a suitable gauge of success and opportunities for improvement.
Hopefully these 10 top tips will be helpful in improving your organization’s release management. What else would you add? Please share your thoughts in the comments section below.