It's all about keeping track of the current development level of the product
Configuration Management is the set of processes to keep track the changes to the configurations of the deliverables.
We usually see software versions numbered such as “1.2.46” that means: version 1, revision 2, build 46. When there is a major revision the team may decide to increase the version number, otherwise, for small changes or bug fixes, just acknowledging the new build is enough. A “build” is a new compilation that reconstructs the software into an executable file that can be distributed to users.
Configuration management must keep track of what changed (changelog) from one release to the next one, for example:
Version 1: 4 interfaces (user login, catalog of products, shopping cart, credit card checkout)
Version 1, revision 1: 5 interfaces (add product details)
Version 1, revision 2: revise the checkout to include support for Paypal payments
Version control systems VCS such as GitHub and GitLab are great tools to control software configuration as they hold the state of the software under development at different points in time. Every time a commit command is issued a new version is available to any user with access to the code base.
Why is Configuration Management important? Imagine your manager calls to complain about bugs that are “still in the software”. You are puzzled because the problems reported have already been fixed. The first move is to check the version she is using. If it is an older version, just update it and test again. Make sure the team knows how to use the VCS so that newer versions are not damaged by pasting old code over them.
Note that Configuration Management is a key component of Change Management.