Projekt-Management/Bei Projekten muss der Anwendernutzen ueber allem stehen Prozessorientierter Ansatz gegen das Dilemma der SW-Entwicklung

29.09.1995

Software-Entwicklungsprojekte sind nur dann von Erfolg gekroent, wenn den Verantwortlichen auch bei komplexen Problemstellungen Freiheitsgrade bei der Loesungssuche eingeraeumt werden. In der Methodik einer prozessorientierten Vorgehensweise von Walter Gora* ist Entwicklern daher nahezu alles erlaubt - nur das eine nicht: die Terminueberschreitung eines Meilensteins.

"Aufwand und Nutzen stehen in keiner vernuenftigen Relation", lautet das Urteil vieler Geschaeftsleiter ueber den Einsatz von Informationstechnik. Die meisten Probleme der Software-Entwicklung sind nicht neu, allerdings kommen in letzter Zeit noch einige dazu. Seit Jahren ist die Kosten- und Terminzuverlaessigkeit von DV-Projekten inakzeptabel schlecht. Darueber hinaus sind die laufenden Kosten fuer den DV-Einsatz dramatisch gestiegen. Das Vertrauen des Managements in Wirksamkeit beziehungsweise Nutzen der Informationsverarbeitung ist empfindlich gestoert. Dieser Vertrauensverlust spiegelt sich in einem Boom der Outsourcing- Branche wider.

Die Software-Entwicklung steht vor neuen Herausforderungen, zu denen ihr die Antworten fehlen. Optimierte Konzepte der Informationsverarbeitung verschaerfen noch das Dilemma. So macht die Verlagerung der Verantwortlichkeiten "vor Ort" und damit die Dezentralisierung von Organisationen den Verantwortlichen schwer zu schaffen. Die groessere Vertrautheit der Anwender mit der Informationsverarbeitung fuehrt nicht nur zu einer selbstbewussteren Formulierung von Erwartungen und Anforderungen, sondern zu einem hoeheren Druck auf die Software-Entwickler.

Deren Problem liegt darin, dass Technologien und DV-Leistungen verteilt und damit eine steigende Anzahl von Einzelprojekten unter ein Dach gebracht werden muessen. Neben dem Erzielen eines echten und nachvollziehbaren Nutzens fuer den Anwender ist diese Klammerfunktion eine der zentralen Aufgaben einer Unternehmens-DV. Unserer Ansicht nach kann die konsequente Anwendung eines prozessorientierten Ansatzes bei der Software-Entwicklung enorme Potentiale freisetzen. Voraussetzung ist die Orientierung am Kundennutzen, und zwar nicht nur in der Planungs- oder Spezifikationsphase, sondern permanent ueber ein gesamtes DV- Projekt hinweg.

Flexibilitaet erhoehen, Overhead minimieren

Ausgangsbasis sollten mit dem Kunden vereinbarte Qualitaets- und Leistungsmerkmale sein, an denen sich ein Software- Entwicklungsprojekt ueber alle Phasen des Entwicklungsprozesses ausrichten muss. Ziel ist es, die Flexibilitaet zu erhoehen, indem Kundenanforderungen auch in "letzter Minute" beruecksichtigt werden. Ausserdem laesst sich der Overhead minimieren, da Aufgaben, die aus Sicht des Software-Abnehmers keinen Mehrwert bringen, entfallen koennen.

Es handelt sich also vorrangig um einen organisatorischen und mentalen Aenderungsprozess, der im Gegensatz zu bekannten Diskussionen um den Wert von Werkzeugen steht, beispielsweise im Bereich der CASE-Tools (Computer Aided Software Engineering). Solche Tools werden in der Regel nur technisch bewertet, die in Aussicht gestellte Produktivitaetssteigerung bleibt allzu oft ein leeres Versprechen.

