„Konfigurationsmanagement“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K →‎Konfigurationsbuchführung mit professionellen Werkzeugen: Halbgeviertstrich, Links normiert, Kleinkram
Zeile 1: Zeile 1:
'''Konfigurationsmanagement''' ('''KM'''; {{enS|configuration management}}, ''CM'') ist eine [[Management]]disziplin, die organisatorische und verhaltensmäßige Regeln auf den Lebenslauf eines Produkts und seiner [[Konfigurationseinheit]]en von [[Produktentwicklung|Entwicklung]] über [[Herstellung]] und Betreuung bis hin zur Entsorgung<ref>Bei der Entsorgung sind u.&nbsp;a. aus Gründen des Umweltschutz' insb. die im Produkt verwendeten (umweltschädigenden) Materialien von Interesse.</ref> anwendet.<ref>vgl. DIN, S. 7</ref>
'''Konfigurationsmanagement''' ('''KM'''; {{enS|configuration management}}, ''CM'') ist eine [[Management]]disziplin<ref>{{Internetquelle |url=https://www.managementnormen.de/de/norm/din-iso-10007/325347639 |titel=Managementnormen & Normen für Managementsysteme |hrsg=Beuth Verlag |datum=2021-04-22 |abruf=2021-04-22}}</ref>, die organisatorische und verhaltensmäßige Regeln auf den Lebenslauf eines Produkts und seiner ''Konfigurationseinheiten'' von [[Produktentwicklung|Entwicklung]] über [[Herstellung]] und Betreuung bis hin zur Entsorgung<ref>Bei der Entsorgung sind u.&nbsp;a. aus Gründen des Umweltschutz' insb. die im Produkt verwendeten (umweltschädigenden) Materialien von Interesse.</ref> anwendet.<ref>vgl. DIN, S. 7</ref>

Weiterhin korreliert KM mit dem Dokumentationsmanagement im [[Projektmanagement]].<ref>{{Literatur |Autor=Bernd-J. Madauss |Titel=Dokumentations- und Konfigurationsmanagement im Projekt |Sammelwerk=Projektmanagement: Theorie und Praxis aus einer Hand |Verlag=Springer |Ort=Berlin, Heidelberg |Datum=2017 |ISBN=978-3-662-54432-7 |DOI=10.1007/978-3-662-54432-7_12 |Seiten=455–481 |Online=10.1007/978-3-662-54432-7_12 |Abruf=2021-04-22}}</ref>


== Grundlagen ==
== Grundlagen ==
Zeile 18: Zeile 20:
Ä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 [[Software-Configuration-Management|Softwarekonfigurationsmanagements]].
Ä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 [[Software-Configuration-Management|Softwarekonfigurationsmanagements]].


== Definition nach ANSI ==
== Definition ==
=== 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:
ANSI ([[American National Standards Institute]]) hat in Zusammenarbeit mit EIA ([[Electronic Industries Alliance]]) folgende Definition veröffentlicht:<ref>{{Literatur |Titel=EIA-649 National Consensus Standard for Configuration Management |Sammelwerk=Wikipedia |Datum=2020-10-17 |Online=https://en.wikipedia.org/w/index.php?title=EIA-649_National_Consensus_Standard_for_Configuration_Management&oldid=983923288 |Abruf=2021-04-22}}</ref><ref>{{Internetquelle |url=https://www.sae.org/standards/content/eia649c/ |titel=EIA649C: Configuration Management Standard - SAE International |abruf=2021-04-22}}</ref>

"''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."''<ref>ANSI/EIA-649-B</ref>
"''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."''


Zu Deutsch:
Zu Deutsch:
Zeile 26: Zeile 31:
"''Konfigurationsmanagement ist ein Managementprozess zur Herstellung und Erhaltung einer Übereinstimmung der Produktleistungen sowie der funktionalen und physischen Eigenschaften des Produktes mit den [[Anforderung]]en, dem [[Produktdesign]] und den operativen Informationen während des gesamten [[Produktlebenszyklus]].''"
"''Konfigurationsmanagement ist ein Managementprozess zur Herstellung und Erhaltung einer Übereinstimmung der Produktleistungen sowie der funktionalen und physischen Eigenschaften des Produktes mit den [[Anforderung]]en, dem [[Produktdesign]] und den operativen Informationen während des gesamten [[Produktlebenszyklus]].''"


=== ISO 10007 - Qualitätsmanagement – Leitfaden für Konfigurationsmanagement ===
== Definition nach ISO 10007 ==
Die neueste international verabschiedete Definition gibt die [[ISO 10007]]:2017:
Die international verabschiedete Definition gibt die [[ISO 10007]]:<ref name=":0">{{Literatur |Titel=DIN ISO 10007:2020-10, Qualitätsmanagement_- Leitfaden für Konfigurationsmanagement (ISO_10007:2017) |Verlag=Beuth Verlag GmbH |DOI=10.31030/3175839 |Online=https://www.beuth.de/de/-/-/325347639 |Abruf=2021-04-22}}</ref>


'''Konfigurationsmanagement''' "ist eine Managementtätigkeit, die die technische und administrative Leitung des gesamten Produkt- und Dienstleistungslebenszyklus, dessen Konfigurationsangaben und Status und der produkt- und dienstleistungskonfigurationsbezogenen Angaben übernimmt."
'''Konfigurationsmanagement''' "ist eine Managementtätigkeit, die die technische und administrative Leitung des gesamten Produkt- und Dienstleistungslebenszyklus, dessen Konfigurationsangaben und Status und der produkt- und dienstleistungskonfigurationsbezogenen Angaben übernimmt."
Zeile 36: Zeile 41:


Eine '''Konfiguration''' ist somit die Summe "miteinander verbundener funktioneller und physischer Merkmale eines Produktes, wie sie in den Konfigurationsangaben beschrieben sind".
Eine '''Konfiguration''' ist somit die Summe "miteinander verbundener funktioneller und physischer Merkmale eines Produktes, wie sie in den Konfigurationsangaben beschrieben sind".

=== Andere Definitionen ===
Weitere Definitionen von KM finden sich in verschiedenen Büchern<ref>{{Internetquelle |url=https://ieeexplore.ieee.org/book/6129685 |titel=Software Maintenance Management: Evaluation and Continuous Improvement {{!}} IEEE eBooks {{!}} IEEE Xplore |abruf=2021-04-22}}</ref><ref>{{Internetquelle |url=https://ieeexplore.ieee.org/document/9100074/ |titel=Software Configuration Management Handbook, Third Edition |abruf=2021-04-22 |sprache=en-US}}</ref> (teils als Kapitel<ref>{{Literatur |Titel=Configuration Management |Sammelwerk=Global Software and IT |Verlag=John Wiley & Sons, Ltd |Datum=2011 |ISBN=978-1-118-13510-5 |DOI=10.1002/9781118135105.ch11 |Seiten=81–82 |Online=https://onlinelibrary.wiley.com/doi/abs/10.1002/9781118135105.ch11 |Abruf=2021-04-22}}</ref>) oder anderen Medien, wie z.B. [[SWEBOK]].<ref>{{Internetquelle |url=http://swebokwiki.org/Chapter_6:_Software_Configuration_Management |titel=Chapter 6: Software Configuration Management - SWEBOK |abruf=2021-04-22}}</ref>

Im folgenden sind Definitionen von Herstellern aufgezeigt:

* '''IBM Engineering Requirements Management (ERM) DOORS:'''

CCM - Change and Configuration Management - "A systematic approach to establish and maintain the consistent performance of a system or product throughout its lifecycle, and to effectively manage changes in that product or system."<ref>{{Internetquelle |url=https://www.ibm.com/docs/en/ermd/9.7.2?topic=glossary#gloss_C__x5679304 |titel=Glossary terms for IBM Engineering Requirements Management DOORS |abruf=2021-04-22 |sprache=en-us}}</ref>

* '''Red Hat:'''

Unter KM versteht man "die Verwaltung von Computersystemen, Servern und Software in der gewünschten Einheitlichkeit." mit dem Ziel "damit Unternehmen sicherstellen können, dass ihre Systeme auch bei ständigen Veränderungen wie erwartet funktionieren."<ref>{{Internetquelle |url=https://www.redhat.com/de/topics/automation/what-is-configuration-management |titel=Was ist Konfigurationsmanagement? |abruf=2021-04-22 |sprache=de}}</ref>


== Ziele ==
== 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.
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.

Im IT-Kontext werden die folgende Ziele mit KM verfolgt bzw. davon abgedeckt:<ref>{{Literatur |Autor=Carl Steinweg |Titel=Versions- und Konfigurationsmanagement |Sammelwerk=Projektkompass Softwareentwicklung: Geschäftsorientierte Entwicklung von IT-Systemen |Verlag=Vieweg+Teubner Verlag |Ort=Wiesbaden |Datum=1999 |Reihe=Zielorientiertes Software Development |ISBN=978-3-322-96910-1 |DOI=10.1007/978-3-322-96910-1_11 |Seiten=267–289 |Online=10.1007/978-3-322-96910-1_11 |Abruf=2021-04-22}}</ref>

* Revisionssicherheit
* Qualitätssteigerung und Sicherheit der Systeme
* Effizienzsteigerung des Projekt-/Produktzyklus
* Komplexe Entwicklung und Wartung absichern


== Konzeptionelle Teilgebiete ==
== Konzeptionelle Teilgebiete ==
Zeile 75: Zeile 100:
Konfigurationsmanagementwerkzeuge sind für die Verwaltung von (Software-)Versionsständen. Sie verwenden Archivierungsverfahren, die diese Problematik zu beheben und die Prozesse für den Benutzer sinnvoll zu unterstützen. Ein ''CM-Tool'' verwaltet 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. Es werden z. B. die Differenzen der Dateistände zumeist mit [[Delta-Kodierung|„Reverse-Delta“-Verfahren]] in einer Archivdatei gespeichert. 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.
Konfigurationsmanagementwerkzeuge sind für die Verwaltung von (Software-)Versionsständen. Sie verwenden Archivierungsverfahren, die diese Problematik zu beheben und die Prozesse für den Benutzer sinnvoll zu unterstützen. Ein ''CM-Tool'' verwaltet 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. Es werden z. B. die Differenzen der Dateistände zumeist mit [[Delta-Kodierung|„Reverse-Delta“-Verfahren]] in einer Archivdatei gespeichert. 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
==== Beispiele für Werkzeuge ====
Die folgende Liste beinhaltet verschiedene Werkzeuge, teils kommerziell, die für KM eingesetzt werden oder eingesetzt werden können.
Folgende Systeme bieten Unterstützung beim Versionieren:
Eine weitere Vergleichsliste mit Fokus auf Open-Source Software existiert, siehe ''Comparison of open-source configuration management software.''<ref>{{Literatur |Titel=Comparison of open-source configuration management software |Sammelwerk=Wikipedia |Datum=2021-04-12 |Online=https://en.wikipedia.org/w/index.php?title=Comparison_of_open-source_configuration_management_software&oldid=1017364053 |Abruf=2021-04-22}}</ref>
* [[Concurrent Versions System|CVS]] und [[Subversion (Software)|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.
Zu beachten ist, dass ein KM-Werkzeug über den Umfang eines gewöhnliches Versionsmanagement-Werkzeugs, wie Git, hinausgeht, da das Versionsmanagement-Werkzeug selbst als eine Konfigurationseinheit gilt. Im einfachsten Falle, kann z. B. Excel als KM-Werkzeug zum Einsatz kommen. Größere Werkzeuge (PLM, ALM) unterstützen KM nebst Versionskontrolle und decken z. B. auch Anforderungsmanagement ab. Wenige der genannten Tools beherrschen auch Funktionalität in das [[Produktlinienentwicklung (Software)|Produktlinien]]- und [[Variantenmanagement]].<ref>{{Internetquelle |url=https://intland.com/codebeamer/product-line-variants-management/ |titel=Product Line & Variants Management {{!}} codebeamer |abruf=2021-04-22 |sprache=en-US}}</ref>
* [[codeBeamer]] von Intland Software (kommerziell)<ref>http://www.intland.com/</ref>

* Kovair ALM von Kovair<ref>{{Internetquelle |url=https://www.kovair.com/ |titel=Application Lifecycle Management, ALM, DevOps Integration Tools - Kovair |abruf=2019-04-18 |sprache=en-US}}</ref>
''Hinweis: Die folgende Liste ist nicht vollständig.''
* [[Polarion ALM]] von Polarion Software (kommerziell)<ref>http://www.polarion.com/</ref>

* [[Team Foundation Server]] von Microsoft (kommerziell)
Für weitere KM-naheliegende Werkzeuge aus dem Anforderungsmanagement (ALM, PLM), siehe ''Liste von Anforderungsmanagement-Werkzeugen (English)''<ref>{{Literatur |Titel=List of requirements engineering tools |Sammelwerk=Wikipedia |Datum=2021-04-22 |Online=https://en.wikipedia.org/w/index.php?title=List_of_requirements_engineering_tools&oldid=1019273350 |Abruf=2021-04-22}}</ref>
* [[Fossil SCM]], a simple distributed software configuration management system (free and open source)<ref>http://fossil-scm.org/</ref>

==== Versionsmanagement ====<!-- Bitte A-Z -->

*[[Bazaar]]
*[[Concurrent Versions System|CVS]]
*Fossil SCM<ref>{{Internetquelle |url=https://fossil-scm.org/home/doc/trunk/www/index.wiki |titel=Fossil: Home |abruf=2021-04-22}}</ref>
*Gerrit Code Review bzw. [[Gerrit (Software)]] aufbauend auf Git, genutzt u. a. von [[Wikimedia Foundation|Wikimedia]] für die Entwicklung
*[[Git]] (kommerziell umgesetzt durch z. B. [[GitLab]], [[GitHub]])
*[[Mercurial]]
*[[Subversion (Software)|SVN]]

==== Konfigurationsmanagement & Hybriden ====<!-- Bitte A-Z -->
* CodeBeamer<ref>http://www.intland.com/</ref>
*IBM's [[Rational Synergy]]
*Kovair ALM<ref>{{Internetquelle |url=https://www.kovair.com/alm-studio/ |titel=Application Lifecycle Management - ALM Tools, Software - Kovair |abruf=2021-04-22 |sprache=en-US}}</ref>
* [[Micro Focus]]'s Dimensions CM<ref>{{Internetquelle |url=https://www.microfocus.com/en-us/products/dimensions-cm/overview |titel=Configuration Management {{!}} Dimensions CM {{!}} Micro Focus |abruf=2021-04-22 |sprache=en-us}}</ref> (früher [[Serena Software]])<ref>{{Internetquelle |autor=Rüdiger Brand, ESG Elektroniksystem- und Logistik GmbH |url=https://web.archive.org/web/20160224073135/http://2009.reconf.de/fileadmin/PDF_Dateien/REConf_2009/Vortraege/Ruediger_Brand.pdf |titel=Erfahrungsbericht aus einem Großprojekt des öAG Von der Anforderungsanalyse bis zur Überprüfung der Prüffallabdeckung mit durchgängiger Werkzeugkette |datum=2009-03-11 |abruf=2021-04-22 |sprache=de}}</ref>
*Microsoft Azure DevOps Server (formals [[Team Foundation Server]])<ref>{{Internetquelle |url=https://azure.microsoft.com/de-de/services/devops/server/ |titel=Azure DevOps Server {{!}} Microsoft Azure |abruf=2021-04-22 |sprache=de}}</ref>
*PTC's PLM Windchill<ref>{{Internetquelle |url=https://www.ptc.com/en/technologies/plm/change-configuration-management |titel=Engineering Change Management Software {{!}} Configuration Management {{!}} PTC |abruf=2021-04-22 |sprache=en}}</ref> (formals [[MKS]], Integrity)
* Siemens Polarion ALM (siehe [[Siemens PLM Software]])<ref>{{Internetquelle |url=https://www.plm.automation.siemens.com/global/en/ |titel=Siemens Digital Industries Software |abruf=2021-04-22}}</ref><ref>{{Internetquelle |url=https://www.plm.automation.siemens.com/global/de/products/software-engineering/software-change-configuration-management.html |titel=Softwareänderungs- und Konfigurationsmanagement |abruf=2021-04-22}}</ref>


==== Spezialisierte Werkzeuge (z. B. DevOps-KM oder Cloud)<ref>{{Internetquelle |autor=12 Dec 2018 Marco Bravo Feed 382up 5 comments |url=https://opensource.com/article/18/12/configuration-management-tools |titel=Top 5 configuration management tools |abruf=2021-04-22 |sprache=en}}</ref> ====<!-- Bitte A-Z -->
Um Konfigurationen zu verwalten, sind sie bedingt geeignet.<ref>Hier wurden verschiedene Open-Source-Systeme verglichen: [[:en:Comparison of open source configuration management software|Comparison of open source configuration management software]]</ref>


* [[Ansible]]
; Beispiele für Konfigurationsmanagement-Werkzeuge
* [[CFEngine]]
* [[PTC-Integrity|PTC Integrity]] von Parametric Technology Corporation, vormals MKS (kommerziell)<ref>http://www.ptc.com//</ref>
* Chef<ref>{{Internetquelle |url=https://www.chef.io/ |titel=Chef Software DevOps Automation Tools & Solutions {{!}} Chef |abruf=2021-04-22 |sprache=en}}</ref>
* [[:en:Dimensions CM|Micro Focus Dimensions CM]] von [[Micro Focus]] (vorm. [[Serena Software]]) (kommerziell)<ref>{{Internetquelle |url=https://www.microfocus.com/de-de/products/dimensions-cm/overview |titel=Dimensions CM |abruf=2020-05-08 |sprache=de}}</ref><ref>Bericht ESG [[Bundeswehr]] | {{Webarchiv|url=http://2009.reconf.de/fileadmin/PDF_Dateien/REConf_2009/Vortraege/Ruediger_Brand.pdf |wayback=20160224073135 |text=— }}</ref>
* [[Puppet (Software)|Puppet]]
* [[Rational Synergy]] von IBM (kommerziell)
* [[Saltstack]]


== Siehe auch ==<!-- Bitte A-Z -->
== Siehe auch ==<!-- Bitte A-Z -->
Zeile 105: Zeile 150:
* [[V-Modell]]
* [[V-Modell]]


== Literatur ==
== Literatur ==<!-- Bitte A-Z -->
* 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.<ref>{{Literatur |Autor=Colin Hood, Simon Wiedemann, Stefan Fichtinger, Urte Pautz |Titel=Requirements Management: The Interface Between Requirements Development and All Other Systems Engineering Processes |Verlag=Springer-Verlag |Ort=Berlin Heidelberg |Datum=2008 |ISBN=978-3-540-47689-4 |Online=https://www.springer.com/gp/book/9783540476894 |Abruf=2021-04-22}}</ref>
* [ISO] – ISO – [[Internationale Organisation für Normung]]. ISO 10007:2017: Quality management – Guidelines for configuration management.
*Hees, Andreas et al. “Konfigurationsmanagement für rekonfigurierbare Produktionssysteme.” ''ZWF Zeitschrift für wirtschaftlichen Fabrikbetrieb'' 111.1–2 (2016): 11–14. Print.<ref>{{Literatur |Autor=Andreas Hees, Leon Lipp, Stefan Braunreuther, Gunther Reinhart |Titel=Konfigurationsmanagement für rekonfigurierbare Produktionssysteme |Sammelwerk=Zeitschrift für wirtschaftlichen Fabrikbetrieb |Band=111 |Nummer=1-2 |Datum=2016-02-24 |ISSN=2511-0896 |DOI=10.3139/104.111459 |Seiten=11–14 |Online=https://www.degruyter.com/document/doi/10.3139/104.111459/html |Abruf=2021-04-22}}</ref>
* Die aktuell gültige [[DIN]]-Norm lautet: Qualitätsmanagement – Leitfaden für Konfigurationsmanagement (ISO 10007:2017) DIN ISO 10007:2020-10 bzw. ÖNORM ISO 10007:2020 12 15
*ISO 10007 - Qualitätsmanagement – Leitfaden für Konfigurationsmanagement<ref name=":0" />
* 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 ==
== Einzelnachweise ==

Version vom 22. April 2021, 15:48 Uhr

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

Weiterhin korreliert KM mit dem Dokumentationsmanagement im Projektmanagement.[4]

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

ANSI

ANSI (American National Standards Institute) hat in Zusammenarbeit mit EIA (Electronic Industries Alliance) folgende Definition veröffentlicht:[5][6]

"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."

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."

ISO 10007 - Qualitätsmanagement – Leitfaden für Konfigurationsmanagement

Die international verabschiedete Definition gibt die ISO 10007:[7]

Konfigurationsmanagement "ist eine Managementtätigkeit, die die technische und administrative Leitung des gesamten Produkt- und Dienstleistungslebenszyklus, dessen Konfigurationsangaben und Status und der produkt- und dienstleistungskonfigurationsbezogenen Angaben übernimmt."

"Konfigurationsmanagement dokumentiert die Produkt- oder Dienstleistungskonfiguration."

"Konfigurationsmanagement sorgt für Kennzeichnung und Rückverfolgbarkeit des Produkts und hält den erreichten Stand seiner physischen und funktionellen Anforderungen sowie den Zugang zu genauen Informationen in allen Phasen seines Lebenszyklus bereit."

Eine Konfiguration ist somit die Summe "miteinander verbundener funktioneller und physischer Merkmale eines Produktes, wie sie in den Konfigurationsangaben beschrieben sind".

Andere Definitionen

Weitere Definitionen von KM finden sich in verschiedenen Büchern[8][9] (teils als Kapitel[10]) oder anderen Medien, wie z.B. SWEBOK.[11]

Im folgenden sind Definitionen von Herstellern aufgezeigt:

  • IBM Engineering Requirements Management (ERM) DOORS:

CCM - Change and Configuration Management - "A systematic approach to establish and maintain the consistent performance of a system or product throughout its lifecycle, and to effectively manage changes in that product or system."[12]

  • Red Hat:

Unter KM versteht man "die Verwaltung von Computersystemen, Servern und Software in der gewünschten Einheitlichkeit." mit dem Ziel "damit Unternehmen sicherstellen können, dass ihre Systeme auch bei ständigen Veränderungen wie erwartet funktionieren."[13]

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.

Im IT-Kontext werden die folgende Ziele mit KM verfolgt bzw. davon abgedeckt:[14]

  • Revisionssicherheit
  • Qualitätssteigerung und Sicherheit der Systeme
  • Effizienzsteigerung des Projekt-/Produktzyklus
  • Komplexe Entwicklung und Wartung absichern

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

Konfigurationsmanagementwerkzeuge sind für die Verwaltung von (Software-)Versionsständen. Sie verwenden Archivierungsverfahren, die diese Problematik zu beheben und die Prozesse für den Benutzer sinnvoll zu unterstützen. Ein CM-Tool verwaltet 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. Es werden z. B. die Differenzen der Dateistände zumeist mit „Reverse-Delta“-Verfahren in einer Archivdatei gespeichert. 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 Werkzeuge

Die folgende Liste beinhaltet verschiedene Werkzeuge, teils kommerziell, die für KM eingesetzt werden oder eingesetzt werden können. Eine weitere Vergleichsliste mit Fokus auf Open-Source Software existiert, siehe Comparison of open-source configuration management software.[15]

Zu beachten ist, dass ein KM-Werkzeug über den Umfang eines gewöhnliches Versionsmanagement-Werkzeugs, wie Git, hinausgeht, da das Versionsmanagement-Werkzeug selbst als eine Konfigurationseinheit gilt. Im einfachsten Falle, kann z. B. Excel als KM-Werkzeug zum Einsatz kommen. Größere Werkzeuge (PLM, ALM) unterstützen KM nebst Versionskontrolle und decken z. B. auch Anforderungsmanagement ab. Wenige der genannten Tools beherrschen auch Funktionalität in das Produktlinien- und Variantenmanagement.[16]

Hinweis: Die folgende Liste ist nicht vollständig.

Für weitere KM-naheliegende Werkzeuge aus dem Anforderungsmanagement (ALM, PLM), siehe Liste von Anforderungsmanagement-Werkzeugen (English)[17]

Versionsmanagement

Konfigurationsmanagement & Hybriden

Spezialisierte Werkzeuge (z. B. DevOps-KM oder Cloud)[27]

Siehe auch

Literatur

  • 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.[30]
  • Hees, Andreas et al. “Konfigurationsmanagement für rekonfigurierbare Produktionssysteme.” ZWF Zeitschrift für wirtschaftlichen Fabrikbetrieb 111.1–2 (2016): 11–14. Print.[31]
  • ISO 10007 - Qualitätsmanagement – Leitfaden für Konfigurationsmanagement[7]

Einzelnachweise

  1. Managementnormen & Normen für Managementsysteme. Beuth Verlag, 22. April 2021, abgerufen am 22. April 2021.
  2. Bei der Entsorgung sind u. a. aus Gründen des Umweltschutz' insb. die im Produkt verwendeten (umweltschädigenden) Materialien von Interesse.
  3. vgl. DIN, S. 7
  4. Bernd-J. Madauss: Dokumentations- und Konfigurationsmanagement im Projekt. In: Projektmanagement: Theorie und Praxis aus einer Hand. Springer, Berlin, Heidelberg 2017, ISBN 978-3-662-54432-7, S. 455–481, doi:10.1007/978-3-662-54432-7_12 (10.1007/978-3-662-54432-7_12 [abgerufen am 22. April 2021]).
  5. EIA-649 National Consensus Standard for Configuration Management. In: Wikipedia. 17. Oktober 2020 (wikipedia.org [abgerufen am 22. April 2021]).
  6. EIA649C: Configuration Management Standard - SAE International. Abgerufen am 22. April 2021.
  7. a b DIN ISO 10007:2020-10, Qualitätsmanagement_- Leitfaden für Konfigurationsmanagement (ISO_10007:2017). Beuth Verlag GmbH, doi:10.31030/3175839 (beuth.de [abgerufen am 22. April 2021]).
  8. Software Maintenance Management: Evaluation and Continuous Improvement | IEEE eBooks | IEEE Xplore. Abgerufen am 22. April 2021.
  9. Software Configuration Management Handbook, Third Edition. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  10. Configuration Management. In: Global Software and IT. John Wiley & Sons, Ltd, 2011, ISBN 978-1-118-13510-5, S. 81–82, doi:10.1002/9781118135105.ch11 (wiley.com [abgerufen am 22. April 2021]).
  11. Chapter 6: Software Configuration Management - SWEBOK. Abgerufen am 22. April 2021.
  12. Glossary terms for IBM Engineering Requirements Management DOORS. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  13. Was ist Konfigurationsmanagement? Abgerufen am 22. April 2021.
  14. Carl Steinweg: Versions- und Konfigurationsmanagement. In: Projektkompass Softwareentwicklung: Geschäftsorientierte Entwicklung von IT-Systemen (= Zielorientiertes Software Development). Vieweg+Teubner Verlag, Wiesbaden 1999, ISBN 978-3-322-96910-1, S. 267–289, doi:10.1007/978-3-322-96910-1_11 (10.1007/978-3-322-96910-1_11 [abgerufen am 22. April 2021]).
  15. Comparison of open-source configuration management software. In: Wikipedia. 12. April 2021 (wikipedia.org [abgerufen am 22. April 2021]).
  16. Product Line & Variants Management | codebeamer. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  17. List of requirements engineering tools. In: Wikipedia. 22. April 2021 (wikipedia.org [abgerufen am 22. April 2021]).
  18. Fossil: Home. Abgerufen am 22. April 2021.
  19. http://www.intland.com/
  20. Application Lifecycle Management - ALM Tools, Software - Kovair. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  21. Configuration Management | Dimensions CM | Micro Focus. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  22. Rüdiger Brand, ESG Elektroniksystem- und Logistik GmbH: Erfahrungsbericht aus einem Großprojekt des öAG Von der Anforderungsanalyse bis zur Überprüfung der Prüffallabdeckung mit durchgängiger Werkzeugkette. 11. März 2009, abgerufen am 22. April 2021.
  23. Azure DevOps Server | Microsoft Azure. Abgerufen am 22. April 2021.
  24. Engineering Change Management Software | Configuration Management | PTC. Abgerufen am 22. April 2021 (englisch).
  25. Siemens Digital Industries Software. Abgerufen am 22. April 2021.
  26. Softwareänderungs- und Konfigurationsmanagement. Abgerufen am 22. April 2021.
  27. 12 Dec 2018 Marco Bravo Feed 382up 5 comments: Top 5 configuration management tools. Abgerufen am 22. April 2021 (englisch).
  28. Chef Software DevOps Automation Tools & Solutions | Chef. Abgerufen am 22. April 2021 (englisch).
  29. CMDBf | DMTF. Abgerufen am 14. April 2021.
  30. Colin Hood, Simon Wiedemann, Stefan Fichtinger, Urte Pautz: Requirements Management: The Interface Between Requirements Development and All Other Systems Engineering Processes. Springer-Verlag, Berlin Heidelberg 2008, ISBN 978-3-540-47689-4 (springer.com [abgerufen am 22. April 2021]).
  31. Andreas Hees, Leon Lipp, Stefan Braunreuther, Gunther Reinhart: Konfigurationsmanagement für rekonfigurierbare Produktionssysteme. In: Zeitschrift für wirtschaftlichen Fabrikbetrieb. Band 111, Nr. 1-2, 24. Februar 2016, ISSN 2511-0896, S. 11–14, doi:10.3139/104.111459 (degruyter.com [abgerufen am 22. April 2021]).