Der Begriff Konfigurationsmanagement gehört zum allgemeinen technischen Vokabular.
Ihr Zweck ist es, die Eigenschaften aller Teile / Komponenten eines komplexen Systems (z. B. eines Autos, einer Rakete, eines elektronischen Geräts) und natürlich die Änderung dieser Eigenschaften aufzuzeichnen, wenn eine Komponente durch eine ähnliche Komponente ersetzt wird. Eine Konfiguration beschreibt genau ein bestimmtes Produkt.
Mit anderen Worten, Konfigurationsmanagement ist Versionsmanagement für Industrieprodukte. Sie können jederzeit eine frühere Version eines Produkts zusammenstellen.
In Software gibt es keinen Branchenkatalog von Teilen, mit dem eine Software und ihre aufeinander folgenden Versionen eindeutig identifiziert und in einem Lager gefunden werden können, um eine ältere Version des Produkts zusammenzustellen (zu konfigurieren). Der Softwareteil / die Softwarekomponente wird am besten durch ihren Code in seiner Gesamtheit beschrieben. Konfigurationsmanagement für Software bedeutet also, die Versionen des Quellcodes zu verwalten. Aus diesem Grund wird der Begriff Softwarekonfigurationsverwaltung für die Quellcode-Versionsverwaltung verwendet.
Beachten Sie jedoch, dass SCM größer ist als nur die Quellcode-Versionierung. Dies kann auch die Verwaltung externer Abhängigkeiten (z. B. Bibliotheken oder Frameworks von Drittanbietern mit Versionen, die an einem anderen Ort verwaltet werden), externer Ressourcen (z. B. Binärdateien oder DLLs von Drittanbietern oder API-Definitionen für die Zusammenarbeit mit externen Systemen) sowie digitaler Assets (z. B. Bilder oder Videos als Pakete mit dem Endprodukt).