This is an old revision of the document!
Configuration management (CM) is not a single activity but a cyclic process integrated into the entire software lifecycle. The ISO/IEC/IEEE 828:2012 standard identifies four principal activities:
In modern practice, a fifth step — Configuration Verification and Review — is also added for continuous improvement and compliance.
Configuration Identification The first step in CM defines what needs to be managed. It involves:
Example hierarchy:
Tools & Techniques:
Goal: Create a clear inventory of every managed artefact and its dependencies.
Tools and Techniques:
Goal: Ensure that every change is reviewed, justified, and properly recorded before being implemented.
Configuration Status Accounting (CSA) CSA provides visibility into the current state of configurations across the project. It records which versions of CIs exist, where they are stored, and what changes have occurred. Typical outputs include:
Tools & Techniques:
Goal: Provide transparency and traceability, so project managers and auditors can reconstruct the exact configuration of any product version at any point in time.
Configuration Audit A Configuration Audit ensures the product conforms to its baseline and that all changes were properly implemented and documented. It verifies:
There are two types:
Tools & Techniques:
Goal: Ensure integrity, consistency, and compliance across the entire configuration baseline.
Configuration Review and Verification This optional step closes the CM loop. It assesses whether CM processes are effective and aligned with project objectives. Activities include:
Tools:
Goal: Support continuous improvement and process optimisation.
Modern CM relies heavily on automation and integration tools to manage complexity and enforce discipline across teams. These tools can be categorized by function.
Version Control Systems (VCS)
| Tool | Description | Example Use |
|---|---|---|
| Git | Distributed version control system; supports branching and merging. | Used for nearly all modern software projects. |
| Subversion (SVN) | Centralised version control with strict change policies. | Preferred in regulated environments (aerospace, defence). |
| Mercurial | Similar to Git, optimised for scalability and ease of use. | Used in research or large repositories. |