Definition:
A set of management disciplines within the software engineering process
to develop a baseline.
Description:
Software Configuration Management encompasses the disciplines and
techniques of initiating, evaluating and controlling change to software
products during and after the software engineering process.
Standards (approved by ANSI)
IEEE 828: Software Configuration Management Plans
IEEE 1042: Guide to Software Configuration Management
Software Configuration Management is a
Project Function
SCM is a Project Function (as defined in the SPMP) with the
goal to make technical and managerial activities more effective.
Software Configuration Management can be administered in
several ways:
A single software configuration management team for the whole
organization
A separate configuration management team for each project
Software Configuration Management distributed among the project
members
Mixture of all of the above
Configuration Management Activities
Software Configuration Management Activities:
Configuration item identification
Promotion management
Release management
Branch management
Variant management
Change management
No fixed rules:
Activities are usually performed in different ways (formally, informally)
depending on the project type and life-cycle phase (research,
development, maintenance).
Configuration Management Activities
Configuration item identification
modeling of the system as a set of evolving components
Promotion management
is the creation of versions for other developers
Release management
is the creation of versions for the clients and users
Change management
is the handling, approval and tracking of change requests
Branch management
is the management of concurrent development
Variant management
is the management of versions intended to coexist
Configuration Management Roles
Configuration Manager
Responsible for identifying configuration items. The configuration
manager can also be responsible for defining the procedures for creating
promotions and releases
Change control board member
Responsible for approving or rejecting change requests
Developer
Creates promotions triggered by change requests or the normal activities
of development. The developer checks in changes and resolves conflicts
Auditor
Responsible for the selection and evaluation of promotions for release
and for ensuring the consistency and completeness of this release