What is Software Configuration Management?

Back to Home Page

In brief, Software Configuration Management (SCM) is a methodology to manage the changes to software systems. More formal definition says "SCM is a set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made."

Software Configuration Management (SCM) is part of Configuration Management (CM). Configuration Management is the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures and test documentation of an automated information system, throughout the development and operational life of a system.

There are different types of CM, including Software CM (SCM), Hardware CM (HCM), as well as Operational CM, as defined in the Information Technology Infrastructure Library (ITIL). While SCM focuses on managing source code during development, Operational CM focuses on managing the configuration items (such as Software, Hardware, documentation, and service definitions) within an IT infrastructure.

Why we need SCM?
Configuration Identification: What all software artifacts need to controlled?
Configuration Control: Controlling the software artifacts and changes to them
Status Accounting: Recording and reporting the status of software work products
Review & Audit: Validation and verification for completeness and consistency of the software work products
Build Management: Managing the Build Process & tools
Process Control: Ensuring adherence to the organization's development process
Change Management: All the changes made to the software system can be correlated seamlessly

Standards & Guidelines
· IEEE Std. 828-1998 IEEE Standard for Software Configuration Management Plans
· ANSI/EIA-649-1998 National Consensus Standard for Configuration Management
· MIL-STD-973 Military Standard for Configuration Management
· IEEE Std. 1042-1987 IEEE Guide to Software Configuration Management
· MIL-HDBK-61A 7 February 2001 Configuration Management Guidance
· ISO 10007 Quality management - Guidelines for configuration management
· GEIA-HB-649 - Implementation Guide for Configuration Management

Visit
http://www.rspa.com/spi/SCM for more details on SCM.

About the author

Naveen C Joshi is a senior Consultant with above ten years experience in software development practices and especially software configuration management and quality assurance.

He has served for organizations ranging from Indian defense research lab to Microsoft (R&D) India. Currently he works for IBM India as a senior Consultant (IBM Rational Development tools) for last two and half years.