Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Software configuration management

Software configuration management

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 changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may be changing the same files...

.


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; that is, the application of engineering to software....

, 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 changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may be changing the same files...

 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. The first software configuration management was most likely done manually...

 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 changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may be changing the same files...

 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 - Identifying configurations, configuration items
    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 systems oversee the life of the CIs through a combination of...

     and 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...

    .
  • Configuration control - Implementing a controlled change process. This is usually achieved by setting up a change control board
    Change control board
    In software development, a Change Control Board or Software Change Control Board is a committee that makes decisions regarding whether or not proposed changes to a software project should be implemented. The change control board is constituted of project stakeholders or their representatives...

     whose primary function is to approve or reject all change requests that are sent against any baseline.
  • Configuration status accounting - Recording and reporting all the necessary information on the status of the development process.
  • Configuration auditing - Ensuring that configurations contain all their intended parts and are sound with respect to their specifying documents, including requirements, architectural specifications and user manuals.
  • Build management
    Build management
    Software build management is the defined and controlled process of delivering the right artifacts efficiently.- Software Build Management Characteristics :* Build rightly* Build automatically* Build traceably* Build integrally* Build speedup...

     - 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 is a joint action by two or more people, in which each person contributes with different skills and express his or her individual interests and opinions to the unity and efficiency of the group in order to achieve common goals...

     - 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

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, architecture, coding, testing, tracking, and release management.- Benefits :...

  • 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 product or 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...

  • Comparison of open source configuration management software
    Comparison of open source configuration management software
    This is a comparison of free and open source configuration management software.- Basic properties :- Platform support :Note: This means platforms on which a recent version of the tool has actually been used successfully, not platforms where it should theoretically work since it's written in good...

  • 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.-General information:Table Explanation...

  • 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 systems oversee the life of the CIs through a combination of...

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

  • List of revision control software

External links