In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.
Development teams work through iterations until the feature set and quality of a product is sufficient for release. Too many organizations, however, define release management as starting from this point. There are two key requirements easily ignored with this approach: release management has to start prior to development and the tools and processes available for release management are equally applicable and important for everyone on the product team, not just for the release team.
It doesn't really matter if you're using a traditional or agile methodology. Release management must start at the beginning of your release cycle, not at the end of the development cycle. Proper release management will benefit the entire team through the entire lifecycle.
Managing a Release
When taking a look at some of the issues that need to be dealt with as part of release management, it becomes clear that release management is an end-to-end lifecycle management process.
1. What's going into the release?
2. What are the priorities in case we run into time/resource trouble?
3. How flexible is our process with regard to changing the release target functionality?
4. Which outstanding problems from the previous release need to be addressed?
5. How is the release to be managed to minimize risk and ensure success?
6. What level of verification is necessary and what is that plan to ensure full coverage?
7. Which tool(s) are going to be used to support the release?
8. When and how will we commit a release date to marketing?
9. How do we track our progress against our release plan?
10. How will we generate and deploy/distribute the release artifacts?
11. How do we identify, for the customer, exactly what actually went into a release?
12. How will we track and improve release quality after the release?