Der Fokus von Software-Entwicklern richtete sich bisher zu sehr auf die Werkzeuge und deren Funktionalitaet. Doch erst die Konzentration auf das Wesentliche, den Kundennutzen, verbunden mit einer konsequenten prozessorientierten Ausrichtung der Entwicklung, erlaubt es, den Software-Entwicklungsprozess um mehr als den Faktor 2 zu beschleunigen.

Die Methode des "Accelerated Software Development Processing" (ACDP) hat vorrangig das Ziel der organisatorischen Beschleunigung des gesamten Software-Entwicklungsprozesses. Hierbei stehen nicht die gaengigen Methoden und Werkzeuge im Mittelpunkt, sondern die Frage, ob und wie diese Methoden und Werkzeuge den Software- Entwicklungsprozess verkuerzen koennen.

Die Methode hat Optimierungsprojekte aus dem Forschungsbereich und der Produktentwicklung bei grossen Unternehmen zum Vorbild. Dort gelang es, Methoden zu entwickeln, die in der Umsetzung aeusserst erfolgreich waren und schliesslich nicht nur den Aufwand, sondern auch die Zeiten bis zur Bereitstellung eines Produktes dramatisch verringerten.

Die Probleme dieser Unternehmen lassen sich mit denen der Software-Entwicklung vergleichen:

- Die Entwicklungskosten und - zeiten neuer Produkte waren zu hoch.

- Die Produkte waren perfekt, aber zu spaet am Markt, oft zu kompliziert und vor allem zu teuer. Kunden mussten Funktionen mitbezahlen, die sie eigentlich nicht benoetigten.

- Die Akzeptanz der meisten Produkte war nicht zufriedenstellend. Die scheinbar optimalen Loesungen erwiesen sich oftmals als nicht marktkonform. Der Kontakt zum Kunden bestand nicht wirklich.

Kennzeichnend fuer die Misere in der industriellen Produktentwicklung (zum Beispiel Automobilbau) war, dass die Produktentwickler mit nahezu allen Argumenten recht zu haben schienen, die Kunden aber trotzdem andere Produkte kauften. Vor derselben Situation steht heute die Software-Entwicklung. In den meisten Punkten haben die Entwickler recht, doch das von ihnen abgelieferte Produkt kommt in der Regel zu spaet und entspricht dann nicht den Erwartungen der "simplen" Anwender.

Analog zur prozessorientierten Vorgehensweise in der Automobilindustrie muss auch die Softwarebranche ihre Innovationszyklen, die Zeit zwischen Projektstart und Marktreife, um mindestens die Haelfte verkuerzen. Die Zielsetzungen fuer die Reorganisation des Produktentwicklungs-Prozesses sind identisch mit denen bei der Bereitstellung von Software:

1. Nur mit der Kundenorientierung als wichtigstes Prinzip lassen sich im Rahmen der Funktionsbestimmung die Akzeptanz der Loesung und damit Marktanteil und Umsatz steigern.

2. "Einfachheit" fuehrt zu einer preiswerten Loesung. Die Anwendung von wertanalytischen Prinzipien konzentriert das Interesse auf das "Wozu?", das heisst primaer auf die Funktion und dann erst auf die Form der Loesung.

In Entwicklungsprojekten ist der Nutzen entscheidend

Als Fundament einer wirkungsorientierten Software-Entwicklung lassen sich folgende Grundsaetze aufstellen:

- Keine Projektfreigabe ohne Nutzenverantwortliche. Nicht die DV- Fachleute stellen die informationstechnischen Anwendungen bereit, sondern diejenigen, die den damit verbundenen Unternehmensnutzen verantworten.

- Die Projektziele muessen durch messbare und bewertbare Nutzenkriterien beschrieben werden. Ein Projektantrag, fuer den niemand einen Nutzen persoenlich garantiert, ist zu verwerfen.

- Das Prioritaeten-Management im Rahmen des Entwicklungsprozesses muss auf Basis des Zielkosten- und Zeit-Ansatzes erfolgen. Der Projektleiter sollte in der Lage sein, eigenverantwortlich die Freiheiten zu nutzen, die er zum Erreichen eines anwenderbezogenen Ziels erhaelt.

