Die Zukunft gehört der SEU, Teil 1

SW-Entwicklung wird durch Automatisierung produktiver

26.10.1990

Um die Einführung sogenannter Software-Entwicklungsumgebungen kommt heute kaum ein innovatives Unternehmen herum. Allerdings, so zeigt Hans H. Matthies in seinem Beitrag, gibt es unterschiedliche Wege: Den einen reichen organisatorische Veränderungen, andere setzen auf die Teilautomatisierung ihrer Entwicklungsaktivitäten und bedienen sich dabei verschiedener CASE-Werkzeuge. Der dritte Weg ist die Installation vollintegrierter Entwicklungsumgebungen.

Der Stau bei der unternehmensinternen Entwicklung von Anwendungssystemen, in der Fachsprache "application backlogs" genannt, ist eine allgemein bekannte, in den meisten Unternehmen seit langem diskutierte Tatsache. Obwohl in den letzten Jahren durch eine zunehmende Anzahl von Standardsoftwarepaketen für einige Anforderungen Entlastungsmöglichkeiten geschaffen wurden, konnte das Problem insgesamt nicht beseitigt werden.

Es bleibt die Problematik der Herstellung unternehmensspezifischer, nicht selten "strategischer Systeme, deren Verfügbarkeit den Unternehmen meßbare Wettbewerbsvorteile verschaffen könnte. Die Effektivität solcher Systeme hängt davon ab, wie exakt die Unternehmensrealität abgebildet wurde. Den Anforderungen der Unternehmen entsprechend müssen solche Systeme priorisiert und nach Maß zugeschnitten werden.

Im Rahmen der in vielen Unternehmen darstellbaren Produktivität sind diese Systeme - gemessen am steigenden Bedarf - nur zu kleinen Teilen herstellbar. Dies gilt auch für Großunternehmen, obwohl diese häufig über sehr hohe personelle Entwicklungskapazitäten verfügen. Gründe für diese mißliche Situation finden sich häufig in der Leistungsfähigkeit der im Einsatz befindlichen Software-Entwicklungsumgebung (SEU).

Viele CASE-Tools sind als Insellösung konzipiert

Die Wege aus dieser Situation sind vielfältig. Sie führen von einfachen organisatorischen Maßnahmen über die Teilautomatisierung von Entwicklungsaktivitäten bis hin zum Einsatz vollintegrierter Software-Entwicklungsumgebungen. Letztere vereinigen im Regelfall die drei Faktoren "Organisation", "Automatisierung" und "Integration" in sich.

Die Automatisierung dient als Mittel, um die Aufwands- und Entwicklungszeit zu reduzieren. Ergebnis ist eine Verbesserung der Qualität. Die Automatisierung ist grundsätzlich auf alle Entwicklungsstrategien anwendbar. Ein Automatisierungsansatz sollte die Anwendungsentwicklung aus "Prozeßsicht" angehen, das heißt, er sollte alle notwendigen Aktivitäten und deren Abfolge umfassen.

Der Faktor "Automatisierung" wird durch unterschiedlichste Entwicklungswerkzeuge repräsentiert. Die Bandbreite reicht vom einfachen "Debugger" als Repräsentant einer "klassischen" Technologie bis hin zu CASE-Werkzeugen.

Die unter dem Begriff "CASE-Tools" zusammengefaßten Werkzeuge variieren hinsichtlich ihrer Funktionsbreite und ihres technischen Entwicklungsstandes ebenfalls stark. In diesem Rahmen ist sowohl von einfachsten Werkzeugen zur Erstellung diagrammatischer Darstellungen als auch von höchstintegrierten "High-Tech"-CASE-Tools mit umfangreichster Funktionalität die Rede.

CASE-Werkzeuge werden generell innerhalb einer wie auch immer gearteten SEU eingesetzt. Viele Tools sind als Insellösung konzipiert, zunehmend kommen jedoch integrierte Lösungen auf den Markt. Der Automatisierungsgrad einer SEU wird dadurch bestimmt, inwieweit die im Prozeß der Software-Entwicklung aufeinander folgenden Funktionen und wie die Übergänge zwischen diesen Funktionen automatisiert sind.

Ein maximaler Automatisierungsgrad ist demnach erst dann erreicht, wenn automatisierte Einzelprozesse vollkommen integriert sind. Höchstintegrierte CASE-Tools repräsentieren, gemessen an der Mehrzahl der heute in der Praxis eingesetzten Tools, eine vollkommen neue Technologie für Anwendungsentwicklungs-Systeme.

