Home Basic SDP Test Case Web Testing FAQ Others
You are here: Home>>Software Development Process>> Software config. management

Activities and Steps

Requirements

Architecture

Design

Implementation

Testing

Deployment

Models

Cleanroom

Agile

Iterative

RAD

RUP

Spiral

Waterfall

XP

Supporting Disciplines

you are here Config. Management

Documentation

SQA

Project Management

User experience


We need your help! To keep the site alive, please make the donation by clicking the button below.
Thank you very much!

How to Make a Donation Using PayPal Without an Account?

Software configuration management

From Wikipedia, the free encyclopedia

Software Configuration Management (SCM) is part of configuration management (CM). Roger Pressman, in his book Software Engineering: A Practitioner's Approach, says that software configuration management (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." In other words, SCM is a methodology to control and manage a software development project.

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 will thus become a matter of comparing different results and of analysing their differences. Traditional CM typically focused on controlled creation of relatively simple products. Nowadays, 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.

Contents

Terminology

The specific terminology of SCM, as well as its history, has given rise to controversy, and often varies.

Tool vendors as well as academics may find it to their advantage to deliberately change terminology, sometimes trying in this manner to redefine established acronyms.

  • Source configuration management (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.)
  • Revision control (also known as version control or source control)
    • See also List of revision control software.
  • Source code
  • Change management
  • Configuration item
  • Software configuration
  • Change set
  • Baseline (configuration management)

In particular, the former vendor, Atria (later Rational Software, now a part of IBM), used "SCM" to stand for "Software Configuration Management".

Analyst firm, Gartner Inc., uses the term Software Change and Configuration Management or (SCCM).

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- Managing the process and tools used for builds.
  • Process Management- Ensuring adherence to the organization's development process.
  • Environment Management- Managing the software and hardware that host our system.
  • Teamwork- Facilitate team interactions related to the process.
  • Defect Tracking- making sure every defect has traceability back to the source

References

  • Berczuk, Appleton; (2003). Software Configuration Management Patterns: Effective TeamWork, Practical Integration (1st ed.). Addison-Wesley.ISBN 0-201-74117-2.