- Configuration Management
-
Konfigurationsmanagement (KM) ist eine Managementdisziplin, die organisatorische und verhaltensmäßige Regeln auf den Produktlebenslauf einer Konfigurationseinheit von seiner Entwicklung über Herstellung und Betreuung anwendet.“[1].
Inhaltsverzeichnis
Grundlagen
Konfigurationseinheit meint in diesem Zusammenhang eine „beliebige Kombination aus Hardware, Software oder Dienstleistung“. Konfigurationsmanagement ist somit nicht per se an einen bestimmten Anwendungskontext und eine Systemkonfiguration gebunden. Konfigurationsmanagement geschieht innerhalb eines sogenannten Konfigurationsmanagement-Prozesses (KMP), dieser bedarf der Organisation und Planung (KMO).
Es sind vier Teilgebiete (Teilprozesse) des KM zu unterscheiden:
- Konfigurationsidentifizierung (KI),
- Konfigurationsbuchführung (KB),
- Konfigurationsüberwachung (KÜ) und
- Konfigurationsaudit (KA).
Ihre koordinierte Umsetzung ist für ein erfolgreiches Konfigurationsmanagement unumgänglich.
Geschichte
Als Auslöser für die Etablierung bzw. Entwicklung des KM war die stetig steigende Produktkomplexität. Als Reaktion auf daraus resultierende Probleme (z.B. wahrgenommene Unbeherrschbarkeit) wurde KM in den 1950er Jahren in der Luft- und Raumfahrtindustrie als Lösungsansatz entwickelt. Instrument der Umsetzung waren zu diesem Zeitpunkt einfache Karten, die den Status einer Konfiguration kennzeichneten.
Ähnliche Komplexitätsprobleme zeigten sich in Folge auch in anderen Produktbereichen. Entsprechend wurden die Methoden und Instrumente des KM für verschiedene Anwendungsbereiche verfeinert und spezialisiert. KM-Umsetzungen sind heute Teil vieler weitreichenderer Management-Disziplinen bspw. des Produktdatenmanagements oder im Bereich der Informatik des Softwarekonfigurationsmanagements.
Definition nach ANSI
ANSI (American National Standards Institute) hat in Zusammenarbeit mit EIA (Electronic Industries Alliance) folgende Definition veröffentlicht, die weithin als allgemeingültig anerkannt wird: "Configuration Management ... is a management process for establishing and maintaining consistency of a product's performance, its functional and physical attributes, with its requirements, design and operational information, throughout its life."
Zusammengefasst kann frei übersetzt gesagt werden:
Konfigurationsmanagement ist ein Managementprozess, zur Herstellung und Erhaltung einer Übereinstimmung der Produktleistungen, sowie der funktionalen und physikalischen Eigenschaften des Produktes, mit den Anforderungen, dem Produktdesign und den operativen Informationen, während des gesamten Produktlebenszyklus.
Die neueste international verabschiedete Definition gibt die ISO 10007:2003: "configuration management coordinated activities to direct and control configuration" wobei "configuration interrelated functional and physical characteristics of a product defined in" "requirements for product design, realization, verification, operation and support" ist.
Ziele
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.
Konzeptionelle Teilgebiete
KMO-Organisation und –planung des Konfigurationsmanagements
Im Rahmen der KMO werden die organisatorischen und technischen Festlegungen zu KI, KB, KÜ 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.
KI – Konfigurationsidentifizierung
KI ist die Voraussetzung für die Durchführung von KB, KA, und KÜ. 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.
KÜ- Konfigurationsüberwachung
KÜ 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.
Methoden und Werkzeuge zur Konfigurationsbuchführung
Manuelle Methoden der Konfigurationsbuchführung
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, wie zum Beispiel bei 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.
Konfigurationsbuchführung mit professionellen Werkzeugen
Professionelle Konfigurationsmanagementwerkzeuge verwenden Archivierungsverfahren, 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 Konfigurationsmanagementwerkzeuge 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 Konfigurationsmanagementwerkzeugen 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.
Siehe auch
- CMMI
- Managementprozess
- Versionsmanagement
- Veränderungsmanagement
- Systems Engineering
- Softwaretechnik
Literatur
- [DIN] - DIN - DEUTSCHES INSTITUT FÜR NORMUNG e.V. (Hrsg.): DIN EN ISO 10007: 1996 Qualitätsmanagement - Leitfaden für Konfigurationsmanagement (ISO10007:1995) Dreisprachige Fassung EN ISO 10007:1996. Berlin: Beuth Verlag, 1996
- [ISO] - ISO - Internationale Organisation für Normung. ISO 10007:2003: Quality management systems - Guidelines for configuration management.
- Die aktuell gültige DIN-Norm lautet: Qualitätsmanagement - Leitfaden für Konfigurationsmanagement (ISO 10007:2003) DIN ISO 10007:2004-12 bzw. ÖNORM ISO 10007:2005 06 01
- Colin Hood,Simon Wiedemann, Stefan Fichtinger, Urte Pautz Requirements Management: Interface Between Requirements Development and All Other Systems Engineering Processes Chapter 7 , Springer, Berlin 2007, ISBN 354047689X
Weblinks
- International Certified Configuration Manager, iNTCCM - international Certification of Configuration Management Association
Einzelnachweise
- ↑ vgl. DIN, S. 7
Wikimedia Foundation.