A brief description.*
In the past, engineers have wanted a solution for source code version control, however, more and more they are realizing there is a need for a broader process. This process is called Configuration Management (CM), or Software Configuration Management (SCM).
There are several functions that an effective CM / SCM system should provide. Each of these functions can be grouped under one the following four categories:
| Version Control: | |
| Tracking all changes to every file in secure, scalable, distributed repositories. | |
| Workspace Management: | |
| Provides each developer with one or more configurations of the versioned elements in the system. | |
| Build Management: | |
| Parallel, distributed building; sharing of binaries without copying; and automatic production of an accurate “bill of materials” that documents software system builds. | |
| Process Control | |
| Controlling what is being changed, who is allowed to make changes, and enforcing good development practices. | |