Chapter 25
Chapter 25: Configuration Management
25.1 Introduction
Importance of SCM: Coping with software versions is crucial throughout the software life cycle, which is the responsibility of Software Configuration Management (SCM).
Integration with Change Control: Many organizations integrate change control (as discussed in Chapter 22) into configuration management.
Key Processes: SCM includes version storage, release, recovery of information using identified configuration items.
SQA Activities: Software Quality Assurance (SQA) oversees SCM activities and supports them professionally. SCM is sometimes simply referred to as configuration management (CM).
Standards References: Key standards include:
ISO/IEC/IEEE Std. 12207-2008
ISO/IEC Std. 90003:2014
CMM Guidelines
Literature: Various books and papers address different aspects of configuration management.
25.2 Software Configuration Items
Definition: SCM requires specific software configuration items (SCIs), which may include units of software code or documents relevant for further software development or maintenance.
SCM Tasks:
Systematic storage of identified versions of SCIs.
Release and provision of information services based on stored data.
Verification of compliance with SCM procedures.
Control of software changes.
Classes of SCIs include:
Design documents: Software development plan, system requirements document, interface design specifications, etc.
Software code: Source code, object code, prototype software.
Data files: Test cases, parameters, etc.
Software development tools: Compilers, debuggers, CASE tools.
25.3 Release of Software Configuration Versions
Why Release: New versions are released due to:
Defective SCIs identified in previous versions.
Special features for new customers.
Team initiatives for improvements.
Demands for new features due to market changes.
Types of Releases:
Baseline Releases: Planned content defined in a Software Configuration Management Plan (SCMP).
Intermediate Releases: Created for immediate issues that require rectification or adaptation.
Revision Releases: Introduce minor changes and corrections.
COTS Releases: Commercial Off The Shelf (COTS) software releases are typically planned once or twice a year for enhanced marketability.
Numeration Conventions: Baseline configurations are numbered (1.0, 2.0, etc.), intermediate and revisions (1.1, 2.5, etc.).
25.4 Documentation of Software Configuration Versions
Documentation Types: Key tasks involve documenting SCI versions and releases, with specific templates (FRAME 25.4 & 25.5) detailing:
SCI version identification, changes made, operational implications.
Release documentation including installation sites, configuration lists, and installations by technicians.
25.5 Configuration Management Planning
Objectives: Important objectives include:
Overview of projects or systems.
Schedule of baseline and intermediate releases.
Estimation of resources needed for the CMP.
SCMP: Ensures timely release following project plans e.g., after design and testing phases.
25.6 Provision of SCM Information Services
Information Needs: Common requests by developers and maintenance teams includes requests for specific SCI versions, changes introduced, or current versions installed across sites.
Data Provided: SCM provides crucial information to support effective development and maintenance, ensuring availability of approved versions.
25.7 Computerized Tools for Performing Configuration Management Tasks
Purpose of Tools: Tools help manage configurations more effectively and securely, ensuring high accuracy and speed of information retrieval.
Security Features: Tools enhance security against unauthorized changes and ensure data integrity through backup procedures.
25.8 SCM Function in the Organization
SCM Authority: A specialized unit responsible for implementing SCM procedures and overseeing compliance across software development and maintenance activities.
25.9 SQA Activities Related to SCM
Audit: SQA conducts audits to ensure SCM compliance with standards, documenting findings and supporting problem resolutions.
Summary of Key Tasks and Definitions
Software Configuration Tasks: Storage, release, verification, and change control.
Software Configuration Version: A selected set of SCIs at a specific time controlled by SCM procedures.
Types of Software Configuration Releases:
Baseline: Planned releases post-review.
Intermediate: For urgent adaptations.
Revisions: Minor changes to existing configurations.
Configuration Management Planning Objectives: Schedule releases, resource estimations, and project correlations.
Importance of SCM Information Services: Provides accurate copies, change reports, and installation checks.
Benefits of Computerized SCM Systems: Enhanced security and reliability for SCM tasks.
SQA Activities: Ensures SCM conforms to standards through regular audits.
Selected Bibliography
Papers and Books: References to notable texts and studies in configuration management.