Software Project Survival Guide
See CxOne Basic for the most recent Construx project support.
Detailed Change Control Procedure
This document was created in part by Tony Garland of Garland Consulting (contact@GarlandConsulting.us).
1. Life Cycles of Work Products
2. Goals of a Change Control Procedure
3. Formative Development
5. Proposing Changes
6. Assessing Impact of Changes
7. Approving or Rejecting Proposed Changes
8. Change Control Board
9. Defect Tracking System
10. Approval Signatures
This chart contains a history of this document’s revisions. The entries below are provided solely for purposes of illustration. Entries should be deleted until the revision they refer to has actually been created.
The first time an organization adopts a change control procedure, the review cycles listed below might all be needed. After the change control procedure has been in place for awhile, each new project can probably just reference an existing change control procedure document, or a document with minor modifications, rather than creating its own.
||Description of Version
||Initial draft created for distribution and review comments
||Second draft incorporating initial review comments, distributed for final review
||First complete draft, which is placed under change control
||Revised draft, revised according to the change control process and maintained under change control
||Revised draft, revised according to the change control process and maintained under change control
List the document contents by page number
List of Figures
List the figures in the document by page number.
Life Cycles of Work Products
Within any given project, each work product developed during the project will progress through a series of stages from initial concept to final release.
Work product lifecycle.
Note that the work product initially begins life in a state of formative development. As the work product develops, changes are made informally and work progresses using revision control. When the work product reaches an expected state of completeness, it undergoes formal review and acceptance. Once accepted, the work product enters a state of acceptance where changes are no longer permitted to the item without formal change control (which this document describes). Finally, after final acceptance, the work product is frozen in preparation for being released.
Note the distinction being made between informal revision control and formal change control. Informal revision control refers to the use of tools which allow changes to a rapidly evolving work product to be sequentially captured and retraced, if necessary. This allows a work product to undergo rapid development while retaining the safety of backup copies and some measure of control. Formal change control refers to a procedure by which changes to an accepted work product are carefully proposed, assessed, conditionally accepted, and applied. Formal change control provides a measure of stability and safety beyond that of the underlying revision control tools in use.
Goals of a Change Control Procedure
An effective change control procedure should:
- Provide a mechanism for accepting changes that improve the product overall while rejecting those that degrade it.
- Facilitate changes to work products during their initial formative development while avoiding unnecessary overhead or formality.
- Provide revision control and backup safety for work products during their formative development.
- Allow for formal acceptance (approval) of work products after their initial formative development has been completed.
- Facilitate efficient changes to work products after their initial acceptance, recognizing that the impact of a change to a work product is dramatically different after the work product has been accepted.
- Allow all parties materially affected by proposed changes to accepted work products to assess the resource, schedule, and/or product impact of the changes.
- Allow changes to accepted work products to be proposed and evaluated, schedule and quality impact assessed, and approved or rejected into work products in a controlled manner.
- Notify interested parties on the periphery of development regarding change proposals, their assessed impact, and whether the changes were approved or rejected.
- Provide an historic trail of the development of work products, including all proposed changes.
During this initial stage of creation, the work product is undergoing frequent and rapid change before it becomes stable. At this stage, it is inappropriate to apply formal change control to the work product since the overhead of controlling changes merely obstructs efficient creation of the work product. However, this stage of development may comprise a significant body of work which would be quite costly to lose. Therefore, an informal determination will be made on the part of the developer(s) of the work product as to when to place the work product under revision control. Revision control differs from change control in that it provides automated support for saving and restoring versions of project work products such as documents and computer source code without the burden of a formal change process.
We expect the following procedures to provide adequate control during formative development of work products:
- Work products will be placed under the control of a revision control tool (such as PVCS, RCS, or Visual Source Safe).
- All work products under revision control will reside on a master project file server (which itself is under a formal backup schedule to secondary off-line media).
Since change control at this stage of development is informal, it is the responsibility of each developer to use prudent judgment and professional practice to store revisions of the work product at appropriate intervals and to be diligent in maintaining master sources of the work product on the project file server.
At the close of formative development, each work product reaches a stage where it represents a complete body of work. The determination of this point in the development process is best performed by the developer(s) of the work product (guided by the project milestones and deliverables identified by the Software Development Plan). At this point, the work product undergoes a formal acceptance procedure which includes:
- Review of the work product content to determine whether it is complete and fairly represents the needs of its customers. (The determination of who will review each work product is made by the Change Control Board.)
- Formal sign-off of the work product by the Change Control Board and any additional persons which the board determines are appropriate.
At this point, the work product is said to have been "accepted" (thereafter known as an accepted work product) and enters into formal change control. That is, subsequent changes to the work product must undergo review by the Change Control Board as described below.
Whenever any party determines that some aspect of an accepted work product should be changed, then that party submits a change proposal to the Change Control Board via the defect tracking system. The change proposal:
- Identifies the work product in question.
- Describes the aspect of the work product that the party feels is in need of change.
- Includes a description of the impact, from the submitting party's point of view, of leaving the work product as-is compared with incorporating the suggested change. This gives the Change Control Board a better understanding of why the change is being submitted and what importance it has from the perspective of the submitting party.
Assessing Impact of Changes
Once a change proposal has been submitted to the Change Control Board, the change proposal is circulated to those parties that the Change Control Board identifies may be impacted by the change. These parties are responsible for producing an estimate of the effects of implementing the proposed change. Proposed changes should account for:
- Additional management effort to revise the schedule and notify affected parties
- The distraction of the affected parties from their primary work while they assess the impact of the proposed change
- Impact on the user manual
- Impact on on-line help
- Impact on product specifications
- Impact on product design documents
- Impact on product source code
- Impact on product test procedures and source code
- Impact on installation program or procedures
- Impact on training materials (including tutorial program, if any)
- The general tendency of quality to degrade with change
- The dramatically increased cost of change at later stages of the project
In the interest of efficiency, the Change Control Board may decide to queue a series of change proposals to be processed as a group. This will depend upon the frequency and importance of change proposals as determined by the board.
Approving or Rejecting Proposed Changes
Once the impact of the proposed change to each area is assessed, the Change Control Board must make a decision whether to accept or reject the proposed change. The Change Control Board may reject a proposed change out-of-hand if it determines that the cost of formally assessing the impact of the change outweighs its perceived benefit. Since defects are treated like all other change requests, the Change Control Board selects for correction only those defects which represent an acceptable benefit/risk trade-off based on the phase of the project and the distance from the next important milestone.
If accepted, the assessed impact on the development schedule must be incorporated into the existing schedule and a new schedule produced. If the Change Control Board deems it necessary, trade-offs between time, function, and manpower may be made in an attempt to mitigate the effects of change to the existing schedule. However, in no circumstances will changes be approved without sufficient consideration of their associated schedule implications.
Regardless of whether a change is approved or rejected, the following information is recorded by the defect tracking system and made available to the party submitting the change proposal (and any other interested parties that desire to monitor the progress of the work product):
- The date, description, and party submitting the proposed change.
- The estimated impact of the change on the development areas listed above.
- The date when the change was accepted, rejected, or deferred.
- If accepted, the overall impact on the project schedule (which includes the effects of any mitigating strategies and their descriptions).
- If rejected, the reason for rejection.
It is suggested that those parties who have a stake in the development of the product may register their interest with the Change Control Board. The Change Control Board will then put a mechanism in place (probably by memo, e-mail, or intranet web page) to provide notification of meetings and their agenda and to disseminate the results of its actions. Interested parties may elect to attend the Change Control Board meeting in order to represent their interests.
Change Control Board
In order to manage the change control process in a fair and stable manner, a Change Control Board is established. The Change Control Board serves as the focal point for change management and retains the authority for deciding which proposed changes actually get incorporated into a work product.
For any particular project, the Change Control Board includes the following individuals:
- Executive Sponsor
- Customer/End-User Representative
- Marketing Representative
- Program Manager
- Project Manager – also serves as change-board coordinator
- Quality Assurance Manager
- Engineering Lead
- Quality Assurance Lead
- Documentation Lead
It is expected that the board will meet either on a periodic basis or whenever a key change or group of changes requires consideration. The Project Manager will act as its facilitator and will serve as the focal point for collecting change requests, coordinating change board meetings, and the like.
The change control board will be considered to have a quorum if the Program Manager, Project Manager, Engineering Lead, and Quality Assurance Lead are present. These meetings may take place in person or over the telephone.
Other individuals may participate in Change Control Board actions at the discretion of the board. Defect Tracking System
A commercial defect tracking system will be used to gather and manage information relating to requested modifications of work products under formal change control. This tool will provide a central data base which contains important information as described in the preceding sections and facilitates efficient queries of the captured data in order to gain visibility over the state and number of changes to a given work product.
We, the undersigned, accept this document as a stable work product to be placed under formal change control as described by the Change Control Procedure document.
|Quality Assurance Manager
|Quality Assurance Lead