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

  1. Software Configuration Tasks: Storage, release, verification, and change control.

  2. Software Configuration Version: A selected set of SCIs at a specific time controlled by SCM procedures.

  3. Types of Software Configuration Releases:

    • Baseline: Planned releases post-review.

    • Intermediate: For urgent adaptations.

    • Revisions: Minor changes to existing configurations.

  4. Configuration Management Planning Objectives: Schedule releases, resource estimations, and project correlations.

  5. Importance of SCM Information Services: Provides accurate copies, change reports, and installation checks.

  6. Benefits of Computerized SCM Systems: Enhanced security and reliability for SCM tasks.

  7. SQA Activities: Ensures SCM conforms to standards through regular audits.

Selected Bibliography

  • Papers and Books: References to notable texts and studies in configuration management.