What the hell is SCM?

At first, I didn't really know what it was or anything about it, but with some google-fu and midnight reading I will share with you my findings about SCM.

SCM stands for Software Configuration Management, sometimes called Software Control Management, it is a framework for organizations to manage software and its changes, updates, errors, versions, tests, and code; all of this in a clean and organized manner.

SCM is the process that defines how to control and manage change.
It is needed with software that involves large organizations and a lot of programmers, it defines who is allowed to make changes, how they make them, and when they can. Software configuration management benefits all the stakeholders in a software project, making their jobs easier. Among the beneficiaries are: developers, testers, support, management, and investors.


SCM consists of four Configuration stages:

  1. Identification
    • Made up of configurable items (CI), that is, the programs that make up the SW project.
    • Baselines are contemplated, they are the status of the CIs at a given point, a version.
    • A baseline must have a complete documentation that includes the capabilities of the software, bugs and testing, and a unique footprint.
    • On each baseline, the CIs are at an specific version-controlled stage.
  2. Control
    • Implementing the approved changes to the CIs.
    • Process to get to a new baseline.
  3. Status Accounting
    • Tracking the changes made from the old baseline to the new one.
    • Describes the current version and how it came to be.
    • The "what's new" section that you see when updating an app in your cell phone, only more detailed.
  4. Authentication
    • Making sure that the previous processes are complete and correct.
    • Testing the software.
    • If the tests are passed, then comes the release.

I think, on the grand scale, that's about it. SCM seems like good way to manage a project, and, if applied correctly, a tool that enables good software to get to the hands of people and businesses, in order to make the world better.