infforum

Konfigurations-Management

Kontrollierten Zustände als Basis der Software-Entwicklung


Startseite Informatik Forum

Anforderungsanalyse

Prozess-Modellierung

Anwendungsentwicklung

Projektmanagement

Checkliste cmdb Konfigurationsmanagement Beispiel Änderung Releasemanagement Lizenzmanagement Einsatzbereich deployment Softwareentwicklung Ablauf

INffORUM Leistungen

Projekt-Beispiele

Kontakt zu INffORUM

Ziele

Themen

SIP - Strategische Informationssystemplanung

GPM - Geschäftsprozess-Modellierung

Anforderungsanalyse / Anforderungsmanagement

Vorgehensmodell

Methoden

Systemabgrenzung

PZR-Analyse

Problemanalyse / Schwachstellenanalyse

Zielanalyse

Restriktionsanalyse

Affinitätsanalyse

Durchführbarkeitsanalyse / Wirtschaftlichkeitsanalyse

Werkzeuge Requirements Engineering

Anwendungsentwicklung

Vorgehensmodelle

Wasserfall-Modell

Spiral-Modell

V-Modell

Evolutionäre / inkrementelle Vorgehen

RUP - Rational Unified Process

Agile Software-Entwicklung

MDA - Model Driven Architecture

Methoden

Methode SA - Strukturierte Analyse

Methode ESA - Essentielle System-Analyse

Methode SD - Strukturiertes Design

Methode ERM - Entity-Relationship-Modellierung

Methode RM - Relationen-Modellierung

Methode UML - Unified Modeling Language

Werkzeuge Software Engineering

case/4/0

Innovator

objectiF

Projekt-Management

Vorgehensmodell

Projektstrukturplanung

Aktivitätenplanung

Arbeitsplanung

Kapazitätsplanung / Ressourcenplanung

Change-Management

Konfigurations-Management

Methoden/Techniken

Netzplan-Technik

Balkenplan-Technik

Methoden der Aufwandsschätzung

Methode NuWA - Nutzwertanalyse

Werkzeuge Projekt-Management

in-Step

Primavera

Übersicht Leistungen

Organisationskonzepte

Studien, Gutachten

Auswahl Requirements Engineering (CARE) Tool

Auswahl Software Engineering (CASE) Tool

Auswahl Projekt-Management (PM) Tool

Projektleitung

Coaching Projektleiter

Know-how-Transfer Projekte

Beratung und Unterstützung

Software Einsatz case/4/0

Software Einsatz Innovator

Software Einsatz objectiF

Seminare

Projektbeispiele

Informationssystem-Planung

IV-Rahmenplanung Museum

Kommunikationsanalyse Versicherung

Organisation

ORG-BW-Gesamtmodell

Prozessmodellierung und Ablauf-Organisation Rating

Versionskontrolle Logistik

Know-how-Transfer Software-Entwicklung

Vorgehensmodell Analyse
mit Einsatz case/4/0

Vorgehensmodell mit Word-Dokumentation

Werkzeug-Einführung Innovator

Simulation Tour de France

Cockpit - Steuerung der Simulation

Anleitung und Hilfe für Sudoku-Rätsel

Mitarbeiter-Profil

Kontakt

Kontakt-Formular

Impressum

Unser Thema

Konfigurationsmanagement

Das Konfigurationsmanagement (KM, Configuration Management) beruht auf der Idee, Entwicklungsprojekte als eine Folge von kontrollierten Änderungen an gesicherten Arbeitsergebnissen aufzufassen. Hierzu legt das Configuration Management Rollen, Aktivitäten, Methoden und Werkzeuge fest.

Das zentrale Objekt des Konfigurations-Managements ist die Konfiguration.

weiterführende
externe Links

Eine Konfiguration ist eine Einheit versionsgenau bestimmter Arbeitsergebnisse (zum Beispiel der Software-Entwicklung), die gemeinsam vorgegebene Aufgaben erfüllen sollen.

Die Komponenten dieser Konfiguration müssen für diese Aufgabe in ihrem Inhalt, in ihrer Wirkungsweise und in den Schnittstellen, die sie miteinander aufweisen, genau aufeinander abgestimmt sein.