Die Vertreter dieser High-Tech-Klasse lassen sich als hochautomatisierte, höchstintegrierte CASE-"Produktionsmaschinen" bezeichnen. Sie decken den gesamten Software-Entwicklungszyklus ab und unterstützen auch komplementäre Funktionen wie zum Beispiel das Projektmanagement und die Koordination großer, arbeitsteiliger Entwicklungsprojekte.

Softwareproduzierende Anwender, die sich eine Restrukturierung ihrer Anwendungsentwicklung zur Aufgabe gemacht haben, stehen spätestens hier vor einem Dilemma: Welche der vorhandenen Konzepte und Methoden für die Anwendungsentwicklung sind im konkreten Fall einsetzbar und welche Konsequenzen würden sich ergeben? Welche verbundenen Softwarewerkzeuge sind CASE-Werkzeuge, welche sind integrierte CASE-Werkzeuge? Wie sind vorhandene Konzepte, Methoden, Werkzeuge und Komponenten zu bewerten und gegebenenfalls zu verbinden?

Bereits anhand dieser wenigen, in ihrer Konsequenz jedoch sehr gehaltvollen Fragen, wird klar, daß die Thematik "Aufbau und Einsatz einer SEU" extrem komplex ist. Hinzu kommt die Tatsache, daß der Markt eine zunehmend große Anzahl von alternativen Produkten anbietet. Entsprechend groß ist für potentielle CASE-Einsteiger die Informationslast.

"CASE-Wissen" ist eine teure Ressource

Der Gesamtaufwand für Information, Evaluation und Auswahl eines CASE-Tools ist beträchtlich. Dies betrifft sowohl den Zeitfaktor als auch den Kostenaspekt, zumal die hierzu benötigten Qualifikationen nicht gering sind "CASE-Wissen" ist heute noch eine seltene und damit teure Ressource.

Die Innovationsrate in der CASE-Welt ist momentan sehr hoch. Fast täglich verändern neue Produktankündigungen die aktuelle Marktsituation. Jede Marktuntersuchung ist allenfalls als Schnappschuß zu sehen. Eine Trendbestimmung der technischen Entwicklungslinie, der Aufbau einer Vision über die "SEU der Zukunft", war daher bisher nicht einfach.

Eine solche CASE-Vision ist jedoch notwendig, wenn man sich nicht durch abseitige Entscheidungen von der wahrscheinlichen Entwicklungslinie abkoppeln will. Insofern hat eine CASE-Vision ähnliche Merkmale wie eine Versicherungspolice. Viele Anwender haben es bisher für sinnvoll gehalten, abzuwarten und erst nach einer Konsolidierung der Entwicklung Entscheidungen zu fällen.

AD/Cycle als Orientierungsrahmen

Für viele Unternehmen wird eine CASE-basierte SEU künftig eine Investition mit absoluter Priorität sein. Bezogen auf die Gesamtheit dieser Unternehmen waren bisher erst relativ wenige in der Lage, ein langfristig tragfähiges Konzept für Aufbau und Einführung "ihrer" SEU zu entwickeln und den Prozeß der CASE-Auswahl zu bewältigen.

Ein wenig Licht in das Dunkel des CASE-Marktes brachte die IBM im September 1989. Mit der Ankündigung ihres "Application Development Cycle". Konzeptes (AD/Cycle) schuf IBM einen umfassenden Ordnungsrahmen, der Konzepte für Entwicklungs- und Abwicklungsumgebungen informationstechnischer Systeme enthält.

Dieser Ordnungsrahmen ist dabei sehr viel weiter gespannt als es einer herkömmlichen SEU entspräche. So beabsichtigt IBM beispielsweise, Funktionen zur Verwaltung von Netzwerk-Konfigurationen anzubieten. Der Umfang des AD/Cycle-Rahmens ist so weit, daß selbst ein Anbieter wie IBM es kaum schaffen wird, ihn auch nur annäherend auszufüllen, permanent aktuell zu halten und technisch weiterzuentwickeln.

Daher setzt man bei IBM vernünftigerweise auf ein "Enabled Vendors"-Konzept, ähnlich den Partnerkonzepten, die andere DV-Anbieter seit einer Reihe von Jahren erfolgreich praktizieren. Neben seiner primär konzeptionellen Gestalt weist AD/Cycle heute punktuell einige operationelle Elemente in Form einzelner Werkzeuge auf (zum Beispiel die CASE-Tools von Bachman sowie Excelerator und IEW/ADW).

