Releasemanagement

Stetige Weiterentwicklung will geplant sein

Konfigurationsmanagement (KM) ist „eine Managementdisziplin, die organisatorische und verhaltensmäßige Regeln auf den Produktlebenslauf einer Konfigurationseinheit von seiner Entwicklung über Herstellung und Betreuung anwendet.“ Konfigurationseinheit meint in diesem Zusammenhang eine beliebige Kombination aus Hardware, Software oder Dienstleistung. KM ist somit nicht per se an einen bestimmten Anwendungskontext gebunden. Die Anwendung und Durchführung von Konfigurationsmanagement resultiert in einem Konfigurationsmanagementprozess (KMP). Dieser bedarf der Organisation und Planung (KMO). Neben diesem konzeptionellen Teilgebiet des KM sind weitere vier Teilgebiete respektive Teilprozesse des KM zu unterscheiden. Im Einzelnen Konfigurationsidentifizierung (KI), Konfigurationsbuchführung (KB), Konfigurationsüberwachung () und Konfigurationsaudit (KA). Die integrierte Umsetzung aller Teilgebiete ist essentiell für ein erfolgreiches Konfigurationsmanagement.

Ziel des KM ist es, den Grad der Erfüllung physischer und funktionaler Anforderungen an eine Konfigurationseinheit zu dokumentieren und diesbezüglich volle Transparenz herzustellen. Diese soll zudem dazu führen, dass jeder an einer Konfigurationseinheit Interessierte die richtige und zutreffende Dokumentation verwendet.

KMO-Organisation und –planung des Konfigurationsmanagements
Im Rahmen der KMO werden die organisatorischen und technischen Festlegungen zu KI, KB, und KA getroffen. Dies kann sowohl projekt- als auch produktspezifisch erfolgen. Wesentliche Entscheidungen betreffen die Auswahl der einzusetzenden Werkzeuge, die Zuweisung von zu erfüllenden Aufgaben an Aufgabenträger sowie deren Informationsrechte und -pflichten und die Festlegung von Prozessdefinitionen. Zudem fällt die Auditierung des Gesamtsystems zur Überprüfung der Einhaltung und Wirksamkeit der getroffenen Entscheidungen der KMO zu.

KIKonfigurationsidentifizierung
KI ist die Voraussetzung für die Durchführung von KB, KA, und . Sie umfasst die Auswahl von Konfigurationseinheiten, deren Formierung zu einer Produktstruktur, Dokumentation sowie Nummernbildung zum Zweck der eindeutigen Identifizierung. Wesentliche Fragestellungen beziehen sich auf die Granularität einer Konfigurationseinheit, die Festlegung von Bezugskonfigurationen (Baseline) sowie die Auswahl einer Nummernsystematik.

- Konfigurationsüberwachung
adressiert Probleme, die sich aus der Veränderung einer Konfiguration ergeben. Zentrale Aktivität stellt daher das Änderungsmanagement (engl. change management) dar. Ziel dessen ist es, alle Änderungen an Konfigurationseinheiten sowie deren zugeordneten Dokumenten zu identifizieren, beschreiben, klassifizieren, bewerten, genehmigen und einzuführen. Die mit entsprechenden Kompetenzen und Befugnissen ausgestattete Instanz wird als Konfigurationsausschuss (engl. Change Control Board (CCB)) bezeichnet. Sinnvolle Konfigurationsüberwachung setzt einen festgeschriebenen, formalen Prozess für die Behandlung von Änderungen voraus. Übliche Prozessschritte sind die Beantragung, Bewertung, Entscheidung, Beauftragung, Review der umgesetzten Änderungen und Freigabe. Alle Schritte werden möglichst standardisiert dokumentiert. In diesem Zusammenhang relevante Dokumente sind Änderungsantrag, Sitzungsprotokoll des CCB und Änderungsauftrag. Referenzobjekt für das Änderungsmanagement ist eine Bezugskonfiguration. Zu einem bestimmten Zeitpunkt stellt diese zusammen mit allen bis dahin freigegebenen Änderungen die gültige Konfiguration dar

KB – Konfigurationsbuchführung
Der Prozess der Konfigurationsbuchführung hat die rückverfolgbare Dokumentation der Konfigurationen und Konfigurationseinheiten zum Ziel. Sie sollte von daher bereits mit der ersten Erstellung von Konfigurationsdaten einsetzen. Gegenstand der KB sind alle Daten zur Konfigurationsidentifizierung und -überwachung.

