0% found this document useful (0 votes)
56 views3 pages

History of Software Configuration Management

Software configuration management (SCM) originated in the 1950s when configuration management (CM) practices for hardware were first applied to software development. The earliest SCM was likely done manually but tools were later developed to help manage software changes. SCM is the process of identifying, controlling, accounting for, and verifying all project software components and their documentation throughout the development lifecycle. It aims to keep software products in a non-degrading state and provides visibility into the project to help management and development.

Uploaded by

srikanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views3 pages

History of Software Configuration Management

Software configuration management (SCM) originated in the 1950s when configuration management (CM) practices for hardware were first applied to software development. The earliest SCM was likely done manually but tools were later developed to help manage software changes. SCM is the process of identifying, controlling, accounting for, and verifying all project software components and their documentation throughout the development lifecycle. It aims to keep software products in a non-degrading state and provides visibility into the project to help management and development.

Uploaded by

srikanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

History of software configuration

management

The history of software configuration management (SCM) in computing can be traced back as
early as the 1950s, when CM (for Configuration Management), originally for hardware
development and production control, was being applied to software development. The first
software configuration management was most likely done manually. Eventually, software tools
were written to manage software changes. History records tend to be based on tools and
companies and lend concepts to a secondary plane.

What Is Software Configuration Management?


Configuration Management (CM) is the process of identifying and defining the configuration items
in a system, controlling the release and change of these items throughout the system lifecycle,
recording and reporting the status of configuration items and change requests, and verifying the
completeness and correctness of configuration items. Configuration Management is practiced in
one form or another as part of any software engineering project where several individuals or
organizations have to coordinate their activities. While the basic disciplines of Configuration
Management are common to both hardware and software engineering projects, there are some
differences in emphasis due to the nature of software products.
Software Configuration Management (SCM) is a system for managing the evolution of software
products, both during the initial stages of development and during all stages of maintenance. A
software product encompasses the complete set of computer programs, procedures, and associated
documentation and data designated for delivery to a user. All supporting software used in
development, even though not part of the software product, should also be controlled by SCM.
The SCM system is the collection of activities performed during a software engineering project to:

• determine and identify those entities of the software product that need to be controlled.
• ensure those entities have necessary and accurate definitions and documentation
• ensure changes are made to the entities in a controlled manner.
• ensure that the correct version of the entities/software product are being used; and
• ascertain, at any point in time, the status of an entity (e.g., whether a specific entity is completed,
being changed, waiting to be tested, or released to the customer).

SCM is performed within the context of several basic configuration management disciplines,
including:
• Configuration Identification
• Configuration Control (change control)
• Configuration Status Accounting
• Audits and Reviews
• Release Processing
1.1 Why Is Software Configuration Management Important?

The primary reason for implementing an SCM system is to keep the changing and iterative
entities/software product(s) in a non-degrading state throughout the software lifecycle. This is a
challenge that must be met in order to develop and maintain quality software products. The
quality of the software products is fundamental to the level of quality of the complete system.

SCM provides a common point of integration for all planning, oversight, and implementation
activities for a software project or product line. It provides the framework (labelling and
identification) for interfacing different activities and defining the mechanisms (change controls)
necessary for coordinating parallel activities of different groups. SCM also provides a framework
for controlling computer program interfaces with their underlying support hardware and
coordinating software changes when both hardware and software may be evolving during
development or maintenance activities. SCM provides management with the visibility (through
status accounting and audits) of the evolving software products that make technical and
managerial activities more effective.

1.2 What Are the Benefits of Software Configuration Management?


SCM provides significant benefits to all projects regardless of size, scope, and complexity. Some
of the most common benefits experienced by project teams applying the SCM disciplines
described in this guide are possible because the SCM system:
• Provides a snapshot of dynamically changing software to help:
- Make decisions based on an instantaneous view
- Determine status at module and system levels
- Make better decisions about the future of a software project.

• Tracks concurrent development of modules or components of the overall system to:


- Prevent different developers from making changes to the same module at the same time
- Allow for the overall system progress to be faster
- Provide visibility of the entire software project to all developers.

• Organizes all concurrently developing code and associated documentation to:


- Save overall project time
- Focus each phase of the software product development to be organized and executed in a
documented, prescribed manner.

The effective use of an SCM system also:


• Permits the orderly development of software configuration items.
• Ensures the orderly release and implementation of new or revised software products.
• Ensures that only approved changes to both new and existing software products are
implemented.
• Ensures that the software changes that are implemented are in accordance with approved
specifications.
• Ensures that the documentation accurately reflects updates.
• Evaluates and communicates the impact of changes.
• Prevents unauthorized changes from being made.
International CM Standards
ISO/IEC TR 15846 Information technology -- Software life cycle processes -- Configuration
Management

MIL-STD 973 Configuration Management – DoD

EIA- 649 A National Consensus Standard for Configuration Management

International Standards Included CM Requirements


ISO 9001: 200 Quality management systems -- Requirements AQAP 160 NATO integrated
quality requirements for software throughout the life cycle

IEEE 12207 Standard for Information Technology-Software Life Cycle Processes

CMMI Capability Maturity Model Integration

You might also like