Programmstruktur war durch staendige Anpassungen desolat Anwendungssystem-Analyse als Basis fuer Kosteneinsparungen Von Hans-Joachim Baun*

17.12.1993

Ziel einer 1993 in einer Bundesbehoerde durchgefuehrten Analyse der Anwendungssysteme war, Kosten in der Wartung einzusparen und zugleich durch Re-Engineering die Programme auf die Beduerfnisse der Zukunft auszurichten.

Die zum Zeitpunkt der Analyse in der Behoerde eingesetzten IT- Applikationen stellten einerseits eine schuetzenswerte Software- Investition dar, stiessen aber andererseits in weiten Teilen an die Grenzen der Wart- und Erweiterbarkeit. Ursache war, dass ein wesentlicher Teil des Anwendungs- portfolios zu Zeiten entstand, als Informationssysteme unter anderen Gesichtspunkten und Qualitaetsaspekten entwickelt wurden. Ausserdem fehlte es an geeigneten Methoden und Werkzeugen fuer das Software-Engineering. Zudem waren die Komponenten durch die im Laufe der Jahre anfallenden Wartungsaktivitaeten - meist unter Termindruck infolge neuer Benutzerwuensche - oft noch zusaetzlich in ihrer Qualitaet beeintraechtigt worden.

Um die Anwendungen, die zum Teil schon mehr als zwanzig Jahre alt waren, fuer die Zukunft verfuegbar und nutzbar zu machen, war viel Personal und Zeit erforderlich.

Nicht wenige Programme hatten mehrere Generationswechsel im Hardware- und Softwarebereich sowie vielfaeltige Aenderungen ihrer eigentlichen Funktionalitaet erlebt. Die Struktur dieser Applikationen hatte unter dem kontinuierlichen Anpassungszwang deutlich gelitten.

Die haeufig unter Termindruck entstandenen, teilweise unvollstaendigen Dokumentationen und der Programmcode waren inkonsistent. Auf der anderen Seite war die Einfuehrung fortschrittlicher Software-Engineering-Konzepte und Werkzeuge durch die Altlasten blockiert, da sie keine Ansaetze enthielten, die einen Technologiewandel unterstuetzt haetten.

Vor diesem Hintergrund entschloss sich die Bundesbehoerde zu einer grundlegenden Analyse und Neugestaltung ihrer Anwendungssysteme, wobei die Methoden des Software-Re-Engineering gezielt und bewusst eingesetzt werden sollten.

Ziele des Programms waren:

- Reduzierung der Wartungskosten,

- Aufloesung des Anwendungsstaus,

- Bewaeltigung von Technologiewechseln sowie

- Erhoehung der Entwicklungsproduktivitaet.

Das Gesamtprogramm wurde in sieben Abschnitten geplant:

- Phase1: Zielformulierung,

- Phase2: Anwendungsbewertung,

- Phase3: Loesungsdefinition,

- Phase4: Aktionsplanung,

- Phase5: Massnahmenrealisie-

rung,

- Phase6: Anwendungsrevision

sowie

- Phase7: Anwendungssubstitu-

tion.

Die Phasen 1 bis 4 wurden zur Projektrealisierungsstufe 1 zusammengefasst. Kenndaten und Ergebnisse sind im nebenstehenden Kasten aufgefuehrt.

Um Erfahrung in der einschlaegigen Methodik zu erhalten, wurden pilotweise Anwendungen, die als Re-Engineering-wuerdig ermittelt wurden, bearbeitet. Aufbauend auf den Ergebnissen wurden die Methoden in das ganzheitliche Software-Engineering-Konzept konsistent eingebettet.

Besonderer Wert wurde in der Phase 2 auf die kundenspezifische Definition des Bewertungsverfahrens gelegt. Fuer die betreffenden Workshops wurde eine stufenweise Filtermethodik entwickelt, die es erlaubt, die Analyse-Ergebnisse zu entscheidungsrelevanten Kategorien zu konsolidieren. Als Entscheidungskategorien wurden folgende Klassifizierungen festgelegt:

- Neu entwickeln: Aufgrund der festgestellten hohen Differenz zu den fachlichen Anforderungen und wegen der hohen Geschaeftsbedeutung wird empfohlen, dass die Anwendung im Rahmen eines Projekts neu entwickelt wird.

- Re-Engineering der Anwendung: Die Anwendung ist sanierungsbeduerftig und hat eine hohe geschaeftliche Relevanz. Aufgrund ihrer funktionalen und informationstechnischen Qualitaet ist ein Re-Engineering sinnvoll.

- Anwendungswartung wie bisher: Die geschaeftliche Relevanz der Anwendung und ihre Qualitaet erlauben eine Wartung im bisherigen Umfang, ohne dass die Anwendungsarchitektur-Landschaft gestoert wuerde.

- Anwendungswartung reduziert: Aufgrund geringer geschaeftlicher Relevanz der Anwendung beziehungsweise wegen ihrer Qualitaet ist eine Wartung im reduzierten Umfang erlaubt, ohne dass die Funktionsfaehigkeit der Gesamtlandschaft gefaehrdet wuerde.

- Langfristig nicht mehr benoetigt: Fuer die Anwendung existiert auf laengere Sicht gesehen kein geschaeftlicher Bedarf mehr.

