Ein Konfigurations- und Änderungsmanagementsystem ist für die Kontrolle der zahlreichen Arbeitsergebnisse, die von den
vielen Personen, die an einem gemeinsamen Projekt arbeiten, erzeugt werden, von entscheidender Wichtigkeit. Die
Kontrolle verhindert Unklarheiten, die das Projekt teuer zu stehen kommen können, und stellt sicher, dass die erzeugten
Arbeitsergebnisse nicht im Widerspruch zu einander stehen, weil eines der folgenden Probleme auftreten ist:
Gleichzeitige Aktualisierung
Wenn zwei oder mehr Teammitglieder unabhängig voneinander an demselben Arbeitsergebnis arbeiten, zerstört das
letzte Mitglied, das Änderungen vornimmt die Arbeit der anderen. Das grundlegende Problem besteht darin, dass in
einem System, das keine gleichzeitigen Aktualisierungen unterstützt, Änderungen seriell vorgenommen werden, was den
Entwicklungsprozess verlangsamt. Die Herausforderung bei gleichzeitigen Aktualisierungen ist jedoch zu erkennen,
dass Aktualisierungen gleichzeitig vorgenommen wurden, und beim Einbinden der Änderungen alle vorliegenden
Integrationsprobleme zu lösen.
Ungenügende Benachrichtigung
Ein Problem in Arbeitsergebnissen, die von mehreren Entwicklern gemeinsam genutzt werden, wird behoben, und einige
der Entwickler werden nicht über die Änderung benachrichtigt.
Mehrere Versionen
Die meisten großen Programme werden evolutionär entwickelt. Ein Release kann beispielsweise schon beim Kunden in
Betrieb sein, während ein zweites getestet wird und ein drittes noch entwickelt wird. Wenn in einer der Versionen
Probleme gefunden werden, müssen die Korrekturen an alle Versionen weitergegeben werden. Wenn die Änderungen nicht
sorgfältig kontrolliert und überwacht werden, kann es zu erheblichen Verwirrungen kommen, die Kosten und
Nacharbeiten nach sich ziehen.
Ein Konfigurations- und Änderungsmanagementsystem ist hilfreich, wenn mehrere Varianten evolutionärer Softwaresysteme
verwaltet werden, wenn verfolgt werden soll, welche Versionen in bestimmten Software-Builds verwendet werden, wenn
Builds einzelner Programme oder vollständiger Releases auf der Basis benutzerdefinierter Spezifikationen erstellt und
standortspezifische Entwicklungsrichtlinien durchgesetzt werden sollen.
Im Folgenden sind einige direkte Vorteile eines Konfigurations- und Änderungsmanagementsystems aufgelistet:
-
Es unterstützt Entwicklungsmethoden.
-
Es gewährleistet die Produktintegrität.
-
Es gewährleistet die Vollständigkeit und Richtigkeit des konfigurierten Produkts.
-
Es bietet eine stabile Umgebung für die Entwicklung des Produkts.
-
Es schränkt Änderungen an Arbeitsergebnissen auf der Basis von Projektrichtlinien ein.
-
Es liefert ein Prüfprotokoll, auf dessen Basis festgestellt werden kann, warum, wann und von wem Arbeitsergebnisse
geändert wurden.
Außerdem speichert ein Konfigurations- und Änderungsmanagementsystem detaillierte 'Abrechnungsdaten' über den
Entwicklungsprozess selbst, z. B. wer (wann und warum) eine bestimmte Version erstellt hat, welche Versionen von
Quellen in einen bestimmten Build aufgenommen wurden und viele weitere wichtige Informationen.
Das Konfigurations- und Änderungsmanagementsystem einer Organisation wird während des gesamten Lebenszyklus des
Produkts - von der Konzeptionsphase bis hin zum Deployment - verwendet. Als Asset-Repository einer Organisation enthält
das Konfigurations- und Änderungsmanagementsystem die aktuellen und bisherigen Versionen der Quellendateien von
Anforderungs-, Design- und Implementierungsartefakten, die eine bestimmte Version eines Systems oder einer
Systemkomponente definieren.
Die im Konfigurations- und Änderungsmanagementsystem dargestellte Produktverzeichnisstruktur enthält alle Artefakte,
die für die Implementierung des Produkts erforderlich sind. Deshalb steht die Disziplin "Konfigurations- &
Änderungsmanagement" mit allen anderen Disziplinen des Prozesses in Beziehung, das er als Repository für die erzeugten
Arbeitsergebnisse dient, zu denen die folgenden gehören:
|