Software configuration management is concerned with identifying the configuration items of a system; controlling changes to them; and maintaining integrity and traceability. The configuration items are generally documents in the early part of the development lifecycle, whereas the focus is on source code control management and software release management in the later parts of the development cycle.
Configuration management allows the orderly development of software, and it ensures that the impacts of proposed changes are considered prior to authorization. It ensures that releases are planned and that only authorized changes to the software are made. The integrity of the system is maintained and the constituents of the software system and their version numbers are known at all times.