A typical procedure for handling
Change Requests is shown in the following activity diagram. (Click anywhere on the diagram to go to a complete
description of Concept: Change Request Management)
The Change Request Form is a formally submitted artifact that is used to track all requests (including new features,
enhancement requests, defects, changed requirements, etc.). This should include related status information throughout
the project lifecycle. All change history will be maintained with the CR, including all state changes along with dates
and reasons for the change. This information will be available for any repeat reviews and for final closing. An example
Change Request Form is provided in Work
Product: Change Requests.
Typical states that a Change Request may pass through are shown in the following state diagram. (Click anywhere on the
diagram to go to a complete description of Concept: Change Request Management)
Once a Change Request is submitted, it is analyzed to ensure that it is indeed valid, and that appropriate technical
and management staff get to review to the Change Request to assess its validity. Change Requests need to be reviewed at
various levels within the development team. A team leader will often review and approve Change Requests submitted by
any of his staff. If, however, the scope of a change is beyond the responsibilities of the team it is escalated for the
next level of review. If the impact of the change spans several different development teams, it is reviewed by the
Change Control Board. In the Rational Unified Process, the Change Control Manager role is used to represent the role of
the Change Control Board (CCB).
Occasionally, a reported system malfunction may be due more to its usage rather than being linked to system
implementation. It might also be the case that the 'problem' has already been reported and is being addressed.
The outcome of the analysis step is either to accept the Change Request or to reject it on the basis that it is
invalid, duplicate or 'out of scope' given the current project vision or mandate.
For valid changes, the next step is to assess and cost the change based on the impact it has on the overall system, and
how easily it can be implemented.
Input from the costing step is provided to the CCB for assessment. The CCB reviews the Change Request and its impact
from a strategic, organizational as well as the technical point of view. The CCB has to decide whether the Change
Request can be economically justified.
Once a Change Request has been approved it can be applied to the software. The revised software then undergoes quality
assurance checks to make sure that changes were made in accordance with project adopted practices, and that it does not
adversely affect other parts of the existing software.
Once the changes have been made the new version of the software is verified in a test build of the product and then
incorporated into and verified in a 'release' version of the overall software.
As software changes are made, it is important that a record of all of the changes is maintained.
An effective way to maintain a change history is at the beginning of each software component, and within the change
An example of the kind of change data to maintain in a component header could be the following:
Version Modifier Date Change Reason
1.1 Bruce Bogtrotter 98.05.01 Test Ranges CR#232
1.2 Maria Mussolini 98.06.02 Requirements CR#454