Konfigurationsmanagement

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. April 2016 um 19:57 Uhr durch Aka (Diskussion | Beiträge) (Satzzeichen). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Konfigurationsmanagement (KM; englisch configuration management, CM) ist eine Managementdisziplin, die organisatorische und verhaltensmäßige Regeln auf den Lebenslauf eines Produkts und seiner Konfigurationseinheiten von Entwicklung über Herstellung und Betreuung bis hin zur Entsorgung[1] anwendet.[2]

Grundlagen

Konfigurationseinheit bedeutet 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

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." [3]

Zu Deutsch:

"Konfigurationsmanagement ist ein Managementprozess zur Herstellung und Erhaltung einer Übereinstimmung der Produktleistungen sowie der funktionalen und physischen 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 product configuration information" ist. Product configuration information wiederum ist definiert als "requirements for product design, realization, verification, operation and support".

Zu Deutsch:

Unter Konfigurationsmanagement versteht man "koordinierte Tätigkeiten zur Leitung und Lenkung von Konfigurationen". Eine Konfiguration ist somit die Summe "miteinander verbundener funktioneller und physischer Merkmale eines Produktes, wie sie in den Produktkonfigurationsangaben beschrieben sind". Eine Produktkonfigurationsbeschreibung setzt sich daher zusammen aus den "Anforderungen an Entwicklung, Realisierung, Verifizierung, an Funktionstüchtigkeit und Unterstützung des Produkts".

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 jede an einer Konfigurationseinheit beteiligte Partei die richtigen und zutreffenden Informationen 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 Gliederung 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 (Baselines) 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 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 daher sinnvollerweise 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 Merkmalen 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 einer Bezugskonfiguration sollte ein Konfigurationsaudit angestrengt werden.

Methoden und Werkzeuge zur Konfigurationsbuchführung von Software

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. 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-Dokumenten, 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 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. Diese 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 zusammengeführt werden können. Bei komplexeren Projekten ist eine Werkzeugunterstützung im Bereich Konfigurationsmanagement dringend angeraten.

Beispiele für Versionsmanagement Werkzeuge

Folgende Systeme bieten Unterstützung beim Versionieren:

  • CVS und SVN (freie Software, sehr gängig bei Open Source Entwicklungen von Software)
  • Bazaar, git und mercurial als verteilte Source-Managementsysteme (die sogenannte dritte Generation). Es existieren Input- und Output-Möglichkeiten zwischen diesen Werkzeugen und CVS, so dass ein Datenaustausch auch mit unterschiedlichen Tools möglich ist.
  • codeBeamer von Intland Software (kommerziell)[4]
  • Polarion ALM von Polarion Software (kommerziell)[5]
  • in-STEP BLUE von microTOOL (freie Personal Edition, kommerziell)[6]
  • Team Foundation Server von Microsoft (kommerziell)[7]
  • Fossil SCM, a simple distributed software configuration management system (free and open source)[8]

Um Konfigurationen zu verwalten, sind sie bedingt geeignet.[9]

Beispiele für Konfigurationsmanagement Werkzeuge

Siehe auch

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 3-540-47689-X.

Einzelnachweise

  1. Bei der Entsorgung sind u.a. aus Gründen des Umweltschutz' insb. die im Produkt verwendeten (umweltschädigenden) Materialien von Interesse.
  2. vgl. DIN, S. 7
  3. ANSI/EIA-649-B
  4. http://www.intland.com
  5. http://www.polarion.com
  6. http://www.microtool.de/in-step-blue-projektmanagement-software/
  7. http://www.microsoft.com/germany/visualstudio/scenarios/sccm.aspx
  8. http://fossil-scm.org/
  9. Hier wurden verschiedene Open-Source-Systeme verglichen: Comparison of open source configuration management software
  10. http://www.ptc.com//
  11. http://www.serena.com/dimensions-cm
  12. Bericht ESG Bundeswehr | http://2009.reconf.de/fileadmin/PDF_Dateien/REConf_2009/Vortraege/Ruediger_Brand.pdf