the process of maintaining and managing the various versions of various artifacts of a software project.
managing a changing software, version tracking etc
used to control the versions of software and formally track control changes to the software configuration