Caution, SCM can refer to different meanings about Versioning:
- Software Configuration Management as explained in JimDaniel's answer
- Source Control Management is same as Version Control and Source Control and VCS
Moreover, people may use SCM to refer to other naming:
- Source Code Management as in Source Code Control System
- Software Code Management but this is a deformation of Software Configuration Management
- Source Configuration Management same meaning as Software Configuration Management but maybe more focused on source code than on the whole software (settings, command line arguments, host parameters...)
Let's define them:
- Version Control Systems are the standalone software to manage the versions (Git...)
- Source Control Management is the same as VCS
- Software Configuration Management is all processes to manage all the changes of the software: the development (VCS), the delivery release (VCS), the bug tracking, the software settings, the host/network settings, the version/settings of the other software interacting with...
Therefore, just using the acronym SCM is confusing: some people may understand the same meaning as VCS, some others may understand the whole process where VCS is just an aspect.