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