Um jede Anwendung einer dieser Kategorien zuordnen zu koennen, gingen die Workshop-Teilnehmer wie folgt schrittweise vor (vgl. die Abbildung auf Seite 34):

1. Funktionale Anwendungsbewertung in einem Kiviat-Graph mit den Einzelkriterien

Funktionalitaet:

- Abdeckungsgrad,

- Ergebnisqualitaet sowie

- Aenderungsrate;

Nutzungsgrad:

- Haeufigkeit,

- Bearbeitungsmenge,

- Schnittstellen sowie

- Gesamtbenutzer;

Lebensdauer:

- Nutzungsdauer sowie

- Alter;

Verfuegbarkeit:

- Zuverlaessigkeit,

- Korrekturdauer sowie

- Betriebsbereitschaft;

Bedienerfreundlichkeit:

- Robustheit,

- Ablaufgestaltung sowie

- Selbsterklaerung.

2. Bewertung der Anwendungen nach informationstechnischen Kriterien ebenfalls in einem Kiviat-Graph mit den Unterkriterien

Entwicklungsqualitaet:

- Personalfluktuation,

- Strukturierung sowie

- Softwaretechnologie;

Ueberschaubarkeit:

- Programme,

- Informationsobjekte sowie

- Bibliotheken;

Wartungsunterstuetzung:

- Tools fuer Codeaenderung,

- Tools fuer Qualitaetssicherung sowie

- Tools fuer Konfigurationsmanagement;

Funktionsarchitektur:

- Offenheit,

- Architektur sowie

- Wiederverwendbarkeit;

Informationsarchitektur:

- Integritaet und Konsistenz,

- Modellierungsmerkmale sowie

- Redundanz;

Performance:

- Durchsatzrate,

- Systemverfuegbarkeit sowie

- Fehlerrate.

3. Ermittlung der Anwendungsqualitaet im Ist-Zustand im Rahmen einer Entscheidungsbaumsystematik, aufbauend auf den Ergebnissen von Punkt 1 und 2.

4. Bewertung der Anwendungen nach ihren Geschaeftsbedeutungen nach den Kategorien

Zukunftsorientiert:

Anwendungen in diesem Bereich koennten in Zukunft eine zentrale Bedeutung erlangen, zum Beispiel als Vorgangsbearbeitung zur Beschleunigung des Aktendurchlaufs.

Strategisch:

Anwendungen in diesem Bereich haben bereits oder erhalten eine zentrale Bedeutung.

Vital:

Ohne diese Anwendung ist die Funktionsfaehigkeit der Bundesbehoerde im alltaeglichen Betrieb nicht moeglich.

Unterstuetzend:

Anwendungen in diesem Bereich haben "nur" die Aufgabe, fuer strategische und vitale Programme Hilfe zu leisten.

5. Ermittlung der Entscheidungsvorschlaege je Anwendung aus der Konsolidierung der Ergebnisse von Punkt 3 und 4.

Die Resultate der Verfahrensanalyse beeinflussten nachhaltig die weitere Anwendungsplanung fuer die Projektphasen 5 bis 7 und erlauben eine auf der Qualitaet der Anwendung und ihrer Geschaeftsbedeutung beruhende Konzeption.

Der Analyse schloss sich die Auswahl geeigneter Re-Engineering- Tools an.

Kenndaten und Ergebnisse

- Laufzeit des Projekts (Schritt 1): 5 Monate

- Durchfuehrung des ersten Projektschritts:

- Analyse jedes Anwendungsverfahrens gemaess Fragenkatalog,

- zwei bis vier Stunden Workshop pro Beratungsgegenstand mit jeweils einem Teilnehmer des Bedarfstraegers, des Bedarfsdeckers (DV) und des Beratungshauses.

- Erste Ergebnisse des Re-Engineering-Projekts:

Die Untersuchung von nahezu 200 Anwendungsverfahren ergab folgende Verteilung fuer das weitere Vorgehen:

1. Neuentwicklung: 12 Prozent

2. Re-Engineering nach eigenem Prioritaetenplan: 40 Prozent

3. Anwendungswartung wie bisher: 13 Prozent

4. Anwendungswartung in reduziertem Umfang mit niedrigerer Prioritaet: 21 Prozent

5. Langfristig nicht mehr benoetigt: 14 Prozent

- Fazit:

1. Durch die Ermittlung von 14 Prozent auf Dauer nicht mehr benoetigter Anwendungsprogramme kann die System- Anwendungsarchitektur wesentlich entlastet werden und der Wartungsaufwand auf die wartungswuerdigen Programme konzentriert werden.

2. Das auf den Untersuchungsergebnissen basierende Software-Re- Engineering-Projekt im engeren Sinne kann sich auf eine Auswahl (40 Prozent aller Programme) konzentrieren, was die Erfolgschancen deutlich verbessert.

3. Der normale Wartungsumfang kann auf der Basis der Untersuchung gesteuert und priorisiert vergeben werden. Fuer 21 Prozent der Verfahren laesst er sich entscheidend reduzieren.

4. Die erwartete Kosteneinsparung gegenueber der bisherigen Wartung wird mit zirka 50 Prozent angenommen.