Exkurs Verfahrenstechnik und Change and
Configuration Management
Der Softwarebestand einer großen Firma umfasst mehrere Milliarden Zeilen Quellcode.
Ständig wird, z.B. aufgrund gesetzlicher Regelungen,
neue Software entwickelt oder bestehende Software geändert.
Die interne Softwareentwicklung stellt demnach auch die eine Art Geschäftsprozess dar,
der gewissen Anforderungen genügen muss. Eine Anforderung ist z.B. die Revisionssicherheit,
die verlangt, dass bestimmte Dinge, die über Software abgebildet werden, noch
nach 10 Jahren nachvollziehbar sein müssen.
Bei Problemen müssen z.B. folgende Fragen beantwortet werden
Welche Software war das damals? Wie war der Quellcode der Software. Wo ist der Quellcode jetzt? War in dieser Software vielleicht ein Fehler? Wer war damals der Entwickler?
Den "Geschäftsprozess" der Softwareentwicklung durch geeignete Verfahren
zu unterstützen ist die Aufgabe der Verfahrenstechnik
Die Verfahrenstechnik legt neue Werkzeuge fest,
prüft neue Technologien und legt organisatorische
Abläufe innerhalb der Softwareentwicklung fest.
Bei großen Firmen ist es wichtig, auf der einen Seite eine Standardisierung
bezüglich der Verfahrentechnik durchzusetzen, auf der anderen Seite das ganze nicht zu
starr aufzuziehen (was nützen Regeln, die keiner einhält...).
Verfahrenstechnik ist ein Spagat zwischen Theorie (alles muss standardisiert sein)
und Praxis (was nützen Regeln, die in der Praxis untauglich sind).
Ein Bereich der Verfahrenstechnik wird das Change And Configuration Managment
(CCM) und das Software Configuration Managment eingesetzt.
Hier eine Definition:
Change und Configuration Management (CCM) ist eine verfahrenstechnische
Plattform zur integrierten Verwaltung von informatischen Produkten über den gesamten
Lebenszyklus - von der Ersterstellung über die Wartung bis zur Außerdienststellung.
Diese Plattform schützt einerseits durch geordnete Änderungsverfahren die Qualität
der Produkte und macht sie dauerhaft (Change Management), andererseits hilft sie,
Produktbestandteile während des Entwicklung- und Wartungsprozesses jederzeit standsicher
identifizieren zu können (Configuration Management).
CCM wirkt für Software und Hardware in der Entwicklung und Wartung sowie
in der Verteilung bzw. Bereitstellung für den produktiven Betrieb. Während für den
Hardwarebereich verbreitet Werkzeuge und Ablauforganisation eingerichtet sind,
wird der Softwarebereich eher stiefmütterlich behandelt.
Software Configuration Management (SCM) muss für die Erstentwicklung
in die Projektabwicklung integriert werden, aber auch die heiße Phase bei der Einführung
(Konsolidierung) und die unmittelbar anstehende Wartung sind zu bewältigen.
Kennzeichnend für moderne Entwicklungsumgebungen ist darüber hinaus,
dass Entwicklung und Wartung zeitlich parallel erfolgen und an verteilten
Entwicklungsstandorten stattfinden.
Welche Erfahrung hat die main {GRUPPE} auf diesem Gebiet?
Vereinte Versicherung: Verfahrentechnik in C++ Projekten,
ca. 1Jahr, es wurden ca. 20-30 Entwickler betreut.
Allianz AG: Verfahrenstechnik, seit 1997 mit bis zu 3 Personen:
Aufbau von Verfahren zu Entwicklung von Software im Internet und Client/Server Umfeld.
Entwicklung von eigenen CCM Tools (Interner Name: SAVI= SPU) und Verfahren,
die deutschlandweit eingesetzt werden (Allianz Stuttgart, München, Vereinte,
Dresdner Bank). Anzahl der Entwickler: > 700. Die main {GRUPPE} macht die Verfahren,
die Werkzeuge, führt die Schulungen der Mitarbeiter durch
(es wurden mehrerer hundert Mitarbeiter geschult) und macht Info-Veranstaltungen.
Gerade bei 3. kann die main {GRUPPE} auf Erfahrungen verweisen,
die selten gemacht werden, da kaum jemand über so lange Zeit eine Firma
verfahrentechnisch berät. Auch der Aufbau eigener speziell auf ein Unternehmen
angepasster Verfahren und Werkzeuge ist eine ziemlich einmalige Sache.
Das die Ideen der main {GRUPPE} Hand und Fuß haben, zeigt die Alliaz AG:
700 Softwareentwickler, fast 2000 verwaltetet Projekte, Hunderte von Lieferungen
(=Installationen) jeden Monat, über vier Millionen Dateien: Gewaltige Zahlen,
die überzeugen.