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:
- 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.
- Implementing the approved changes to the CIs.
- Process to get to a new baseline.
- 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.
- Making sure that the previous processes are complete and correct.
- Testing the software.
- If the tests are passed, then comes the release.