Huge Software Projects…

…ohne Berücksichtigung der Technologie.

Vor kurzem bekam ich einen Einblick in Softwareprojekte, die derzeit innerhalb des Bankwesens durchgeführt werden: Stellen Sie sich eine Softwarelandschaft von großen monolithische Systemen vor. Entwickelt über Jahrzehnte von günstigen Experten in Programmiersprachen, die man heutzutage nicht mal mehr googeln kann, so exotisch sind diese. Natürlich hat die Bank längst verpasst Entwicklungs-Nachfolger zu besetzen; die entsprechenden Experten sind längst in Rente und froh, dass Sie sich nicht mehr Tag und Nacht mit diesen Systemen rumschlagen müssen. Die Systeme sind untereinander alle vernetzt. Aber nicht abstrahiert über entkoppelte Web Services o.ä., sondern Sie schreiben sich munter gegenseitig in die entsprechenden Datenbanken (direkte Abhängigkeiten). D.h. Sie haben ein riesiges Spinnennetz an miteinander verbunden Systemen, bei denen Sie, wenn Sie an einem Ende etwas ändern, an vielen anderen Stellen plötzlich fehlerhafte Prozesse und Daten haben.

Was hat die Großbank jetzt unternommen, um diesem Problem zu entgegnen? Natürlich, so wie üblich, wurden spezialisierte Beratungshäuser befragt, wie man mit solch einer Situation umzugehen hat. Diese Beratungen haben daraufhin ein Top-down getriebenes Vorgehen empfohlen. Erst einmal ein Metamodell entwickeln; d.h. das Problem erst einmal strukturieren. Geschäftsprozesse modellieren. Ähnliche fachliche Aufgaben identifizieren und in der Folge überlegen, wie die Geschäftsprozesse optimiert werden können, um das Business „Lean“ zu gestalten. Alles richtig soweit (aus meiner Sicht). Allerdings war das Endergebnis ein Projektvorhaben basierend aus 20 verschiedenen Beratungshäusern, die alle Spezialsoftware herstellen (z.B. um Verträge strukturiert abzulegen, Wertpapierhandel, usw.), um die derzeit bestehende monolithische Architektur abzulösen. Alle Beratungshäuser verwenden natürlich nur die Flaggschiffe in der Branche (der entsprechenden Spezialsoftware), damit man zukunftssicher ist. Wenn viele große Firmen diese Software einsetzen, muss die Software auch gut sein, oder? Leider haben Sie dabei nicht beachtet, dass große SW-Firmen oft veraltete Monolithen einsetzen. Letztendlich wurde ein sportlicher Zeitplan aufgestellt, um die bestehende Landschaft innerhalb von drei Jahren zu ersetzen. Der Vorstand der großen Bank hat den sehr gut strukturierten Plan angesehen und zähneknirschend die 2-3-Stellige Millionensumme freigegeben. So, jetzt ging es los. Während der Entwicklung der Systeme hatte die Großbank mehrere Unternehmensteile verkauft und gleichzeitig von der Regulation neue Auflagen erhalten, die nicht drei Jahre warten konnten. Also hat man innerhalb des Projektes angefangen das Neue mit dem Alten zu verbinden. Wie sonst hätte man den „bösen Auflagen“ entsprechen können. 

Nach den genannten drei Jahren Laufzeit ist das Projekt noch nicht einmal halb am Ziel angekommen. Die Ablösung der Altsysteme ist bisweilen als Projektziel gänzlich aufgegeben worden. Und um das ganze noch schlimmer zu machen, muss die Bank nun, da Sie selbst wieder (nach drei Jahren ohne neue Produkte) in Zugzwang ist, neue Produkte anbieten. Aber jetzt haben Sie, neben dem alten monolithischen System, ein damit verwobenes riesiges weiteres System, das letztendlich nur von sehr teuren Dienstleistern weiterentwickelt werden kann. Die Großbank befindet sich somit in einer selbst geschaffenen großen teueren Zwickmühle. Die Beratungshäuser haben die Jahre über super verdient und werden dieses „Zecken-dasein“ auch die nächsten Jahre bis Jahrzehnte auskosten. Die Großbank ist hier der klare Verlierer. Die IT-Beratungsindustrie profitiert. Leider hat die Großbank nun ein echtes Problem, wenn Sie neue Produkte einführen möchte. Bei jeder Produktidee sind die Kosten für die Umsetzung weit höher, als die anzunehmenden Einnahmen. Der Stillstand ist eingetreten und es ist nur noch die Frage, wie lange die Bank (mit den vielen “Zecken am Körper”) durchhält, bis Sie durch den Aufkauf einer anderen Bank “befreit” werden kann.

Liebe Leser. Dieses dargestellte Schreckensszenario muss nicht eintreten. Wenn ein IT-Projekt schon vorab so geplant wird, dass es kurze Entwicklungszyklen gibt mit entsprechend schnellen und vielen Rollouts. Wenn auf eine starke technologische Entkopplung (Unabhängigkeit) Wert gelegt wird, so dass die Teams unabhängig voneinander arbeiten können. Wenn man sich von vorne herein bewusst wird, den ein oder anderen Monolith noch ein paar Jahre weiter zu pflegen… usw. usw. usw.  Gerne berate ich Sie vorab, dass Sie hoffentlich nie in solche eine Situation kommen werden.

Falls Sie sich jedoch schon in so einem Projekt befinden, empfehle ich Ihnen ein entsprechendes Software-Projekt-Audit, um sich die technologische und menschliche Lage im Projekt anzusehen und vielleicht Lösungsideen zu generieren, mit denen Sie ihre wirtschaftliche Lage (z.B. durch neue Produkte) verbessern und gleichzeitig einen technologischen Schritt nach vorne zu machen. Das ist das schöne an informationstechnischen Systemen. In diesen Systemen können Sie den „Keller neubauen, ohne vorab das Haus abzustützen“.