Der Gastkommentar

Jede SW-Verbesserung zieht Verschlechterungen nach sich

15.01.1993

Die Fachpresse ergeht sich von Zeit zu Zeit in Artikeln über Softwarequalitaet. Die Kriterien, die aussagen sollen, ob ein Programm gut oder schlecht ist, sind hinreichend bekannt. Im Gegensatz dazu sind die Folgen von guter und schlechter Software auch nicht annaehernd geklaert.

Unter gute Software stellen wir uns vor, dass sie grundsaetzlich als eierlegende Wollmilchsau auch die ausgefallensten Wuensche des Anwenders benutzerfreundlich und ergonomisch befriedigt, natuerlich zu aeusserst geringen Kosten. Der Algorithmus ist wohldurchdacht, in sich schluessig und ohne logische Brueche, daher uebersichtlich und durchschaubar. Die Entwicklung solcher Software geht mit wenigen Tools und wenig Aufwand wenigen Entwicklern flott von der Hand, zu extrem niedrigen Herstellungskosten, und Wartungsaufwand entsteht erst gar nicht, dank der Tools, die Fehler schon im Ansatz verhindern.

Abgesehen davon, dass die Realitaet von dieser Wunschvorstellung geringfuegig abweicht, muessen wir uns die Frage stellen, ob solche Wunschsoftware unter gesamtwirtschaftlicher Perspektive wirklich gut ist.

Wenn man sich einmal vor Augen fuehrt, wie viele Menschen durch schwierig handzuhabende und schlecht funktionierende Softwaresysteme in Arbeit und Brot stehen, dann gewinnt der Begriff Softwarequalitaet eine ganz andere Perspektive.

Die Herstellung von schlecht strukturierten Programmen ist nicht billiger als die von gut strukturierten, versetzt aber die Entwickler in die Lage, im Zuge der nie endenden Weiterentwicklungen ihre Butter aufs Brot zu verdienen. Jede sogenannte Verbesserung oder Anpassung zieht weitere Verschlechterung nach sich. Jeder weitere Eingriff ist um Groessenordnungen heikler als der vorhergehende, die Verschlechterung waechst exponentiell.

Jede Fehlerbereinigung beschaeftigt mehr Personal ueber eine laengere Zeit als die vorhergehende. Jede Ergaenzung bringt den Algorithmus fast zum Einsturz, von den Programmen ganz zu schweigen. Mit geballtem Personaleinsatz wird dem jedoch begegnet.

Das Zauberwort heisst Investitionsschutz. Damit wird die Investition in die Qualifikation der Maintenance-Mitarbeiter fuer zu Tode geaenderte Software geschuetzt, Arbeitsplaetze werden nicht nur geschaffen, sie bieten lukrative Selbstverwirklichung.

Proportional mit der Anzahl der mit der Bereinigung und Verschlechterung betrauten Personen wird Kaufkraft frei, Subventionen fuer die Landwirtschaft koennen reduziert werden (es wir mehr Butter gekauft), die Auswirkungen sind zum Beispiel in der Touristikbranche bis nach Neuseeland zu spueren.

Auch die Hardware-Industrie kann ihre Mitarbeiter besser bezahlen. Der Preisverfall der Computer wird mehr als aufgefangen durch den immer groesseren Ressourcenverbrauch heutiger Software, Korrekturen und Anpassungen von Anwendungen oder gar Aenderungen im Algorithmus werden immer als Balkone ausgebildet, die die Programme langsamer und groesser werden lassen. Nach einiger Zeit widersetzen sich die Programme einem Re-Engineering, da ihr eigentlicher Zweck im Nebel der Historie verschwunden ist. Deshalb wird lieber mehr Hardware eingesetzt, als den Leu des Nachdenkens zu wecken.

Heerscharen von Geschäftsfuehrern, Programmierern, Projektleitern, DV-Samurais und anderen Beratern verdienen gutes Geld mit der Einführung, Pflege und Betrieb von Software. Je komplexer und anspruchsvoller diese ist, um so groesser ist der Bedarf an Personal, das mit ihr umgehen kann. Einfache und problemlos funktionierende Programme machen keine Arbeit.

Anwachsende Mitarbeiterzahlen ziehen die Einfuehrung von administrativen Strukturen nach sich, was wiederum beispeilsweise die Baukonjunktur nicht nur fuer Buerogebaeude, sondern auch fuer Einfamilienhaeuser ankurbelt. Schliesslich will der Hauptabteilungsleiter auch nach Bueroschluss sein muedes Haupt betten. Das Haeuschen im Gruenen zieht die Entwicklung des Öffentlichen Personennahverkehrs nach sich, respektive es profitieren die Automobilwerker von hohen taeglichen Kilometerleistungen, ganz zu schweigen von den Entwicklungslaendern, die ueber Erdoelreserven verfuegen.

Alle diese Menschen, die sich, ihre Familie und ihre Autos (die auch nur hergestellt werden konnten, weil man sie sich leisten konnte) ernaehren, mussten ja erst ausgebildet werden. Je unhandlicher und undurchschaubarer die anzuwendenden Programmsysteme sind, um so groesser ist der Ausbildungsaufwand; damit wiederum verdienen sich Legionen von DV-Ausbildern ihre Drittwagen,die wiederum in Japan oder sonstwo von Robotern gebaut wurden, die ihrerseits von gut ausgebildeten Ingenieuren erfunden und konstruiert worden sind (und auch nicht wartungsfrei laufen).

Es ist allgemein bekannt, dass unzureichende Mainframer-Software ganze Softwarehaus-Imperien hat entstehen lassen, denen einige Regionen ihren Aufschwung verdanken. Dort setzen die gleichen Mechanismen der Programmentwicklung und -pflege ein. Die Hebelwirkung auch nur einer ungeschickten Programmzeile ist nur in astronomischen Einheiten abzuschaetzen.

Der fuer DV-Spezialisten typische Freiraumbedarf tut ein uebriges fuer die Prosperitaet unserer Gesellschaft. Das Individualistentum bedient sich der automatisierten Kommunikation (Stichwort Buerokommunikation), die ja aus Freiraumgruenden nicht etwa standardisiert werden kann. Daher koennen PC-Netze aufgebaut werden, die die Reibungsverluste der Zusammenarbeit elektronisch institutionalisieren. Ganze Industriezweige bis in den fernsten Osten garantieren ihren Mitarbeitern so die taegliche Schale Reis. Der Baum der Kausalitaeten koennte beliebig fortgefuehrt werden, vergleichbar mit kunstvoll angeordneten und verzweigten Reihen von Dominosteinen. Hier ist die Vorstellungskraft des Lesers gefordert, oder auch nur ein Blick in die Runde: Es geht uns doch praechtig.

In diesem Lichte betrachtet, muessen wir uns fragen, ob die ueblichen Kriterien fuer gute Software (siehe oben) auch wirklich die relevanten sind, an denen sich die Arbeit der Information Processing Engineers orientieren sollte. Wollen wir alles zerstoeren, was wir bisher erreicht haben? Nicht die Perfektion verhilft uns zu Wohlstand und Glueck, sondern die vielen kleinen und grossen Fehler, mit deren Bereinigung wir weitere verursachen. Die Loesung von Problemen wuerde uns ins Mittelalter zurueckwerfen, die Zukunft liegt im Schaffen der Probleme.