SCMWise.com

Software Configuration Management


Definition

Software Configuration Management, SCM, are the practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations.

Specifically, Software Configuration Management ensures the integrity, reliability and reproducibility of developing software products from conception to release.


SCM Responsibilities

  • Facilitates Timely Communication
  • Enforces Development Policies
  • Ensures Technical Standards
  • Manages Hand-offs between Environments and Teams

A very good description from "Software Configuration Management A Roadmap":

SCM is the control of the evolution of complex systems.


SCM Services

  • Source Code Administration
  • Software Builds and Scripting
  • Software Change Control
  • Configuration Management


Source Code Administration

Source Code is the intellectual property of any organization. Understanding and properly protecting this valuable asset is SCM's highest priority.


Software Builds

Software building, otherwise known as integration, is the process of taking all source code files that make up an application and compiling it into build artifacts such as binaries or executables.

SCM ensures that this building process adheres to the following best practices:

  • The process is fully automated
  • The process is repeatable
  • The process is reproducible
  • The process is adhered


Change Control

The ability to apply proper controls to the software development process to ensure only appropriate and approved changes are being added to the application.


Configuration Management

Managing the build and runtime environment for an application to ensure the integrity of the application.


History

In the 1980s, the first source control systems were built by companies in house. They were exclusively for file control.

As the these systems matured and more features and controls were required, the first commercial products were being developed and sold in the 1990s.

By 1998, the SCM tool market was over one billion dollars annually.

By the late 1990s, the first fully functioning SCM tools that included source control, change control, build management and defect tracking were being developed and sold.

Now, the SCM market is over $10 Billion annually. The tools are evolving at a rapid rate. They include many development processes such as Agile, CMMI and Iterative methodologies.

Many experts consider SCM to be one of the very few Software Engineering successes.


Purpose of this Site

This site is to be a central repository for the collection of best practices, processes, methodologies and tools that surround SCM.

The purpose of this site may be impossible to accomplish, but the attempt will be made.



Future SCM

SCM Tools have evolved from simple checkin and checkout tools to fully encompassing ALM products.

In addition to source code control, these tools now encapsulate change control, software builds, project management, item/defect tracking, and fully automated testing capabilities.

What direction will SCM take in the future?

Make Your Opinion Known!

Take our SCM Salary Survey

This is a collection salaries of SCM Professionals of different backgrounds, education, experiences and locations

Please add your information to the collection

To Participate



Survey of SCM Salaries

What are other SCM Professionals making?

Interested???


XML RSS
What is this?
Add to My Yahoo!
Add to My MSN
Add to Google




ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb