Konfigurationsmanagement. Verwaltung der Arbeitsergebnisse.
Wofür ist das Konfigurationsmanagement gut? Warum brauchen Sie es und was sollten Sie beim Konfigurationsmanagement beachten?
Eine Konfiguration ist eine Einheit an Arbeitsergebnissen oder - einfacher ausgedrückt - ein Päckchen, in das Sie die einzelnen, zusammengehörigen Produktteile hineinpacken.
Zum Beispiel können das Dokumente, Anforderungen, analysierte Stakeholder oder Testfälle sein. Diese Konfigurationen müssen Sie verwalten, damit Sie beispielsweise wissen, welche Konfiguration einer Software als Release herausgegeben wurde.
Wenn Sie eine Konfiguration mit einem Label versehen wie z.B. "Release 2", dann ziehen Sie eine Baseline. Baselines sind wichtiger Bestandteil im Konfigurationsmanagement.
Konfigurationsmanagement stammt ursprünglich aus der Luftfahrtindustrie, die sich mit ungenügend dokumentierten Änderungen in der Entwicklung von Flugzeugen plagte. Daher schuf sie in den 50er Jahren einen Prozess, der dieses Problem angehen sollte. Mittlerweile begegnen Sie Konfigurationsmanagement vor allem in der Software-Entwicklung. Doch was umfasst es?
Was ist Konfigurationsmanagement?
Im Konfigurationsmanagement verwalten Sie Einheiten der Arbeitsergebnisse, die das Produkt bzw. die Software beschreiben. Eine Einheit wird Konfiguration genannt. Sie können sich darunter ein Paket vorstellen, in das Sie alle zusammengehörigen Arbeitsergebnisse hineinpacken. Zu diesen Ergebnissen bzw. Teilen des Produkts gehören zum Beispiel Programme, Komponenten, Datenbanken, Dokumente oder Dateien. Üblicherweise liegen diese ebenfalls in verschiedenen Versionen vor. Das bedeutet also: Im Konfigurationsmanagement stellen Sie sich die einzelnen Teile des Produkts in der jeweiligen Version als Pakete bzw. Konfigurationen zusammen und verwalten diese Konfigurationen. Dadurch können Sie zum Beispiel definieren, welche Produktkonfiguration an welche Kunden weitergegeben wird.
Was genau bedeutet nun “verwalten”? Laut des Standards IEEE 24765:2017 heißt das:
- funktionelle und physische Eigenschaften von Konfigurationselementen zu identifizieren und zu dokumentieren,
- Änderungen an diesen Eigenschaften zu kontrollieren,
- Änderungen und Status der Implementierung zu dokumentieren und auszuwerten und
- Übereinstimmung mit den Anforderungen zu verifizieren.
Definition von Konfigurationsmanagement:
Konfigurationsmanagement ist die Verwaltung von Einheiten zusammengehöriger Arbeitsergebnisse (Konfigurationen).
Fragen, die das Konfigurationsmanagement beantwortet
Welcher Kunde erhielt welche Produktversion?
Wie viele Produktversionen existieren?
Welche Konfiguration bezüglich Hardware und Software braucht die geplante Produktversion?
Wenn eine Komponente geändert wird - welche Produktversionen sind betroffen?
Welche Fehler wurden für welche Produktversion gemeldet? Wo (in welchen Komponenten) lassen sie sich beheben?
Konfigurationsmanagement und Baselines
Häufig fällt im Konfigurationsmanagement der Begriff Baseline. Eine Baseline entspricht einem Referenzpunkt, der Ihnen als Basis für die weitere Entwicklung dient und zu dem Sie ggf. zurückkehren können. Wenn Sie sich eine Konfiguration als Paket mit Ihren unterschiedlichen Arbeitspaketen vorstellen, dann entspricht die Baseline dem Label, mit dem Sie das Paket versehen, zum Beispiel “Meilenstein 1”. Alle Produktteile bzw. Arbeitsergebnisse in der Konfiguration erhalten dann ebenfalls in der Version, zu der Sie sie in das Paket getan und die Baseline gezogen haben, das entsprechende Label.
Wichtige Begriffe
Atom = Element, das keine Teile enthält, die unabhängig voneinander versioniert werden können
Baseline = auch Basislinie; speziell gekennzeichnete Version einer Konfiguration
Basiskonfiguration = Definition der ersten Konfiguration
Konfiguration = auch Konfigurationseinheit; Einheit von Arbeitsergebnissen, die zusammen vorgegebene Aufgaben erfüllen
Konfigurationselement = auch Konfigurationsobjekt oder Konfigurationsitem; Bestandteil einer Konfiguration
Release = Konfiguration, die an eine externe Instanz (z.B. an einen Kunden) weitergegeben wird
Revision = auch Version; Mittel, um den einzigartigen Status eines Elements zu kennzeichnen
Zielkonfiguration = gewünschtes Ergebnis der Entwicklung
Mit objectiF RPM managen Sie Ihre Konfigurationen.
Erfahren Sie hier über objectiF RPM – Software
für Requirements Engineering und Projektmanagement »
Warum brauchen Sie Konfigurationsmanagement?
Konfigurationsmanagement bildet die Basis für einen systematischen und nachvollziehbaren Produktentwicklungsprozess. Vor allem für das Change Management ist es von erheblicher Bedeutung.
Änderungen lassen sich kontrollieren.
Auswirkungen von Änderungen an Komponenten sind bis zu den Produktkonfigurationen nachvollziehbar.
Transparenz wird verbessert
Unterschiedliche Produktkonfigurationen lassen sich strukturiert verwalten und warten. Aktuelle Entwicklung kann mit den geforderten Anforderungen verglichen werden.
Qualität wird sichergestellt.
Fehler werden reduziert und lassen sich leicht nachvollziehen bzw. zurückverfolgen, um sie zu beheben.
Produktivität wird gesteigert.
Teamkommunikation wird vereinfacht, zum Beispiel durch einen Vergleich zweier Versionen, der Unterschiede auflistet, ohne Rücksprache halten zu müssen. Zusammengehörige Arbeitsergebnisse sind zudem einfach und schnell erkennbar.
Welche Elemente gehören in eine Konfiguration?
Sie müssen nicht alle Arbeitsergebnisse eines Projekts in einer Konfiguration zusammenfassen. Für die Entwicklung von Software sind u.a. die Folgenden üblich.
- Anforderungsdokumente (z.B. Use Cases)
- Testspezifikationen und Testdaten
- Architektur- und Designdokumente
- Benutzerdokumentation
- Meta- und Konfigurationsdaten
- Installationsanleitung, Release-Notes
Konfigurationen von Anforderungen
Im Requirements Management spricht man häufig von einer sogenannten Anforderungskonfiguration. In solch einer Konfiguration fassen Sie zusammengehörige Versionen von Anforderungen zusammen. In der Regel brauchen Sie diese, um anschließend eine Baseline zu ziehen und die Auslieferungsstufe des Systems damit zu definieren. Beispielsweise sammeln Sie alle Anforderungen für Release 1 in einer Konfiguration zusammen und ziehen dann eine Baseline.
Anforderungskonfigurationen müssen folgende Eigenschaften aufweisen (vgl. K. Pohl, C. Rupp: Basiswissen – Requirements Engineering):
- Anforderungen sind sachlich zusammenhängend (Anforderungen haben denselben Zweck)
- Anforderungen sind konsistent (Anforderungen sind widerspruchsfrei)
- Anforderungskonfiguration ist eindeutig identifizierbar (Konfiguration besitzt eindeutige ID)
- Anforderungskonfiguration ist nicht veränderbar (ändert sich eine Anforderung, muss sie eine neue Version erhalten)
- Anforderungskonfiguration ist Grundlage für Zurücksetzen (man kann Anforderungen auf die Version innerhalb einer Konfiguration zurücksetzen)
So legen Sie eine Konfiguration in objectiF RPM an
In objectiF RPM entspricht eine Konfiguration einer Elementgruppe. Das bedeutet: Um eine Konfiguration zu erzeugen, brauchen Sie nur eine Elementgruppe anzulegen und dort die Elemente hineinzulegen, die zusammengehören. Die Elemente können zum Beispiel Dokumente, Anforderungen, Testfälle oder Risiken sein. Wenn Sie diese in die Elementgruppe hineinlegen, erzeugen Sie Referenzen auf die Originaldateien. So bleiben die Dateien dort abgelegt, wo Sie sie ursprünglich gespeichert haben. Für Elementgruppen können Sie Baselines ziehen, indem Sie eine Revision der Elementgruppe erzeugen. So einfach funktioniert Konfigurationsmanagement mit der passenden Software.