- Die Prioritaeten bei der Optimierung werden auf Basis der Budgetvorgaben durch die Prozessverantwortlichen gestaltet. Informatikverantwortliche und insbesondere die Entwickler haben eine Vielzahl von Vorstellungen, wie ihr "Produkt" optimal gestaltet werden kann. Solche Optimierungen haben haeufig keinerlei Auswirkung auf die Qualitaet des Endproduktes.

Die ACDP-Methodik hat vorrangig die organisatorische Beschleunigung des gesamten Software-Entwicklungsprozesses bis hin zum Nutzennachweis zum Ziel. Hierbei steht nicht die Frage nach der besten Methode oder dem optimalen Werkzeug im Vordergrund, sondern ob und wie diese Methoden und Werkzeuge den Software- Entwicklungsprozess wirklich beschleunigen koennen.

Das Vorgehen beinhaltet ein staendiges Training in

- Kunden-/Anwenderorientierung,

- Nutzen-/Wirkungsorientierung im Sinne der klassischen Wertanalyse und

- Konzentration auf das Wesentliche. Die Methodik geht davon aus, dass sich durch die zunehmende Dezentralisierung Handlungsfreiraeume und Kompetenzen an die fachliche Basis verlagern. Dies bedingt neue organisatorische Strukturen in der Aufbau- und Ablauforganisation, was zu einer veraenderten Rolle des bislang dominierenden zentralen Entwicklungsbereichs fuehrt.

Insbesondere muss zwischen dem Projektleiter und dem operativ zustaendigen Prozessverantwortlichen unterschieden werden. Der Prozessverantwortliche (Vertreter des Anwenders oder Kunden) ist verantwortlich fuer eine realistische Einschaetzung der Kosten und des Nutzens ueber das gesamte Softwareprojekt hinweg.

Zur Optimierung der Software-Entwicklung koennen drei grundlegende Prozesse identifiziert werden, die sich ihrerseits in Phasen untergliedern:

1. Innovationsplanung (Ideensuche, Zielbeschreibung, Realisierungsplan);

2. Entwicklung (Leistungsspezifikation, Festlegung von Realisierungsverantwortlichkeiten, Realisierung, Anwendungseinfuehrung);

3. Betrieb (Betriebsoptimierung, Leistungsergaenzungen, Systemauslauf/Migration).

Die Bezeichnung der Phasen ist nicht entscheidend, sie kann gegebenenfalls mit einem bereits vorliegenden Vorgehensmodell abgeglichen oder verfeinert werden. Von grundsaetzlicher Bedeutung ist dagegen die Festlegung der zu erzielenden Ergebnisse sowie der Verantwortlichkeiten. So muss etwa die Ideensuche konkrete entscheidungsfaehige Inhalte als Ergebnis haben, beispielsweise die strategische Positionierung des Vorhabens und einen konkreten Projektantrag.

Entwicklungsteam traegt nur Realisierungsverantwortung

Die Liste der Verantwortlichen strukturiert sich in vier Bereiche. Es gibt Anwendungsverantwortliche (Linie), die fuer die Nutzenrealisierung und die Anwenderakzeptanz zustaendig sind. Hierbei handelt es sich immer um primaere Unternehmensbereiche ausserhalb der Informationsverarbeitung. Ferner gibt es den Anwenderbetreuer, der die Benutzer bei der Schulung und der taeglichen Problemloesung unterstuetzt. Er ist eher ein Anwendungs- als ein DV-Fachmann und damit Bindeglied zwischen DV und Linie.

Der dritte Bereich Entwicklung ist verantwortlich fuer den Realisierungsaufwand sowie die Zeitspanne bis zur Einfuehrung. Hardware und Rechenzentrum betreiben die DV-Infrastruktur. Hier muessen die informationstechnischen Anforderungen definiert werden. Dieser Bereich verantwortet die spaetere Performance wie auch die Betriebskosten von Lizenzgebuehren bis hin zum Operating-Aufwand fuer die beteiligten Rechner und Netze.