IBMs AD/CYCLE-Ankündigung brachte bisher zwei Primäreffekte: Zum einen wurde mit dem Thema Software-Entwicklung das Bewußtsein für "CASE" geschärft beziehungsweise überhaupt erst hergestellt. Zum anderen hat IBM mit dem AD/Cycle-Konzept eine Modellskizze und damit ein Bezugssystem geschaffen.

Anhand dieser "Meßlatte" können Anwender sowohl den momentanen Ist-Zustand ihrer Anwendungsentwicklung als auch die zu evaluierenden SEU- und CASE-Konzepte mit den zugehörigen Produkten bewerten. Entsprechend der momentan noch recht groben Beschreibung des AD/Cycle-Konzeptes kann eine derartige Bewertung natürlich nur relativ global sein.

Die Wege zur Bereitstellung informationsverarbeitender Systeme sind verschieden.

Die Bandbreite reicht von der Maxime eines ausschließlichen Standardsoftware-Einsatzes - gleichbedeutend mit einem Verzicht auf unternehmensinterne Systementwicklung - bis hin zur überwiegend internen Entwicklung unternehmensspezifischer Anwendungen.

Anwendungsentwicklung ist regelmäßig zu prüfen

Das Spektrum der unternehmnensinternen Systementwicklung wiederum reicht von konventionellen Vorgehensweisen und Entwicklungsumgebungen bis hin zum Einsatz hochintegrierter, schlüsselfertiger CASE-basierter SEU. Zwischen diesen Extremen liegen Versuche, die Anwendungsentwicklung über die Strategie einer schrittweisen Eigenentwicklung mit einer spezifischen SEU unter Verwendung möglichst vieler vorhandener Teilsysteme evolutionär zu optimieren.

Ein denkbarer Grund hierfür könnte durch hohe, kurzfristig nicht abschreibbare Investitionen in entsprechende spezifische Komponenten gegeben sein. Oft sind derartige Komponenten stark in eine vorhandene Entwicklungs- oder sogar Abwicklungsumgebung integriert. Hält diese Umgebung einen hohen Bestand aktueller, langlebiger Anwendungen, so ist die spezifische SEU auch mittelfristig kaum substituierbar.

In solchen Fällen erscheint es sinnvoll, die SEU konzeptionell in ein "offenes" Rahmenkonzept einzubetten. Dieses Konzept muß so gestaltet sein, daß es zum einen die Einbeziehung vorhandener Komponenten erlaubt und zum anderen deren Kopplung mit weiteren, fortschrittlichen Systemkomponenten ermöglicht. Das IBM-Konzept AD/Cycle kommt solchen Anforderungen im Prinzip entgegen.

Andererseits verschenkt ein solches "offenes" Konzept naturgemäß einige Vorteile. die ein hochintegriertes SEU-Konzept von sich aus bietet. So ist beispielsweise ein maximaler Automatisierungsgrad eben nur durch höchste Integration erreichbar. Der Automatisierungsgrad einer SEU ist seinerseits eine Basisgröße für deren Produktivität.

Es gibt unterschiedlichste Anlässe für ein Unternehmen, seine aktuelle Systementwicklungs-Strategie regelmäßig zu überprüfen. Zwei häufige Gründe sind bestehende Probleme in der Anwendungsentwicklung sowie die Verfügbarkeit/Weiterentwicklung neuer Technologien und technischer Mittel wie zum Beispiel CASE-Tools.

Sechs Ziele für die Systementwicklung

Systementwicklungsstrategien sind in vielen Aspekten eng mit der jeweiligen Unternehmenssituation verbunden und damit individuell. Im folgenden werden Systementwicklungsstrategien im Rahmen der Automatisierung durch CASE-Tools betrachtet.

Für eine generische Systementwicklungs-Strategie unter Einsatz von CASE können sechs Hauptziele identifiziert werden:

1. Produktivität steigern,

2. Zeitwettbewerb gewinnen,

3. Sicherheit durch Redundanz erzeugen,

4. Portabilität der Anwendungssysteme gewährleisten,

5. Sicherung der Investitionen,

6. Prozeß der CASE-Einführung effizient und kontrolliert gestalten.

Diese Ziele befinden sich zum Teil in Konkurrenz zueinander, weshalb Zielkonflikte mitunter unvermeidbar sein werden. Die generischen Ziele können wie folgt skizziert werden:

