All Topics  
Software configuration management

 

   Email Print
   Bookmark   Link






 

Software configuration management



 
 
Not to be confused with revision control
Revision control

Revision control is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team o...
.


In software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control
Revision control

Revision control is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team o...
 and the establishment of baselines
Baseline (configuration management)

Configuration management is the process of managing change in hardware, software, firmware, documentation, measurements, etc. As change requires an initial State and next state, the marking of significant states within a series of several changes becomes important....
.

SCM concerns itself with answering the question "Somebody did something, how can one reproduce it?" Often the problem involves not reproducing "it" identically, but with controlled, incremental changes.






Discussion
Ask a question about 'Software configuration management'
Start a new discussion about 'Software configuration management'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Not to be confused with revision control
Revision control

Revision control is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team o...
.


In software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control
Revision control

Revision control is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team o...
 and the establishment of baselines
Baseline (configuration management)

Configuration management is the process of managing change in hardware, software, firmware, documentation, measurements, etc. As change requires an initial State and next state, the marking of significant states within a series of several changes becomes important....
.

SCM concerns itself with answering the question "Somebody did something, how can one reproduce it?" Often the problem involves not reproducing "it" identically, but with controlled, incremental changes. Answering the question thus becomes a matter of comparing different results and of analysing their differences. Traditional configuration management typically focused on controlled creation of relatively simple products. Now, implementers of SCM face the challenge of dealing with relatively minor increments under their own control, in the context of the complex system being developed.

Terminology

The history
History of software configuration management

The history of software configuration management in computing can be traced back as early as the 1950s, when CM , originally for hardware development and production control, was being applied to software development....
 and terminology of SCM (which often varies) has given rise to controversy. Roger Pressman, in his book Software Engineering: A Practitioner's Approach, states that 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."

Source configuration management
Revision control

Revision control is the management of multiple revisions of the same unit of information. It is most commonly used in engineering and software development to manage ongoing development of digital documents like application source code, art resources such as blueprints or electronic models, and other projects that may be worked on by a team o...
 is a related practice often used to indicate that a variety of artifacts may be managed and versioned, including software code, documents, design models, and even the directory structure itself.

Atria (later Rational Software
Rational Software

Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development....
, now a part of IBM), used "SCM" to mean "software configuration management". Gartner uses the term software change and configuration management.

Purposes

The goals of SCM are generally:

  • Configuration identification - What code are we working with?
  • Configuration control - Controlling the release of a product and its changes.
  • Status accounting - Recording and reporting the status of components.
  • Review - Ensuring completeness and consistency among components.
  • Build management
    Build management

    Software build management is the defined and controlled process of delivering the right artifacts efficiently....
     - Managing the process and tools used for builds.
  • Process management
    Process management

    Process management is the ensemble of activities of planning and monitoring the performance of a process, especially in the sense of business process, often confused with reengineering....
     - Ensuring adherence to the organization's development process.
  • Environment management - Managing the software and hardware that host our system.
  • Teamwork
    Teamwork

    Teamwork "a joint action by 2 or more people' or a group, in which each person subordinates his or her individual interests and opinions to the unity and efficiency of the group."...
     - Facilitate team interactions related to the process.
  • Defect tracking - Making sure every defect has traceability back to the source


SCM tools


See Application lifecycle management tools
Application Lifecycle Management

Application lifecycle management is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, software architecture, computer programming, software testing, issue tracking system, and Release Management....


See also

  • Application lifecycle management
    Application Lifecycle Management

    Application lifecycle management is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, software architecture, computer programming, software testing, issue tracking system, and Release Management....
  • Business Technology Optimization
    Business Technology Optimization

    Business Technology Optimization , is an enterprise software product category focused on helping businesses ensure that every dollar invested in information technology, every resource allocated, and every application in development or production meets business goals....
  • Change control
    Change Control

    Change control is a formal process used to ensure that changes to a system are introduced in a controlled and coordinated manner. It reduces the possibility that unnecessary changes will be introduced to a system without forethought, introducing faults into the system or undoing changes made by other users of the software....
  • Comparison of open source configuration management software
    Comparison of open source configuration management software

    This is a comparison of Free software and Open-source software configuration management software....
  • Comparison of revision control software
    Comparison of revision control software

    The following tables compare general and technical information for notable revision control and software configuration management software. This article is not all-inclusive and may become out of date quickly....
  • Configuration item
    Configuration item

    The term configuration item or CI refers to the fundamental structural unit of a configuration management system. Examples of CIs include individual requirements documents, software, models, plans, and people....
  • Configuration management
    Configuration management

    Configuration management is a field of management that focuses on establishing and maintaining consistency of a product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life....
  • List of revision control software
    List of revision control software

    This is a list of notable software for revision control....


External links

  • , Configuration Management Wiki - A wiki web dedicated to Configuration Management
  • , online community and resource center for configuration management
  • , a professional base bank