Control—Is the goal of SCM, with dominion over:
- Source file versions
- Configuration and delivery
- Process management
- Problem tracking
Version control—Versioning is the making of copies of data at some meaningfulpoint in order to return to that point at a later date, if necessary.
Configuration control—Implies a higher level of abstraction than versioncontrol. The SCM tool must have some knowledge of which versions from a setof components comprise a specific build.
Process management—Deals with the grouping and manipulation of versions of software assets as they progress through the software development lifecycle. This typically involves change management, approval levels, and production control.
Problem tracking—Entails recording enhancement/change requests or defect reports and correlating these with the resolution of the request. These reports may include a listing of the sources involved in the change. These change setscan then create released products containing only the feature and fixes desired.