A key release management topic is to define the term “release”. For the sake of this article, a release is referred to as the baselined (and authorized) deliverables associated with a project that are tested and made available to the public. Some releases have no external dependencies. Others are super-releases and are comprised of deliverables (or releases) from multiple products that must all work together at some level in order for each part to effectively work.
When a release is dependent on other external factors to make it successful, then release management may be applied to make the co-dependencies more manageable. With that in mind, there are three primary aspects of release management, each of which may be considered for effective management of releases.
The first is that release management is a super discipline that combines the disciplines of requirements engineering (including requirements management), project management (e.g., project planning, project tracking and oversight, risk management), design, development, configuration management (CM) including change control, test (also referred to as QA or SQA), and release. Second, release management is a field that focuses on coordinating pieces from various product releases that must come together to work as an integrated release package. Finally, product timelines must be planned and managed so that future dependencies can come together.
The Super Discipline of Release Management
The first consideration is to introduce release management as a super discipline or structure for the engineering disciplines that provides a model for establishing the context of how the disciplines work together. When considering the placement of tasks for such engineering disciplines as CM, project management, requirements engineering, and testing, it may be difficult to understand the big picture of the disciplines and how they inter-relate. By providing a context in the form of a lifecycle model from project startup through release, a context map of the process is created, thus providing easier understanding of the big picture of the release. A consistent problem with performing the various engineering discipline tasks is that there is a lack of a high-level model for understanding the context of one task with another and the attributes of each task. This is because many engineering disciplines work in a silo apart from the other disciplines.
Within a super discipline approach, the disciplines can more clearly work together to focus on the release of deliverables or functionality from requirements to production. For example, tasks in the early part of a project release such as identify requirements, estimate requirements, and approve requirements, can be associated with tasks toward the backend of the lifecycle, such as test product release tasks. In some of the requirements tasks, the test role can ensure that the requirements are clear enough to understand what needs to be tested and that estimates for testing the requirements are included.