Eine ziel- oder wirkungsorientierte Projektabwicklung setzt voraus, dass die fuer die einzelnen Phasen wesentlichen Frage- und Aufgabenstellungen definiert und entsprechende Ergebnisse festgehalten werden. Relevante Fragen (zum Beispiel "Wie verliert der Anwender die Angst vor dem Neuen?") und deren Beantwortung ("Schulungskonzept") sind die Basis fuer eine wirkungsvolle Umsetzung.

Um bei komplexen Problemstellungen zu einer "richtigen" Loesung zu kommen, wird haeufig der Weg der Ueberdefinition gewaehlt. Fachliche Unsicherheit soll durch moeglichst viele Anforderungen verdeckt werden. Die Konsequenz ist, dass alle Seiten sich auf einen bestimmten Weg verpflichten, selbst wenn relativ bald erkannt wird, dass dieser nicht der kuerzeste ist. Wurde zu Beginn eines Projekts ein sehr genauer Konsens in technischen Deatilfragen hergestellt, so besteht die Gefahr, dass die Projektverantwortlichen sich nicht an den zeitlichen Rahmen halten, weil sie auf keinen Fall den Gruppenkonsens in Frage stellen wollen.

Diese Situation fuehrt zu Softwareprojekten, bei denen eine permanente Ueberschreitung von Zeiten von niemandem geruegt wird. Ganz im Gegenteil, aufgrund der Gruppenuebereinstimmung sind sich alle Beteiligten sicher, dass die Verzoegerungen "unwillkuerlich" sind und getragen werden muessen. Dieser Weg ist in aller Regel der falsche.

Ziel der Software-Entwicklung muss es sein, auch bei komplexen Problemstellungen Freiheitsgrade bei der Loesungssuche einzuraeumen. Der Anwender erwartet Ergebnisse innerhalb einer bestimmten Zeitfrist. Erhaelt er sie in "optimierter" Version zu einem spaeteren Zeitpunkt, liegt haeufig die Akzeptanz und teilweise auch der entsprechende Bedarf nicht mehr vor.

Ein wesentlicher Aspekt der hier beschriebenen Methodik ist das Prioritaeten-Management ueber den Zielkosten- beziehungsweise Zielzeit-Ansatz. Dies bedeutet, dass nahezu alles erlaubt ist, nur nicht die Terminueberschreitung eines Meilensteins. Wird trotzdem eine Zeitvorgabe nicht eingehalten, droht dem Projektleiter die Absetzung.

Hintergrund fuer dieses Vorgehen sind konkrete Erfahrungen, dass nur unter dem Zwang zur permanenten Ueberpruefung und gegebenenfalls Gegensteuerung Termine in DV-Projekten gehalten werden koennen. So sind die Personalkosten fuer IT-Projekte in aller Regel proportional abhaengig von der Zeit. Je mehr Aufwand eingeplant wird, desto mehr Kosten entstehen.

Die Konzentration auf das Wesentliche wird am besten durch einen akzeptierten Endtermin erreicht. Dieser muss in einem Zeithorizont von maximal einem Jahr liegen. Durch die zeitliche Naehe des Endtermins wird ein Konzentrationseffekt bewirkt, so dass nebensaechliche Taetigkeiten automatisch eine niedrigere Prioritaet bekommen. Dies ist mit der wichtigste Effekt bei der Einfuehrung einer prozessorientierten Vorgehensweise.

*Dr. Walter Gora ist Geschaeftsfuehrer der Management- und Technologieberatung Gora, Hecken & Partner in Sulzbach bei Frankfurt/M. Koautor Dipl.-Inf.- R. Meinders arbeitet als Senior- Berater fuer dieselbe Firma.