Der Begriff der Produktivität bezieht sich auf die Leistung die ein Entwickler pro Zeiteinheit erbringt. Bekannte Meßverfahren sind zum Beispiel die Function-Point-Methode nach Allan Albrecht. Eine höhere Entwicklungsleistung resultiert in kürzeren Entwicklungs- und Wartungszeiten. Dadurch können mehr Anwendungen pro Zeiteinheit produziert werden beziehungsweise an einem früheren Zeitpunkt verfügbar sein.

Aspekte des "Zeitwettbewerbs" sind in vielen Industriezweigen nur allzu bekannt. Der Faktor Zeit ist dort eine strategische Ressource. Zeitwettbewerb tritt in Industriebetrieben beispielsweise hinsichtlich der Verkürzung der Durchlaufzeit für die Entwicklung von Produkten auf. Die Reduzierung der Durchlaufzeit kann als kritischer Erfolgsfaktor angesehen werden.

Der Zeitwettbewerb beim Einsatz informationstechnischer Systeme besteht darin, nutzbringende IT-Systeme frühestmöglich einzusetzen. Dies können sowohl Systeme zur Unterstützung von Geschäftsfunktionen als auch Werkzeuge zur Erstellung solcher DV-Systeme sein - zum Beispiel CASE-Tools.

Im zweiten Fall vermehren sich die erzielten Einsparungseffekte. Unter der Voraussetzung, daß informationstechnische Systeme durch ihre zeitverkürzende Wirkung zunehmend wettbewerbsbeeinflussend werden, gewinnt eine schnellstmögliche Herstellung und permanente Anpassung solcher Systeme Zunehmend an Bedeutung. Grundsatz ist hier die Maximierung der Produktivität bei Optimierung der Qualität.

Beispiel Logistik: Das Ziel muß sein, Einsparungen durch die Reduzierung der Kapitalbindung im Umlaufvermögen zu erzielen. Dazu sind nach dem Motto "Bestände durch Informationen ersetzen" Informationssysteme notwendig. Je schneller entsprechende Produkte verfügbar sind, desto schneller können die anteiligen, aus der Reduzierung des Umlaufvermögens resultierenden Effekte wirksam werden.

Eine Entwicklungsumgebung, die eine hinreichende Produktivitätssteigerung bewirkt, wird sich mit einiger Sicherheit in vertretbarer Zeit selbst finanzieren. Ein Zeitvorsprung kann ebenfalls durch den Einsatz einer "fertigen" SEU erzielt werden. Eine solche schlüsselfertige, einsatzfähige SEU kann bereits zu einem Zeitpunkt Anwendungen erzeugen, in dem sich eine "maßzuschneidernde" SEU noch im Planungsstadium befindet.

An dieser Stelle sei vermerkt, daß auch der Auswahlprozeß "schlüsselfertiger" CASE-Tools Zeit und Geld kostet. Die Aufwandsverursachung beginnt bereits mit der Evaluation. Je schneller daher die Auswahlphase abgeschlossen ist und mit dem Systemeinsatz begonnen wird, desto früher können die Effekte wirksam werden.

Selbstverständlich erfordert der CASE-Einsatz wie viele andere neue Technologien entsprechende Vorleistungen - zum Beispiel für Ausbildung und Organisation. Während einer Umstellungs- und Einarbeitungsphase wird die Produktivität von Entwicklern selten höher sein als bei der vorherigen konventionellen Arbeitsweise. Ist jedoch der Break-Even-Punkt einmal erreicht, so wird er meist sehr schnell erheblich übertroffen. Unterschiedlichste Praxisbeispiele zeigen dies mit Produktivitätssteigerungen zwischen 50 und 500 Prozent deutlich.

Ein nicht unerheblicher Teil der Aufwendungen zur Einführung einer hochautomatisierten, CASE-basierten SEU wird sich auf organisatorische Aspekte und Aufgaben erstrecken In einer Einführungsphase ist auch die "Trägheit" des Unternehmens gegenüber dieser Veränderung zu überwinden.

Viele Erfahrungen belegen, daß die entsprechenden Veränderungsprozesse nicht nur schwierig, sondern meist auch unter Zeitdruck zu bewältigen sind. Je früher ein Unternehmen mit der Einführung einer CASE-basierten SEU beginnt, desto früher erreicht es nach Abschluß der Einführungsphase die angestrebte Produktivität und resultierende Vorteile.