Concepts: Configuration
and Change Request Management
The major aspects of a CM System are the following:
- Change Request Management (CRM),
- Configuration Status Accounting (Measurement),
- Configuration Management (CM),
- Change Tracking,
- Version Selection, and
- Software Manufacture.
- Change Request Management (CRM) addresses the organizational
infrastructure required to assess the cost, and schedule, impact of a requested change to
the existing product. Change Request Management addresses the workings of a Change Review
Team or Change Control Board.
- Configuration Status Accounting
(Measurement) is used
to describe the state of the product based on the type, number, rate and
severity of defects found, and fixed, during the course of product development. Metrics
derived under this aspect, either through audits or raw data, are useful in determining
the overall completeness status of the project.
- Configuration
Management (CM)
describes the product structure and identifies its constituent configuration items that
are treated as single versionable entities in the configuration management process. CM
deals with defining configurations, building and labeling, and collecting versioned
artifacts into constituent sets and maintaining traceability between these versions.
- Change Tracking - describes what is done to components for what reason
and at what time. It serves as history and rationale of changes. It is quite separate from
assessing the impact of proposed changes as described under 'Change Request Management'.
- Version Selection - the purpose of good 'version selection' is to
ensure that right versions of configuration items are selected for change or
implementation. Version selection relies on a solid foundation of 'configuration
identification'.
- Software Manufacture - covers the need to automate the steps to
compile, test and package software for distribution.
The following CM Cube, suggesting their mutual inter-dependence, serves to iconograph
the major aspects of a CM System.

The Rational Unified Process describes a comprehensive CM System that covers all CM
aspects. The purpose is to allow for an effective CM process that:
- is built into the software development process
- helps manage the evolution of the software development work products
- allows developers to execute CM tasks with minimal intrusion into the development
process
One goal of the Rational CM process is to encourage version control of artifacts
captured in development tools, and to de-emphasize the resource inefficient production of
hardcopy documentation per-se.
Another goal of the Rational CM process is to ensure that the level of control applied
to each artifact is based on the maturity level of that product. As work products mature,
change authorization migrates from implementer, to subsystem or system integrator, to
project manager and ultimately to the customer.
For the sake of process efficiency it is important to ensure that the bureaucratic
overhead associated with the Change Request Management process is consistent with the
maturity of the product.
For example, during early iterations the Change Request Management (CRM) process may be
relatively informal. In the later phases of the development lifecycle, the CRM process can
be made more strict to ensure that necessary test and documentation resources can
handle changes as well as assessing the potential instability that a change may introduce.
A project which is unable to tailor the level of control during the development process
will not be running as efficiently as possible.
| |

|