Promotion and Sample Implementation
The Explorer project is a typical software application. The source code passes through three distinct phases, or states, in the development cycle:
• Development is the period when developers actively write code to meet the objectives in the design document.
• Testing is the phase when completed code modules go through unit testing to make sure they work. The Explorer quality assurance team must test the entire application before allowing its release. There may be several iterations between the Testing and Development stages.
• Release is the stage when the entire application has passed all of its tests, the code is declared finished, and the distribution disks can be cut.
The project also includes the Requirements and Design phases, but this discussion omits their definitions because they are not directly involved with source code.
Based on those stages, the Explorer project managers decide to institute a promotion policy with the following characteristics:
• All development objects must pass through each stage of the development cycle, in sequence.
• Only the development team leader can promote objects to the Testing state. This maintains order and helps to monitor progress in the Development state.
• Testers may not check out locked copies of development objects, or check them in, because they never have to change the code.
• No one can check out a locked copy of a development object while it is in the Testing state.
• Any tester can demote an object back to the Development state if it fails a test, but only the quality assurance manager can promote an object to the Release state.
Implementing these aspects of this promotion policy is a straightforward process. The following sections look at each step in turn.