There are three broad disciplines of configuration management:
- Software Configuration Management involves control of the source code files used to generate software. This allows developers to retract changes that proved to be non-useful. Also, it allows the development of different versions of software. For instance, a company might develop a new game for both the PlayStation 3 and the Xbox 360. Many files might be in common between the two, but others might be different. Software configuration management allows the developers to easily contribute to both.
- Hardware Configuration Management involves tracking of physical computing resources and detailed descriptions of them.
- Document Management involves tracking of versions of documents.
In all but the smallest projects, software tools are used for all three disciplines. There vary from something as simple as a spreadsheet listing of hardware projects, to high end, very expensive, commercial tools.