Software-Configuration-ManagementDas Software-Configuration-Management (SCM) oder Software-Konfigurationsmanagement ist eine Spezialisierung des Konfigurationsmanagements auf alle Aktivitäten und Ergebnisse im Bereich der Software-Entwicklung sowie deren Nutzung in Produkten. Dazu gehört unter anderem die geeignete Berücksichtigung andockender systemeigener Produktkomponenten und deren Varianten (bspw. über Kompatibilitätsmatrizen) über den gesamten Produktlebenszyklus hinweg. GrundlegendesSCM-Systeme sind Schwergewichte unter den Werkzeugen zur Softwareentwicklung. Neben Minimalforderungen, die sie in stark fortgeschrittener Version bereitstellen, bieten sie kleinteilige Rechteverwaltungen, Variantenmanagement und ausgereifte Lifecycle-Verwaltungen. Sie sind deutlich komplexer als die leichtgewichtigen Versionsverwaltungssysteme. SCM hat mehrere Ziele:
Eine akademische Forschung zu dem Thema findet nur in sehr bescheidenem Umfang statt, im universitären Lehrplan der Informatiker erscheint das Thema SCM oftmals überhaupt nicht. Infolgedessen sind viele der auftretenden und grundsätzlich zu lösenden Problematiken den Jungakademikern nicht präsent, was wiederum zu keiner Nachfrage am Markt führt. Dadurch sieht keine der großen Firmen den Bedarf, den Markt für sich zu besetzen und damit abseits der akademischen Pfade Standards zu schaffen. Die Folge ist somit eine starke Zersplitterung des Marktes und jeweils spezifische Ansichten über Umfang, Begriffe, Integrationen, Verfügbarkeit und Kompatibilität. Konfigurationen gemäß internationalem StandardIn der 24765-2017 – ISO/IEC/IEEE, die als internationaler Standard Begriffe für System- und Software-Engineering festlegt, werden Konfigurationen wie folgt umschrieben:
Wer also über Konfigurationen bzw. Konfigurationsmanagement spricht, sollte sicherstellen, dass alle Gesprächsteilnehmer über dasselbe terminologische Verständnis zum Sachverhalt verfügen. Bei der Produkt- und Softwareentwicklung fallen viele unterschiedliche Arbeitsergebnisse an, z. B. Programme und Komponenten, Dateien wie Lastenhefte und Architekturskizzen, Release Notes oder Changelogs, Testspezifikationen und Testdaten, Änderungsanträge oder Quellcode. Das Konfigurationsmanagement verwaltet und labelt zusammengehörende Arbeitsergebnisse (Konfigurationseinheiten) als sogenannte Konfigurationen. Siehe auch
Literatur
|