21. Juli 2004

Grosse Softwareprojekte in der Krise

Die Reihe der Hiobsbotschaften reißt nicht ab. Gerade haben wir den Maut-Schock von TollCollect überwunden. Wir wundern uns noch darüber, dass Herkules, ein Projekt mit Standardsoftware überhaupt scheitern kann. Da kommt die Meldung, dass die Finanzämter vielleicht 900 Mio. Euro ausgegeben haben, ohne Ergebnis. Man muss schon fast fragen, ob es noch staatliche Organisationen gibt, die keine IT-Grossruine haben. Schon lange war jedem klar, dass IT teuer ist. Inzwischen wundert man sich nicht mehr wenn sie auch nicht funktioniert. Wie kann man unter diesen Umständen erwarten, dass Firmen noch IT-Projekte vergeben? Die Großprojekte spielen zwar in einer anderen Liga. Aber der Imageschaden trifft auch den IT-Mittelstand.
Hier die Liste der Problemkinder (Problem-Riesenbabys), die mir gerade so einfallen:
- Herkules - Modernisierung der Informationstechnik der Armee (1400 Mio. -> 6000 Mio.)
- TollCollect - LKW Maut
- Inpol - Polizeiinformationssystem (17,4 Mio. -> 115 Mio.)
- BA online - Stellenbörse der Bundesanstalt für Arbeit (65 Mio. -> 165 Mio.)
- FISCUS - Finanzamt (170 Mio. -> 250 und 900 Mio.) gescheitert
was fehlt? da war noch mehr.

Die Gross-IT scheint sich in einer Krise zu befinden. Funktionieren IT-Projekte generell nicht? Sind die, die funktionieren nur Zufallstreffer? Das kann nicht sein, denn es gibt zu viele Projekte, die funktionieren. Es gibt zig-tausend IT-Projekte, davon Hunderte große und man hört nur von denen, die schief gehen. Aber warum gehen sie schief? Bei vielen der Problemkinder hört man von Managementschwächen. Grundsätzlich kann man davon ausgehen, dass das Management immer schuld ist, denn die Alternative ist, dass die Aufgabe mit dem verhandelten Budget unlösbar war. Das wäre grob fahrlässig auf der einen und betrügerisch auf der anderen Seite. Das wollen wir nicht im allgemeinen annehmen. Also bleibt eine dilettantische Durchführung. Dafür ist das Management verantwortlich. Selbst wenn das Management nicht direkt schuld ist, sondern die ausführenden Hände, so ist das Management doch verantwortlich und muss die ausführenden Hände wahlweise antreiben, motivieren oder austauschen. In Einzelfällen mag das Management wirklich sub-optimal gewesen sein. Man hört ja so manches und wundert sich, wie eine tausendfach vorgenommene Anpassung einer Standardsoftware (Herkules) nicht funktionieren kann. Wie kann die Einführung einer Standardsoftware überhaupt so viel Anpassung erfordern? Wo bleibt der Standard? Oder wie kann man rechtfertigen, Sicherheitsfunktionen bei TollCollect nachzureichen? In einer Welt in der sich sofort tausend Geier auf Sicherheitslücken stürzen, ist Sicherheit so wichtig für das Funktionieren, wie die Funktion selbst.

Trotzdem glaube ich nicht, dass schwaches Management der Grund des Übels ist. Hier kommt die These: Das Managementparadigma ist falsch. IT wird gemanagt wie industrielle Massenproduktion. Bei großen Projekten wird das Arbeitspensum in tausend kleine Stücke zerlegt, die von Programmierern nur noch eingetippt werden müssen. Die Programmierer werden auch Kodierer genannt, weil sie nur noch vordefinierte Funktionen eintippen. Sie müssen vor allem billig sein. Deshalb ist das vorherrschende Paradigma, dass man sie in Billiglohnländern beschäftigt. Wie ein Kollege von mir schon lange kritisiert, gilt anscheinend der Leitspruch: Programmierer ist man nicht, Programmierer hält man sich.

Und das ist falsch. Es gibt Programmierer, die wirklich programmieren. Programmierer, die allein oder mit wenigen Software schaffen, die viele Menschen benutzen. Diese Programmierer wissen, dass Programmieren eine Kunst ist. Programmieren ist eine komplexe Tätigkeit in der die Wahrnehmung und Verarbeitung vernetzten Wissens eine wesentliche Rolle spielt. Richtige Programmierer müssen Code-Künstler (Code-Artists) sein. Programmieren/Kodieren ist nicht analog zur Fliessbandarbeit bei BMW. Sogar die Autohersteller erkennen, dass die Individuen wichtig sind. Lean-Production, kleine Teams, flache Hierarchie, individuelle Kreativität und gute Ausbildung werden als wichtig erkannt. Noch wichtiger sind diese Fähigkeiten beim Softwaredesign. Denn Softwareproduktion ist Design bis ins kleinste Detail. Es gibt keine geplanten Vorgänge, die immer gleich ablaufen, keine Massenproduktion. Software wird auch ganz unten nicht produziert, sondern entworfen und designt. Je weiter nach oben man kommt und je größer das Projekt wird desto mehr wird das Gesamtdesign zur Kunst, zum Orchester. Nur wenige beherrschen die Orchestrierung des Ganzen. Aber sogar die ausführenden Hände müssen Künstler sein. Jeder für sich. Denn wie in einem Orchester kann sich ein schwaches Glied auf das Gesamte auswirken. Die Analogie zur Massenproduktion ist falsch. Sie muss raus aus den Köpfen der nicht programmierenden Manager und derer, die sie ausbilden. Wenn schon eine Analogie sein muss, dann zum Orchester oder zum Entwicklungsprozess beim Automobil. Die Produktion in der Massenfertigung entspricht gerade noch dem Kopieren der fertigen CD und der Verpackung. Aber Softwareproduktion ist Softwaredesign, ist Kunst. Dafür werden Künstler gebraucht, bis ins letzte Glied, wenn möglich. Die Erfahrung zeigt, dass ein Softwarekünstler mehr und besseren Code schreibt als 4 Kodierer. Die 4 Kodierer lohnen sich nicht, nicht einmal, wenn sie in Indien sitzen.

Liebe nichtprogrammierende Menschheit: Wenn Ihr funktionierende IT-Projekte wollt, dann beschäftigt richtige Programmierer mit Weitsicht, Überblick und Liebe zum Detail. Glaubt nicht an das Märchen vom gemanagten Kodierer. Beschäftigt erfahrene Softwarekünstler und wir versprechen euch funktionierende Projekte.

_happy coding_