Software Configuration Management Fundamentals

Classified in Computers

Written on in English with a size of 2.77 KB

Software Configuration Management (SCM)

Definition of Software Configuration Management

Software Configuration Management (SCM) is a set of management disciplines within a software engineering process used to develop a baseline. SCM encompasses the disciplines and techniques of initiating, evaluating, and controlling change to software products during development and maintenance.

Administering SCM

Administering Software Configuration Management is a crucial project function with the goal of making technical and managerial activities more effective. SCM can be administered in several ways:

  • Organization-wide: A single SCM team manages configuration for the whole organization.
  • Project-specific: A separate configuration management team is established for each project.
  • Distributed among the project members: Each team member performs specific SCM activities.
  • Mixture of all of the above.

Key SCM Activities

The following activities constitute the core of Software Configuration Management:

  • Configuration item identification
  • Promotion management
  • Release management
  • Branch management
  • Variant management
  • Change management

Note on Order: These activities are usually performed in different ways (formally or informally) depending on the project type and life-cycle phase (e.g., research, development, maintenance).

Detailed Activity Descriptions

Configuration Item Identification
Modeling the system as a set of evolving components.
Promotion Management
The creation of versions for use by other developers.
Release Management
The creation of versions for clients and users.
Change Management
The handling, approval, and tracking of change requests.
Branch Management
The management of concurrent development efforts.
Variant Management
The management of coexisting versions (e.g., different operating system builds).

SCM Roles and Responsibilities

Configuration Manager
Responsible for identifying configuration items. This role is also often 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.

Related entries: