Lose gekoppelte kleine Loesungen in flexible Prozesse einbetten

04.11.1994

Professor Dr. Christiane Floyd

Professorin fuer Softwaretechnik am Fachbereich Informatik der Universitaet Hamburg*

Die Entwicklung eines Produktes und seiner Einbettung in die Organisation ist nur eine Dimension der Software-Entwicklung. Zugleich vollziehen die Beteiligten einen kooperativen Lernprozess. Projektorganisation und -Management muessen daher auf einem gesicherten Verstaendnis kommunikativer Prozesse aufbauen. Die Koordination des Prozesses erfolgt durch das Zusammenspiel von Projekt- (beziehungsweise Revisions-)etablierung und Referenzlinien, die die allgemein bekannten Meilensteine vorbereiten und ergaenzen.

Im Projektmodell ist nur die Etablierung sichtbar, da die Referenzlinien nach Bedarf im Prozess definiert werden. Die Etablierung legt die wechselseitigen Verantwortlichkeiten und die Modalitaeten der Zusammenarbeit fest. Referenzlinien orientieren sich an Zwischenprodukten verschiedener Art, zum Beispiel Glossaren, Datenmodellen, Prototypen, Architekturdiagrammen, Konventionen, Testdaten, Auswertungsgrundlagen fuer Systemversionen. Letztere und die versionsbezogene Systemspezifikation sind als Meilensteine aus dem zyklischen Modell ableitbar. Allerdings ist nicht davon auszugehen, dass eine vollstaendige Vorweg-Spezifikation vor der Realisierung machbar oder sinnvoll ist. Vielmehr geht es auch hier um eine Verschraenkung von Spezifikation und Implementierung, zum Beispiel durch evolutionaeres Prototyping.

Allgemein beruht evolutionaere Systementwicklung auf einem Verstaendnis von Software als Produkt aus vielfaeltigen, komplizierten, aufeinander bezogenen und laufenden Aenderungen unterworfenen Dokumenten.

Dies fuehrt zu klaren Anforderungen an Methoden und Werkzeuge fuer die Software-Entwicklung. Im Gegensatz zu traditionellen Vorstellungen sollten sich Methoden nicht als Regelsystem fuer den "one best way" begreifen und vor allem zeitliche Vorschriften ueber die Anordnung von Arbeitsschritten vermeiden. Ebenso sind ablauforientierte CASE-Werkzeuge mit der Designsicht unvereinbar.

Sie werden ihre Anwender vielmehr zwingen, muehevoll um die Vorgaben des Werkzeugs herumzuarbeiten. Statt dessen sind Methoden und Werkzeuge anzustreben, die sich an selbstbestimmter Arbeit, flexiblen Ablaeufen, der Verfuegbarmachung eines Repertoires von Modellierungstechniken und der konsistenten Verwaltung von Projektdokumenten orientieren.

Im Ergebnis wird Software-Entwicklung zu einem methodisch und technisch unterstuetzten selbstorganisierenden Designprozess, der die Qualitaet des Produkts und ueber die Produktentwicklung hinaus seine Einbettung in die Organisation im Auge hat.

Will man die Faehigkeit von Organisationen zu qualitativem Wandel bewahren oder steigern, so sind wichtige Gesichtspunkte fuer die Konzeption der entwickelten Programmloesungen: keine Bezugnahme auf die Aufbauorganisation, Flexibilitaet der Ablauforganisation, moeglichst beliebige Kombinierbarkeit von Arbeitsschritten. Objektorientierte Architekturen sind zwar nicht zwingend, ermoeglichen aber eine sehr gute Ausgangsbasis, um diese Ziele zu erreichen.

Was folgt daraus fuer die industrielle Informationstechnik, die Forschungstechnik und die Forschungsfoerderung des Bundesministeriums fuer Forschung und Technologie?

Zum einen eine Grundlage fuer die Kritik von Forschungsprojekten in der Softwaretechnik, die den Anforderungen einer evolutionaeren Systementwicklung nicht genuegen, zum Beispiel solche, die Prozessformalisierung bei Software-Entwicklung und -einsatz zum Gegenstand haben.

Zum anderen die Forderung nach Foerderung von Grundlagenforschung sowie von Pilotprojekten an der Grenzlinie zwischen Softwaretechnik, Arbeits- und Kommunikationspsychologie und Organisationstheorie. Forschungsinitiativen dieser Art beduerfen der Bereitschaft des Bundesforschungsministeriums, sich auf neue Denkweisen und Qualitaetsmassstaebe einzulassen. Insbesondere ist eine viel staerkere Prozessorientierung notwendig. Dieses Umdenken ist in gleicher Weise von der Wirtschaft gefordert, die von einer reinen Produktorientierung auf die Handhabung von sich staendig wandelnden Prozessen uebergehen muss. Umgekehrt kann der Foerderungsgeber im Rahmen der Foerderung auf eine staerkere "Ver- Produktung" evolutionaerer Ansaetze hinwirken, um sie in der Wirtschaft akzeptabler zu machen.

Letztlich beruht evolutionaere Systementwicklung auf einer veraenderten Sicht des Zusammenspiels zwischen Stabilitaet und Wandel, von Geschlossenheit und Offenheit. Anstatt auf starren Gesamtloesungen zu beharren, geht es darum, lose gekoppelte kleine Loesungen in flexible Prozesse einzubetten. Dass dies der Weg der Zukunft ist, erscheint mir sehr klar. Lassen wir uns doch darauf ein!