The primary role of a release manager is to focus on the details of bringing together the various interdependent products to satisfy a complex or solution based release. This role focuses on coordinating the requirements, testing, and release schedules of other products so that they are available to work with any specific product that comprise that release. The release manager will participate on any change control boards (CCB) of the waterfall type projects and in sprint planning or scrum of scrums on agile type projects in order to be aware of what changes are occurring across the release (and projects therein). This role may also communicate any challenges or impacts to external products in relation to managing the internal dependencies. In general, this role focuses more on the details of the broad release and should participate in or lead any release related meetings.
The key is to the release manager role is to identify all items that need to be coordinated, managed, scheduled, and planned across a release. The responsibilities may include (but not limited to):
- Ensuring requirements are clear across dependent project streams with a release
- Ensuring requirements that impact other projects (internal and external) are submitted to the other products’ requirements lists or backlogs
- Tracking changes to requirements and communicate impacts to externally dependent product releases
- Ensuring the tasks associated with parallel and external deliverables are included in the project plan (build time, run time, merging, etc.)
- Ensuring items released in a parallel branch are merged and tested into this release as appropriate
- Ensuring technical guides and training are developed for the external functionality that must work together for this release
- Managing the deployment of the deliverables to the test environment specifically ensuring that the external dependent items are available at test runtime
- Managing the deployment of deliverables into production (e.g., ensuring all internal and external pieces are collected for distribution and the distribution occurs to the correct group of potential users and targeted locations)
- Validating the release notes
- Validating the release is operating as expected
Some of these tasks can be played by other roles (e.g., project manager or product manager), but it is with the hat of a release manager.
The good news is that there are aspects of release management already being handled today by other roles. What can make this more effective in the future is to implement a release management strategy for the more complex or solution-based releases within your company that have co-dependencies to other products whether internal or external. This should include introducing the notions of release management as a super discipline that provides context to the other engineering disciplines. It acts as a mechanism for coordinating co-dependent pieces from across various products that must come together to work as an integrated release or solution package and as a planning and communication method to ensure future dependent product timelines come together to meet the needs of the release schedule. Finally, it is recommended to define the specific roles within this space so the responsibilities of wrangling a release are clear and no important responsibilities are forgotten. This will promote more effective release management within your organization that better ensures your multiple products and solutions work more effectively together.
1) "Release Management, Super Discipline", by Mario Moreira, CM Crossroads, September 2008
2) "CM Roles, Responsibilities, Skills, and Job Descriptions", by Mario Moreira, CM Crossroads, December 2005