Software configuration management

From Wikipedia, the free encyclopedia

Another version of this article is being written at Software configuration management/MEE
Software Development Process
This article is part of the Software Development Process series
Activities and Steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting Disciplines
Configuration Management | Documentation | Project Management | User Experience Design

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

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 or procedures to reduce the possibility of the customer (or field) from changing ("lock-in"), sometimes trying in this manner to redefine established acronyms.

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

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

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

  • CmWiki, Configuration Management Wiki - A wiki web dedicated to Configuration Management
  • CmYellowPages, Configuration Management Yellow Pages - a dynamic directory of links to configuration management resources
  • CM Community, Connecting Configuration Management Professionals around the World: An independent website which contains numerous resources on configuration management which includes CM Forum, CM Jobs Database, CM Salary Survey, CM processes and etc.
  • CM Crossroads, The worlds largest online community and resource center for configuration management. CM Crossroads hosts interactive discussion forums, a book store, monthly newsletter, Career Search and Jobs Board, an extensive library of resource links a user contributed file cabinet and the Configuration Management Body of Knowledge (CMBoK) WikiWiki Web
  • Article Use Cases and Implementing Application Lifecycle Management Systems
  • Trac, An open-source web-based SCM, provides front-end to Subversion and integrated wiki
  • Article Parallel Development Strategies for Software Configuration Management
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.