KA – Konfigurationsaudit
Ein Konfigurationsaudit ist die formale Überprüfung von Konfigurationen hinsichtlich der Erfüllung von vertraglich zugesicherten funktionellen und physischen Merkmale sowie der Übereinstimmung von realisiertem Produkt und zugehöriger Konfigurationsdokumentation. Es werden in diesem Sinne funktionale und physische Konfigurationsaudits unterschieden. Konfigurationsaudits können sowohl für ganze Konfigurationen als auch einzelne Konfigurationseinheiten durchgeführt werden. Insbesondere vor der Festlegung von Bezugskonfigurationen sollte ein Konfigurationsaudit angestrengt werden.

Für ein funktionierendes Versionsmanagement wird gefordert, jedem Stand eines Elementes (Datei, Quellcode, Dokument, Spezifikation etc.) eine eindeutige Identifizierung zuzuordnen. Manuelle Verfahren auf dem Dateisystem könnten so z.B. das Datum Uhrzeit, Freigabebezeichnung und den aktuellen Bearbeiter im Dateinamen beinhalten: Beispiel: KM_Kolleg_20050505_1715_Keller_1.0.doc. Für jeden weiteren Stand wird eine Kopie der Datei mit dem aktualisierten Namensstempel angelegt. Dieses Verfahren ist für Dokumente hilfreich, versagt aber bei der Verwaltung von Programmquellen, oder Html Dokumentation, da sich ändernde Dateinamen für Tools oder Web-Bereitstellung schlecht handhabbar sind. Abhilfe schaffen kann man bei Programmdateien dadurch, dass man die Informationen als Kommentare in die Dateien kopiert. Zur Sicherung der unterschiedlichen Stände müssen auch hier Kopien erstellt werden und diese in entsprechend bezeichneten Verzeichnissen abgelegt werden. Dieses Verfahren versagt aber auch bei HTML-Dateien. Eine weitere Möglichkeit wäre eine zusätzliche Textdatei mit den Identifizierungsstempeln der Einzeldateien. Alle Verfahren sind jedoch sehr Fehleranfällig und der Benutzer wird bei der Durchführung der Prozesse nicht unterstützt. Auch die Datumsstempel der Betriebssysteme sind je nach Betriebssystem oder Werkzeug nicht zur Identifizierung geeignet. Um Konfigurationen, definierte Zusammenstellungen, von Dateien zu verwalten bedarf es guter Disziplin der Benutzer und genau gekennzeichneter Verzeichnisse. Die Anzahl der Kopien und der Platzbedarf steigt sehr schnell an. Professionelle Konfigurationsmanagement Werkzeuge verwenden Archiv Verfahren die diese Problematik beheben und die Prozesse für den Benutzer sinnvoll unterstützen. Es werden nur die Differenzen der Dateistände zumeist mit „Reverse Delta“ Verfahren in einer Archivdatei gespeichert. Fortgeschrittene Konfigurationsmanagement Werkzeuge verwenden ein objektorientiertes Konzept und Datenbanktechnologien für die Verwaltung von Versionen. Dabei sind die Versionsnummerierung und auch weitere Informationen wie Bearbeiter, Modifizierungszeitpunkt, ein „Label“ oder ein Attribut eines zur archivierenden Objektes. Die Historie wird als Beziehung in der Datenbank hinterlegt. Konfigurationen des Systems können mit fortgeschrittenen Konfigurationsmanagement Werkzeugen ebenfalls mit eindeutiger Kennzeichnung im Archiv festgehalten werden, ohne dass die einzelnen Elemente dabei mehrfach in der Datenbank vorhanden sind. Dies Werkzeuge bieten auch eine geregelte Zugriffskontrolle, so dass konkurrierende Änderungen von verschiedenen Bearbeitern an einem Element entweder gar nicht zugelassen werden. Oder wenn sie zugelassen wurden nicht verloren gehen, sondern kontrolliert mit Merge-Mechanismen zusammen geführt werden können. Bei komplexeren Projekten ist eine Werkzeugunterstützung im Bereich Konfigurationsmanagement dringend angeraten

Abteilung: