„Konfigurationsmanagement“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Zeile 1: Zeile 1:
'''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>
'''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>
Weiterhin korreliert KM mit dem Dokumentationsmanagement im [[Projektmanagement]] (z. B. [[PRINCE2]]), sowie mit Referenzmodellen wie [[Capability Maturity Model Integration|CMM]].<ref>{{Literatur |Autor=Rainer Heinold |Titel=Rechtzeitiges Konfigurationsmanagement |Sammelwerk=Software Management: Beherrschung des Lifecycles |Verlag=Springer |Ort=Berlin, Heidelberg |Datum=2002 |Reihe=Xpert.press |ISBN=978-3-642-56367-6 |DOI=10.1007/978-3-642-56367-6_8 |Seiten=137–159 |Online=10.1007/978-3-642-56367-6_8 |Abruf=2021-04-22}}</ref><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><ref>{{Literatur |Autor=Ahmad Luqman |Titel=Comparison of Configuration Management Activities Between Prince 2 CMMI 1.1 |Sammelwerk=2006 International Conference on Emerging Technologies |Datum=2006-11 |DOI=10.1109/ICET.2006.335917 |Seiten=742–745 |Online=https://ieeexplore.ieee.org/document/4136885 |Abruf=2021-04-22}}</ref>


== Grundlagen ==
== 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 [[Konfiguration (Computer)|Systemkonfiguration]] gebunden. Konfigurationsmanagement geschieht innerhalb eines sogenannten ''Konfigurationsmanagement-Prozesses'' (KMP), dieser bedarf der ''Organisation und Planung'' (KMO).
''Konfigurationseinheit'' bedeutet in diesem Zusammenhang eine {{"|beliebige Kombination aus [[Hardware]], [[Software]] oder [[Dienstleistung]]}}.<ref name=":1">{{Internetquelle |url=https://standards.ieee.org/standard/24765-2017.html |titel=IEEE/ISO/IEC 24765-2017 - ISO/IEC/IEEE International Standard - Systems and software engineering--Vocabulary |abruf=2021-04-22}}</ref> Per ISO/IEC 24765 existieren insgesamt sechs Definitionen aus verschiedenen ISO-Normen, die sich leicht unterscheiden, jedoch das selbe Ziel verfolgen.<ref name=":1" />


Konfigurationsmanagement ist somit nicht per se an einen bestimmten Anwendungskontext und eine [[Konfiguration (Computer)|Systemkonfiguration]] gebunden. Konfigurationsmanagement geschieht innerhalb eines sogenannten ''Konfigurationsmanagement-Prozesses'' (KMP), welcher einer ''Organisation und Planung'' (KMO) bedarf.<ref name=":2">{{Internetquelle |url=https://standards.ieee.org/standard/828-2012.html |titel=IEEE 828-2012 - IEEE Standard for Configuration Management in Systems and Software Engineering |abruf=2021-04-22}}</ref>
Es sind vier Teilgebiete (Teilprozesse) des KM zu unterscheiden:


Es sind vier Teilgebiete (Teilprozesse) des KM definiert:<ref>{{Internetquelle |url=https://standards.ieee.org/standard/729-1983.html |titel=IEEE 729-1983 - IEEE Standard Glossary of Software Engineering Terminology |abruf=2021-04-22}}</ref><ref name=":3">{{Literatur |Autor=Susan A. Dart |Titel=The Past, Present, and Future of Configuration Management |Datum=1992 |DOI=10.1184/R1/6585185.V1 |Seiten=65311 Bytes |Online=https://kilthub.cmu.edu/articles/The_Past_Present_and_Future_of_Configuration_Management/6585185/1 |Abruf=2021-04-22}}</ref><ref name=":1" /><ref>{{Internetquelle |autor=14:00-17:00 |url=https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/07/19/71952.html |titel=ISO/IEC/IEEE 24765:2017 |abruf=2021-04-22 |sprache=en}}</ref>
* Konfigurationsidentifizierung (KI),

* Konfigurationsbuchführung (KB),
* Konfigurations'''identifizierung''' (KI),
* Konfigurationsüberwachung (KÜ) und
* Konfigurations'''buchführung''' (KB),
* Konfigurationsaudit (KA).
* Konfigurations'''überwachung''' (KÜ) und
* Konfigurations'''audit''' (KA).


Ihre koordinierte Umsetzung ist für ein erfolgreiches Konfigurationsmanagement unumgänglich.
Ihre koordinierte Umsetzung ist für ein erfolgreiches Konfigurationsmanagement unumgänglich.


== Geschichte ==
== Geschichte ==
Auslöser für die Etablierung bzw. Entwicklung des KM war die stetig steigende Produktkomplexität. Als Reaktion auf daraus resultierende Probleme (z.&nbsp;B. wahrgenommene Unbeherrschbarkeit) wurde KM in den [[1950er]] Jahren in der Luft- und [[Raumfahrt]]industrie als Lösungsansatz entwickelt. Instrument der Umsetzung waren zu diesem Zeitpunkt einfache Karten, die den Status einer Konfiguration kennzeichneten.
Auslöser für die Etablierung bzw. Entwicklung des KM war die stetig steigende Produktkomplexität.<ref name=":3" /> Als Reaktion auf daraus resultierende Probleme (z. B. wahrgenommene Unbeherrschbarkeit) wurde KM in den [[1950er]] Jahren in der Luft- und [[Raumfahrt]]industrie 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 [[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]].<ref>{{Literatur |Titel=History of software configuration management |Sammelwerk=Wikipedia |Datum=2018-02-11 |Online=https://en.wikipedia.org/w/index.php?title=History_of_software_configuration_management&oldid=825044532 |Abruf=2021-04-22}}</ref>


== Definition ==
== Definition ==
Zeile 31: Zeile 33:
"''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]].''"


=== IEEE Std 828™-2012 - ''IEEE Standard for Configuration Management in Systems and Software Engineering'' ===
=== ISO 10007 - Qualitätsmanagement – Leitfaden für Konfigurationsmanagement ===
Die IEEE Norm 828 ''(IEEE Standard for Configuration Management in Systems and Software Engineering)'' definiert KM wie folgt:<ref name=":2" />

* (1) eine Disziplin, die technische und administrative Anweisungen und Überwachung anwendet, um: die funktionalen und physischen Merkmale eines Konfigurationsobjekts zu identifizieren und zu dokumentieren, Änderungen an diesen Merkmalen zu kontrollieren, den Status der Änderungsverarbeitung und der Implementierung aufzuzeichnen und zu melden

* (2) technische und organisatorische Aktivitäten, die die Identifizierung, Steuerung, den Status und die Aktivitäten, die Konfigurationsidentifikation, -steuerung, -statusbuchhaltung und -prüfung umfassen.

Es ist zu beachten, dass die IEEE und die ISO Norm sich leicht unterscheidet (siehe Norm-''Annex L''<ref name=":2" />).

Weiterhin erhebt die IEEE-Norm einen Fokus auf Software.<ref>{{Internetquelle |url=https://blog.ansi.org/2017/05/configuration-management-iso-100072017/ |titel=Configuration Management Through ISO 10007:2017 - ANSI Blog |werk=The ANSI Blog |datum=2017-05-02 |abruf=2021-04-22 |sprache=en-US}}</ref>

=== ISO 10007 - ''Qualitätsmanagement – Leitfaden für Konfigurationsmanagement'' ===
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>
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."


"Konfigurationsmanagement dokumentiert die Produkt- oder Dienstleistungskonfiguration."
Weiterhin, "Konfigurationsmanagement dokumentiert die Produkt- oder Dienstleistungskonfiguration." sowie "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."

"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".
Eine '''Konfiguration''' ist somit die Summe "miteinander verbundener funktioneller und physischer Merkmale eines Produktes, wie sie in den Konfigurationsangaben beschrieben sind".

=== PRINCE2 (Agile 2016) ===
[[PRINCE2]] definiert eine sog. ''Konfigurationsmanagementstrategie'':<ref>{{Internetquelle |url=https://publications.axelos.com/prince2agile2016/content.aspx?page=pra_185&showNav=true&expandNav=false |titel=PRINCE2 Agile 2016 > A.6 Configuration management strategy |abruf=2021-04-22}}</ref> "Mithilfe einer Konfigurationsmanagementstrategie wird ermittelt, wie und von wem die Produkte des Projekts gesteuert und geschützt werden."


=== Andere Definitionen ===
=== 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>
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 Buchkapitel) oder anderen Medien, wie z.B. [[SWEBOK]].


Im folgenden sind Definitionen von Herstellern aufgezeigt:
Im folgenden sind Definitionen von Herstellern aufgezeigt:
Zeile 54: Zeile 68:


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

* '''Änderungsanträge oder -prozesse (Software)'''

Zusätzlich, kann unter KM auch verstanden werden: "Planung von Änderungsanträgen" und die "interpretationsfreie Vergabe von Prioritäten für die weitere Bearbeitung von Änderungsanträgen, die Festlegung der Wirksamkeit des umgesetzten Änderungsantrags und die Gruppierung von Änderungsanträgen zur gemeinsamen Bearbeitung."<ref>{{Literatur |Autor=Jörg Noack |Titel=Konfigurationsmanagement |Sammelwerk=Techniken der objektorientierten Softwareentwicklung |Verlag=Springer |Ort=Berlin, Heidelberg |Datum=2001 |Reihe=Xpert.press |ISBN=978-3-642-59481-6 |DOI=10.1007/978-3-642-59481-6_18 |Seiten=340–376 |Online=10.1007/978-3-642-59481-6_18 |Abruf=2021-04-22}}</ref><ref>{{Literatur |Autor=Guido Weischedel, Thomas Schwartz, Mark Andrews |Titel=Konfigurationsmanagement optimiert Änderungsprozesse |Sammelwerk=ATZextra |Band=13 |Nummer=3 |Datum=2008-06-01 |ISSN=2195-1462 |DOI=10.1365/s35778-008-0124-z |Seiten=76–79 |Online=10.1365/s35778-008-0124-z |Abruf=2021-04-22}}</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.


=== Generell ===
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.<ref name=":2" />

=== IT-Kontext ===
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>
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>


Zeile 64: Zeile 85:
* Effizienzsteigerung des Projekt-/Produktzyklus
* Effizienzsteigerung des Projekt-/Produktzyklus
* Komplexe Entwicklung und Wartung absichern
* Komplexe Entwicklung und Wartung absichern

=== Normenerfüllung ===
KM dient u. a. der Erfüllung weiterer Normen wie z. B. [[Funktionale Sicherheit]], [[ISO 26262]] (dort Teil 8)<ref>{{Internetquelle |url=https://www.kuglermaag.com/functional-safety/management-of-functional-safety-iso-26262/ |titel=Management of Functional Safety: Part 2 of ISO 26262 - Kugler Maag Cie |abruf=2021-04-22}}</ref> oder ISO 20000<ref>{{Internetquelle |autor=14:00-17:00 |url=https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/05/19/51986.html |titel=ISO/IEC 20000-1:2011 |abruf=2021-04-22 |sprache=en}}</ref><ref>{{Internetquelle |autor=IAN WHYTE FISM, MBCS |url=http://www.squaremilesystems.com/documents/IanWhyteConfigurationManagement-EnsuringCompliancewithISO.pdf |titel=Configuration Management Ensuring Compliance with ISO/IEC 20000 |hrsg=Bishops Beech Ltd |abruf=2021-04-22 |format=PDF |sprache=en}}</ref>


== Konzeptionelle Teilgebiete ==
== Konzeptionelle Teilgebiete ==
Zeile 70: Zeile 94:


=== KI – Konfigurationsidentifizierung ===
=== 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 [[Identifikator|Identifizierung]].
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 [[Identifikator|Identifizierung]]. Wesentliche Fragestellungen beziehen sich auf die [[Granularität]] einer Konfigurationseinheit, die Festlegung von Bezugskonfigurationen (Baselines) sowie die Auswahl einer Nummernsystematik.
Wesentliche Fragestellungen beziehen sich auf die [[Granularität]] einer Konfigurationseinheit, die Festlegung von Bezugskonfigurationen (Baselines) sowie die Auswahl einer Nummernsystematik.


=== KÜ – Konfigurationsüberwachung ===
=== KÜ – Konfigurationsüberwachung ===
Zeile 77: Zeile 100:


=== KB – Konfigurationsbuchführung ===
=== 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
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.
Konfigurationsidentifizierung und -überwachung.


=== KA – Konfigurationsaudit ===
=== KA – Konfigurationsaudit ===
Ein Konfigurations[[audit]] 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.
Ein Konfigurations[[audit]] 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 ==
== Methoden und Werkzeuge zur Konfigurationsbuchführung ==
Für ein funktionierendes KM wird gefordert, jeden Stand eines Elementes (Datei, Quellcode, Dokument, Spezifikation, Software, Hardware, System, etc.) eine eindeutige Identifizierung zuzuordnen, unabhängig davon ob die Methodik manuell oder automatisch erfolgt.<ref>{{Literatur |Autor=Marcus Grande |Titel=100 Minuten für Konfigurationsmanagement |Verlag=Vieweg+Teubner Verlag |Ort=Wiesbaden |Datum=2013 |ISBN=978-3-8348-1908-6 |DOI=10.1007/978-3-8348-2308-3 |Online=http://link.springer.com/10.1007/978-3-8348-2308-3 |Abruf=2021-04-22}}</ref>
=== 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 Methoden ===
Manuelle Verfahren auf dem Dateisystem könnten so z.&nbsp;B. Datum, Uhrzeit, Freigabebezeichnung und den aktuellen Bearbeiter im Dateinamen beinhalten,
Manuelle Verfahren sind Methoden, die nicht unter Berücksichtigung eines digitalen Werkzeuges (Computer, EDV, Software), eine Versionierung bzw. Konfigurierung darstellen bzw. KM-Verwaltung ermöglichen. Zum Beispiel sollten [[Lochkarte|Randlochkarten]] lange Zeit eine effiziente Verwaltung von [[Karteikarte|Karteikarten]] für Archive und Bibliotheken ohne Einsatz der Computertechnik sicher. Im einfachsten Falle können Konfigurationseinheiten z. B. auf einem Papier erfasst und dokumentiert werden mit entsprechender Zuordnung des Gültigkeitsstands (Version) und weiterer Merkmale. Dies würde sogar möglich sein um Software aus Sicht des KM zu "konfigurieren", jedoch wäre der Aufwand für die Dokumentation, die Prozesse und Integration der Änderungen manuell nicht praktisch oder sogar unmöglich aufgrund hoher Komplexität von Systemen wie z. B. einem PKW oder Flugzeug, weshalb man sich heutzutage Computer-gestützten, automatischen Werkzeugen annimmt.<ref name=":3" />
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.


=== Automatischen Werkzeugen ===
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.
Automatische bzw. assistierende Konfigurationsmanagementwerkzeuge sind Werkzeuge, um Konfigurationsmanagement Daten-basiert zu praktizieren. Sie verwenden Archivierungsverfahren und Datenbanken, und darauf aufbauend Prozesse, um den Benutzer sinnvoll im KM zu unterstützen. Ein ''KM-Werkzeug'' verwaltet die Versionsnummerierung und auch weitere Informationen wie Bearbeiter, Modifizierungszeitpunkt, ein "Label" oder ein Attribut eines zur archivierenden Objektes, und unterstützt den gesamten KM-Prozess. Die Historie wird als Beziehung in der Datenbank für Rückverfolgbarkeit 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.<ref name=":4" />


=== Beispiele für Werkzeuge ===
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.
Die folgenden Listen beinhalten 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.''


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 und eine Rückverfolgbarkeit zu anderen Werkzeugen gewährleistet sein muss.<ref name=":4" /><ref name=":5" /> 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äten im Bereich [[Produktlinienentwicklung (Software)|Produktlinien]]- und [[Variantenmanagement]].<ref>{{Internetquelle |url=https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=650239 |titel=Software Product Lines Curriculum |abruf=2021-04-22 |sprache=en}}</ref>
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 [[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 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.''<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>

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>


''Hinweis: Die folgende Liste ist nicht vollständig.''
''Hinweis: Die folgende Liste ist nicht vollständig.''
Zeile 118: Zeile 131:
*[[Git]] (kommerziell umgesetzt durch z. B. [[GitLab]], [[GitHub]])
*[[Git]] (kommerziell umgesetzt durch z. B. [[GitLab]], [[GitHub]])
*[[Mercurial]]
*[[Mercurial]]
*[[Source Code Control System|SCCS]] - Source Code Control System
*[[Subversion (Software)|SVN]]
*[[Subversion (Software)|SVN]]


Zeile 157: Zeile 171:
== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />

[[Kategorie:Konfigurationsmanagement| ]]
[[Kategorie:Konfigurationsmanagement| ]]

Version vom 22. April 2021, 18:00 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 (z. B. PRINCE2), sowie mit Referenzmodellen wie CMM.[4][5][6]

Grundlagen

Konfigurationseinheit bedeutet in diesem Zusammenhang eine „beliebige Kombination aus Hardware, Software oder Dienstleistung“.[7] Per ISO/IEC 24765 existieren insgesamt sechs Definitionen aus verschiedenen ISO-Normen, die sich leicht unterscheiden, jedoch das selbe Ziel verfolgen.[7]

Konfigurationsmanagement ist somit nicht per se an einen bestimmten Anwendungskontext und eine Systemkonfiguration gebunden. Konfigurationsmanagement geschieht innerhalb eines sogenannten Konfigurationsmanagement-Prozesses (KMP), welcher einer Organisation und Planung (KMO) bedarf.[8]

Es sind vier Teilgebiete (Teilprozesse) des KM definiert:[9][10][7][11]

  • 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.[10] 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.[12]

Definition

ANSI

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

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

IEEE Std 828™-2012 - IEEE Standard for Configuration Management in Systems and Software Engineering

Die IEEE Norm 828 (IEEE Standard for Configuration Management in Systems and Software Engineering) definiert KM wie folgt:[8]

  • (1) eine Disziplin, die technische und administrative Anweisungen und Überwachung anwendet, um: die funktionalen und physischen Merkmale eines Konfigurationsobjekts zu identifizieren und zu dokumentieren, Änderungen an diesen Merkmalen zu kontrollieren, den Status der Änderungsverarbeitung und der Implementierung aufzuzeichnen und zu melden
  • (2) technische und organisatorische Aktivitäten, die die Identifizierung, Steuerung, den Status und die Aktivitäten, die Konfigurationsidentifikation, -steuerung, -statusbuchhaltung und -prüfung umfassen.

Es ist zu beachten, dass die IEEE und die ISO Norm sich leicht unterscheidet (siehe Norm-Annex L[8]).

Weiterhin erhebt die IEEE-Norm einen Fokus auf Software.[15]

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

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

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

Weiterhin, "Konfigurationsmanagement dokumentiert die Produkt- oder Dienstleistungskonfiguration." sowie "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".

PRINCE2 (Agile 2016)

PRINCE2 definiert eine sog. Konfigurationsmanagementstrategie:[17] "Mithilfe einer Konfigurationsmanagementstrategie wird ermittelt, wie und von wem die Produkte des Projekts gesteuert und geschützt werden."

Andere Definitionen

Weitere Definitionen von KM finden sich in verschiedenen Büchern[18][19] (teils als Buchkapitel) oder anderen Medien, wie z.B. SWEBOK.

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

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

  • Änderungsanträge oder -prozesse (Software)

Zusätzlich, kann unter KM auch verstanden werden: "Planung von Änderungsanträgen" und die "interpretationsfreie Vergabe von Prioritäten für die weitere Bearbeitung von Änderungsanträgen, die Festlegung der Wirksamkeit des umgesetzten Änderungsantrags und die Gruppierung von Änderungsanträgen zur gemeinsamen Bearbeitung."[22][23]

Ziele

Generell

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.[8]

IT-Kontext

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

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

Normenerfüllung

KM dient u. a. der Erfüllung weiterer Normen wie z. B. Funktionale Sicherheit, ISO 26262 (dort Teil 8)[25] oder ISO 20000[26][27]

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

Für ein funktionierendes KM wird gefordert, jeden Stand eines Elementes (Datei, Quellcode, Dokument, Spezifikation, Software, Hardware, System, etc.) eine eindeutige Identifizierung zuzuordnen, unabhängig davon ob die Methodik manuell oder automatisch erfolgt.[28]

Manuelle Methoden

Manuelle Verfahren sind Methoden, die nicht unter Berücksichtigung eines digitalen Werkzeuges (Computer, EDV, Software), eine Versionierung bzw. Konfigurierung darstellen bzw. KM-Verwaltung ermöglichen. Zum Beispiel sollten Randlochkarten lange Zeit eine effiziente Verwaltung von Karteikarten für Archive und Bibliotheken ohne Einsatz der Computertechnik sicher. Im einfachsten Falle können Konfigurationseinheiten z. B. auf einem Papier erfasst und dokumentiert werden mit entsprechender Zuordnung des Gültigkeitsstands (Version) und weiterer Merkmale. Dies würde sogar möglich sein um Software aus Sicht des KM zu "konfigurieren", jedoch wäre der Aufwand für die Dokumentation, die Prozesse und Integration der Änderungen manuell nicht praktisch oder sogar unmöglich aufgrund hoher Komplexität von Systemen wie z. B. einem PKW oder Flugzeug, weshalb man sich heutzutage Computer-gestützten, automatischen Werkzeugen annimmt.[10]

Automatischen Werkzeugen

Automatische bzw. assistierende Konfigurationsmanagementwerkzeuge sind Werkzeuge, um Konfigurationsmanagement Daten-basiert zu praktizieren. Sie verwenden Archivierungsverfahren und Datenbanken, und darauf aufbauend Prozesse, um den Benutzer sinnvoll im KM zu unterstützen. Ein KM-Werkzeug verwaltet die Versionsnummerierung und auch weitere Informationen wie Bearbeiter, Modifizierungszeitpunkt, ein "Label" oder ein Attribut eines zur archivierenden Objektes, und unterstützt den gesamten KM-Prozess. Die Historie wird als Beziehung in der Datenbank für Rückverfolgbarkeit 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.[29]

Beispiele für Werkzeuge

Die folgenden Listen beinhalten 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.

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 und eine Rückverfolgbarkeit zu anderen Werkzeugen gewährleistet sein muss.[29][30] 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äten im Bereich Produktlinien- und Variantenmanagement.[31]

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)[32]

Versionsmanagement

Konfigurationsmanagement & Hybriden

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

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

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. Rainer Heinold: Rechtzeitiges Konfigurationsmanagement. In: Software Management: Beherrschung des Lifecycles (= Xpert.press). Springer, Berlin, Heidelberg 2002, ISBN 978-3-642-56367-6, S. 137–159, doi:10.1007/978-3-642-56367-6_8 (10.1007/978-3-642-56367-6_8 [abgerufen am 22. April 2021]).
  5. 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]).
  6. Ahmad Luqman: Comparison of Configuration Management Activities Between Prince 2 CMMI 1.1. In: 2006 International Conference on Emerging Technologies. November 2006, S. 742–745, doi:10.1109/ICET.2006.335917 (ieee.org [abgerufen am 22. April 2021]).
  7. a b c IEEE/ISO/IEC 24765-2017 - ISO/IEC/IEEE International Standard - Systems and software engineering--Vocabulary. Abgerufen am 22. April 2021.
  8. a b c d IEEE 828-2012 - IEEE Standard for Configuration Management in Systems and Software Engineering. Abgerufen am 22. April 2021.
  9. IEEE 729-1983 - IEEE Standard Glossary of Software Engineering Terminology. Abgerufen am 22. April 2021.
  10. a b c Susan A. Dart: The Past, Present, and Future of Configuration Management. 1992, S. 65311 Bytes, doi:10.1184/R1/6585185.V1 (cmu.edu [abgerufen am 22. April 2021]).
  11. 14:00-17:00: ISO/IEC/IEEE 24765:2017. Abgerufen am 22. April 2021 (englisch).
  12. History of software configuration management. In: Wikipedia. 11. Februar 2018 (wikipedia.org [abgerufen am 22. April 2021]).
  13. EIA-649 National Consensus Standard for Configuration Management. In: Wikipedia. 17. Oktober 2020 (wikipedia.org [abgerufen am 22. April 2021]).
  14. EIA649C: Configuration Management Standard - SAE International. Abgerufen am 22. April 2021.
  15. Configuration Management Through ISO 10007:2017 - ANSI Blog. In: The ANSI Blog. 2. Mai 2017, abgerufen am 22. April 2021 (amerikanisches Englisch).
  16. 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]).
  17. PRINCE2 Agile 2016 > A.6 Configuration management strategy. Abgerufen am 22. April 2021.
  18. Software Maintenance Management: Evaluation and Continuous Improvement | IEEE eBooks | IEEE Xplore. Abgerufen am 22. April 2021.
  19. Software Configuration Management Handbook, Third Edition. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  20. Glossary terms for IBM Engineering Requirements Management DOORS. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  21. Was ist Konfigurationsmanagement? Abgerufen am 22. April 2021.
  22. Jörg Noack: Konfigurationsmanagement. In: Techniken der objektorientierten Softwareentwicklung (= Xpert.press). Springer, Berlin, Heidelberg 2001, ISBN 978-3-642-59481-6, S. 340–376, doi:10.1007/978-3-642-59481-6_18 (10.1007/978-3-642-59481-6_18 [abgerufen am 22. April 2021]).
  23. Guido Weischedel, Thomas Schwartz, Mark Andrews: Konfigurationsmanagement optimiert Änderungsprozesse. In: ATZextra. Band 13, Nr. 3, 1. Juni 2008, ISSN 2195-1462, S. 76–79, doi:10.1365/s35778-008-0124-z (10.1365/s35778-008-0124-z [abgerufen am 22. April 2021]).
  24. 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]).
  25. Management of Functional Safety: Part 2 of ISO 26262 - Kugler Maag Cie. Abgerufen am 22. April 2021.
  26. 14:00-17:00: ISO/IEC 20000-1:2011. Abgerufen am 22. April 2021 (englisch).
  27. IAN WHYTE FISM, MBCS: Configuration Management Ensuring Compliance with ISO/IEC 20000. (PDF) Bishops Beech Ltd, abgerufen am 22. April 2021 (englisch).
  28. Marcus Grande: 100 Minuten für Konfigurationsmanagement. Vieweg+Teubner Verlag, Wiesbaden 2013, ISBN 978-3-8348-1908-6, doi:10.1007/978-3-8348-2308-3 (springer.com [abgerufen am 22. April 2021]).
  29. a b Referenzfehler: Ungültiges <ref>-Tag; kein Text angegeben für Einzelnachweis mit dem Namen :4.
  30. Referenzfehler: Ungültiges <ref>-Tag; kein Text angegeben für Einzelnachweis mit dem Namen :5.
  31. Software Product Lines Curriculum. Abgerufen am 22. April 2021 (englisch).
  32. List of requirements engineering tools. In: Wikipedia. 22. April 2021 (wikipedia.org [abgerufen am 22. April 2021]).
  33. Fossil: Home. Abgerufen am 22. April 2021.
  34. http://www.intland.com/
  35. Application Lifecycle Management - ALM Tools, Software - Kovair. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  36. Configuration Management | Dimensions CM | Micro Focus. Abgerufen am 22. April 2021 (amerikanisches Englisch).
  37. 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.
  38. Azure DevOps Server | Microsoft Azure. Abgerufen am 22. April 2021.
  39. Engineering Change Management Software | Configuration Management | PTC. Abgerufen am 22. April 2021 (englisch).
  40. Siemens Digital Industries Software. Abgerufen am 22. April 2021.
  41. Softwareänderungs- und Konfigurationsmanagement. Abgerufen am 22. April 2021.
  42. 12 Dec 2018 Marco Bravo Feed 382up 5 comments: Top 5 configuration management tools. Abgerufen am 22. April 2021 (englisch).
  43. Chef Software DevOps Automation Tools & Solutions | Chef. Abgerufen am 22. April 2021 (englisch).
  44. CMDBf | DMTF. Abgerufen am 14. April 2021.
  45. 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]).
  46. 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]).