This document discusses software configuration management (SCM). SCM is a set of activities that manage changes to software throughout its lifecycle. It involves identifying items to change, defining relationships between items, and controlling changes. The SCM process includes identifying configuration items, change control, version control, auditing, and reporting. A configuration manager plans the SCM process and oversees configuration control, auditing, and reporting. Popular SCM tools include Visual Source Safe, Concurrent Versions System, Subversion, ClearCase, and Team Foundation Server.