Disziplin: Konfigurations- und Änderungsmanagement
Diese Disziplin beschreibt, wie die Weiterentwicklung der Arbeitsergebnisse gesteuert und synchronisiert wird, aus denen sich ein Softwaresystem zusammensetzt.
Beziehungen
Hauptbeschreibung

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:



Weitere Informationen