Once the team has completed the product's source code with the Developing Phase's Scope Complete Milestone, the Stabilizing Phase must prepare the product for release to the customer. As mentioned in Chapter 12, the Developing Phase's Scope Complete Milestone product release is a product that has implemented all product features and completed basic functional testing. Although the team has been focused on shipping the right product at the right time throughout the project, the team should become acutely aware of this during the Stabilizing Phase. Figure 13.1 illustrates that the Stabilizing Phase is when the product must be completed in order to reach the Release Milestone.
Figure 13.1 The Stabilizing Phase and Product Release milestone
During the Stabilizing Phase, the team may ship multiple external product releases while driving toward the final product release. During these interim releases, the team will primarily focus on testing to identify bugs, and fixing the bugs that are identified. A significant interim milestone that signifies the team is getting close to releasing a product is generally referred to as the zero-bug release (ZBR). ZBR is the first interim product release in which all active bugs have been resolved in some manner, whether fixed, postponed, or deemed unimportant. Once an interim release is shipped, extensive testing must occur to determine whether the product is ready, at which point the team can declare victory and classify the release as the Final Product Release.
The Stabilizing Phase is also characterized by the completion of all the other product support elements, including user performance artifacts, installation and configuration guides, and operations support staff training programs. These artifacts and processes must also be tested and released before the product can be released. Only after all the application code and related materials are ready for release can the team say they have reached their goal of shipping the right product at the right time.