As many have learned, using Agile methods can provide solid business benefits including earlier return on investment, earlier detection of failed efforts, and more satisfied stakeholders. However, when applying Agile methods to product-lines (and projects therein), often there are dependencies on other products (and their projects), services, and organizations that may run in a more waterfall or hierarchical manner. If the Agile project and product therein are self-sustaining with no dependencies on outside factors, life can be quite good. But most of the Agile projects I have worked with or visited have varying degrees of dependencies on other products or services that run in a more waterfall or hierarchical manner.
How do you solve the problems which occur when the agile world must interact with more traditional or hierarchical world? This can present a significant challenge to the agile projects. One strategy to help solve this challenge is to introduce release management.
Basics of Release Management
Release management is a super discipline that provides a context model to ensure that software engineering disciplines such as planning, requirements, CM, test, etc., work together to focus on the release. The release is the center piece of release management (or should be) where the activities or practices focus on getting the release one more step closer to production while maintaining a high-level of quality. Much like release management, agile focuses on the release with as minimal effort and waste as possible.
Release management also focuses on coordinating pieces of various product releases that must come together to work in an integrated release package. This ensures that dependencies and traceability are recognized and managed. This is particularly important if an Agile project is dependent on other products that may be managed in a more waterfall manner or services that are typically managed in a more hierarchical manner. In addition, release management ensures that product timelines are planned and managed so that future dependencies can come together when they are needed.
Allowing Release Management to Help You Track Dependencies
Release management helps in dependency management across projects when there are release impacts. Essentially release management ensures that the right pieces are available