Eine Konfiguration ist nur dann im Sinne der Versionskontrolle eindeutig, wenn alle Bestandteile eindeutig identifiziert sind. Diese Eindeutigkeit lässt sich nur durch Sicherstellen der Unveränderlichkeit, d. h. durch "Einfrieren" ihrer Bestandteile, garantieren. Für eine Konfiguration ist es im Versionsmanagement ohne Bedeutung, ob ihre Bestandteile aus dem aktuellen oder einem beliebigen vorangegangenen Prozess stammen.

Die Gesamtheit der Objekte, die aus einer Objekt-Bibliothek (CMDB - Configuration Management Database) als Ausgangsmaterial für die Anwendungsentwicklung genutzt werden, bilden die Basis-Konfiguration. Alle Elemente (CI - configuration item) dieses Inventars eines Software-Systems müssen bekannt sein, um die Wirkungsbreite einer Änderung ermitteln zu können. Dazu gehören auch das Wissen über den Status der Entwicklung eines CI (eventuell anstehende Änderungen) und die vollständige Kenntnis über die Mehrfach-Verwendung von Elementen / Komponenten.

Das gewünschte Ergebnis der Entwicklung wird als Ziel-Konfiguration bezeichnet. Die Objekte der Ziel-Konfiguration werden wiederum versionsgenau in der Objekt-Bibliothek (CMDB) abgelegt. Dazu gehört dann auch die Ablage aller Querbeziehungen und Abhängigkeiten zwischen den Elementen in der CMDB.
Durch das meist vorhandene Mengenproblem bei der Anzahl der vorzunehmenden Änderungen an der Konfiguration ist der Einsatz eines Konfigurationsmanagement-Tool im IT-Projektmanagement nahe liegend.

Die Notwendigkeit für den Einsatz des Konfigurations-Managements wird noch größer durch das häufige Erfordernis von konkurrierenden Entwicklungslinien.

Da die Entwicklungszeiten dabei selten gleich lang sind, kommt es zu Überholvorgängen (zum Beispiel bei der Weiterentwicklung von Schnittstellen) und als Folge davon eventuell zu einem Konsistenzproblem. Dies erfordert eine zusätzliche Aufgabe im IT-Projektmanagement, die Synchronisation der in der Entwicklung befindlichen Konfigurationen (s.a. Change-Management).

Die Konfigurationsverwaltung hat sich für alle Software-Änderungsprozesse (Entwicklung, Wartung, Weiterentwicklung) als wirkungsvolles Verfahren zur Sicherstellung der Qualität erwiesen. Es hält Ordnung in einem komplexen Prozessgefüge (s.a. Projekt-Beispiel: Versionsmanagement in einem Logistik-Unternehmen). Ein funktionierendes Konfigurations-Management vermeidet Fehlentscheidungen im Projektmanagement, weil der jeweils aktuelle Stand der Entwicklung und die aktuell in Realisierung befindlichen Anforderungen transparent gemacht werden.

Eine Ergänzung des Konfigurationsmanagement stellt das Release-Management dar. Das Release Management hat die Aufgabe, zusätzlich die Autorisierung des Software-Einsatzes, das Lizenz-Management für die Software und den Rollout (Verteilung, Deployment) der Software zu regeln. Berücksichtigt werden muss auch ein Backout-Verfahren. Das Vorgehen dient dem Zurücksetzen (Back Out) der betreffenden Software auf den Zustand vor dem Rollout.
Für den Build-Prozess kann zum Beispiel das Open-Source-Produkt NAnt eingesetzt werden.

Zum Thema Konfigurationsmanagement im Projektmanagement bzw. in der Anwendungsentwicklung bietet INffORUM Beratung bei der Beschreibung der Prozesse, Organisation, Einrichtung der Verfahren und Werkzeuge sowie Unterstützung bei der optimalen Umsetzung in ersten Projekten. Die Umsetzung des Vorgehens in der IV wird zusätzlich in Form von Schulung (Seminar, Workshop, Tutorial) unterstützt.

Das Training zum Konfigurationsmanagement, sowohl Seminar als auch Workshop und Tutorial kann dabei auf den speziellen Bedarf einer Projekt-Gruppe zugeschnittenen werden. Profitieren Sie von den langjährigen Erfahrungen der INffORUM Berater.



















Release-Management (in Kap. 3.2.2)




NAnt - .NET Build Tool