Zugegeben, die Überschrift dieses Artikels hat Boulevard-Charakter. Aber so meine ich das gar nicht. Ganz im Gegenteil: Wenn wir annehmen können, dass in einem Hightech-Industrieland wie Deutschland unser Lebens-/Berufsalltag von unzähligen Softwareanwendungen begleitet wird, die (ich schätze mal) in Summe zwischen Hunderten von Milliarden oder auch über 1 Billion Zeilen Programmiercode umfassen (!), dann muss man mit Pleiten, Pech und Pannen rechnen – darf aber gleichzeitig ehrfürchtig staunen, dass ganz große Katastrophen ausbleiben.

Zunächst eine kurze Plausibilisierung von „Hunderte von Milliarden Zeilen Programmiercode“ (LOC = Lines of Code): Allein in der Google-Produktsuite stecken über 2 Mrd. LOC (und diese Zahl ist noch von 2015). Facebook hat über 60 Mio. LOC, ebenso das das freie Betriebssystem DEBIAN. Das MAC-Betriebssystem Tiger umfasst über 80 Mio. LOC; ein (einzelnes) modernes Fahrzeug liegt etwa in der Größenordnung von 120 Mio. LOC. Die SAP Anwendungssoftware liegt bei ca. 250 Mio. LOC (große SAP-Anwendungen haben über 60.000 Datentabellen!), womit SAP die wohl komplexeste einzelne Softwareanwendung der Welt sein dürfte. Und: Im Jahr 2000 wurde einmal geschätzt, dass es weltweit ca. 3.000 bis 4.000 ERP-Systeme geben dürfte (aktuellere Zahlen kenne ich nicht); und wussten Sie, dass der Open Source Scanner-Anbieter WhiteSource die Anzahl an verfügbaren OpenSourceSoftware-Komponenten auf 155 Millionen Open Source Komponenten in Sprachen wie Java, Ruby und Python schätzt, und nochmals 11 Milliarden (!) in Sprachen wie C/C++, Javascript, PHP, ObjectiveC?

Oder denken wir das mal von einer anderen Seite: Ein Softwareentwickler produziert (inklusive aller Projekttätigkeiten) etwa 10 bis 50 Codezeilen pro Tag. Aufs Jahr hochgerechnet macht das 2.000 bis 10.000 LOC. Bei etwa 850.000 Entwicklern in Deutschland entspricht das einer Produktivität von 1,7 Mrd. bis 8,5 Mrd. LOC pro Jahr. Weltweit gibt es ca. 25 Mio. Entwickler, und die in den USA und Indien entwickelte Software wird ja auch hier in Deutschland eingesetzt, das können Sie ja nun selbst ausrechnen.

Kommen wir wieder zurück zur Überschrift, nämlich „Pleiten, Pech und Pannen in der IT“. Natürlich gibt es immer wieder mal spektakulär gescheiterte Softwareprojekte oder Pannen im Softwarebetrieb:

  • 2018: Das Unternehmen Lidl setzt eine SAP-Einführung in den Sand, womit 7 Jahre Projektarbeit ergebnislos bleiben bei geschätzten 500 Millionen Euro sunk costs
  • 2017: Beim Marktführer von Public Clouds AWS wollte ein Mitarbeiter ein Problem in einem Abrechnungssystem fixen, er löst versehentlich die Abschaltung zahlreicher Serversysteme aus: Mehrere auf AWS gehostete Seiten sind für mehrere Stunden offline, nach Schätzungen bedeutete das nur bei den S&P-500-Unternehmenskunden etwa 150 Mio. US-Dollar Umsatzeinbuße
  • 2017: Die Bundesagentur für Arbeit beendete ein Softwareprojekt, das während einer vierjährigen Laufzeit etwa 50 Mio. Euro gekostet hatte
  • 1997: Auf dem Kriegsschiff der US-Marine USS Yorktown wollte ein Offizier einen fehlerhaft angezeigten Wert eines Sensors (Öffnungszustand eines Lüftungsventil) korrigieren; das Überschreiben des falschen Wertes direkt in der Datenbank führte zum Totalausfall des Antriebssystems und des Netzwerks. Das Kriegsschiff trieb zunächst manövrierunfähig auf dem Ozean herum, wurde schließlich in einen Hafen geschleppt zur Reparatur

Es ist klar, die Aufzählung solcher Pannen ließe sich noch fortsetzen, interessant sind etwa auch das bekannte (und behobene) Jahr 2000-Problem oder das weniger bekannte Jahr 2038-Problem. Ein Megathema in unserer zunehmenden vernetzten Welt ist natürlich auch das Thema Cybersecurity (vgl. auch den Artikel zu TOP5 Liste der weltweit größten Hacks).

Ich will aber gar nicht in Boulevard-Manier die Lust an der Schadenfreude weiter anheizen, mir geht es um etwas anderes. Ich sehe ja durchaus vielmehr, dass sich die digitale Technologie bewährt hat, wenn man sich einmal vor Augen führt, wie viele Lebens- und Funktionsbereiche des Gesellschafts- und Arbeitslebens digital gesteuert werden. Es gibt auch vielfach bewährte Methoden, Schwachstellen in digitalen Produkten aufzudecken, von testgetriebener Entwicklung über Testverfahren bis hin zu Events, wo Firmen „White Hacker“ dazu einladen, das eigene Produkt zu hacken, also: Schwachstellen aufzudecken.

Aber es gibt keinen Grund, sich entspannt zurück zu lehnen. Denn mit der neuen Digitalisierungswelle gehen einige Herausforderungen einher, für die es noch keine befriedigende Antwort gibt. Das ist beispielsweise der IT Fachkräftemangel. Ja, das gefährdet die Wettbewerbsfähigkeit des Standortes Deutschland; der Fachkräftemangel birgt aber auch das Risiko, dass Firmen im digitalen Strukturwandel mit unterbesetzten Teams durch die Produktentwicklung stolpern und nicht zuletzt aufgrund fehlender Kapazitäten ein umfassendes Testing gar nicht durchführen können. Die Versuchung steigt, auch Entwickler mit mäßigem KnowHow ins Rennen zu schicken. Es ist ein einfacher mathematischer Dreisatz: Immer mehr Industrien müssten sich digitalisieren (und zwar schnell), gleichzeitig wächst die Anzahl der (gut qualifizierten) Entwickler unterproportional zum Bedarf. Die Zahlen der bitkom zu offenen IT Stellen in Deutschland: 40.000 (in 2017), 80.000 (in 2018) und 124.000 (in 2019). Zwar gibt es Nearshoring und Offshoring – jede Woche landet ein Dutzend Mails von Offshore-Anbietern in meinem Postfach. Aber trotzdem gibt es den von der bitkom diagnostizierten (und in Unternehmen spürbaren) Fachkräftemangel.

Wir können außerdem die Bewältigung des digitalen Strukturwandels nicht nur an eine Minderheit von IT Spezialisten delegieren (wenn wir die Gestaltung der Digitalen Ökonomie einer Handvoll Experten überlassen, haben wir ein Problem – als Demokratie, auch auf dem Arbeitsmarkt). Da in den meisten Unternehmen digitale Prozesse zum einen, und digitale Geschäftsmodelle bzw. die Digitalisierung von Produkten zum anderen eine wachsende Rolle spielen, muss Digitalkompetenz zu einer Grundkompetenz werden; hier sind wir aber gegenwärtig noch keineswegs. Eine solche Digitalkompetenz ist ja auch für das Risikobewusstsein im Hinblick auf Sicherheitsfragen oder Entscheidungen über die Datenhaltung in der Cloud grundlegend. Deutschland hinkt hier hinterher. National wahrnehmbare Bildungsinitiativen für die breite Bevölkerung wie etwa in Finnland (kostenloser Online-Kurs Elements of AI) gab es hier lange nicht; hier gibt es inzwischen Veränderungen: Die Initiative Gemeinsam digital ist durchaus gelungen, das Hasso Plattner Institut bietet sehr gute MOOC (Massive Open Online Courses) an. Wir müssen an den Punkt kommt, wo Unternehmensverantwortliche eine Antwort auf die Frage haben, wie sie ein „Data Leakage“-Szenario vermeiden wollen oder wie eine Risikominimierungsstrategie für den Ausfall eine Public Cloud aussieht, auf der eine zentrale Anwendungssoftware läuft.

Last but not least: Da Softwareprojekte immer zentraler werden für den Unternehmenserfolg, müssen Manager dafür sorgen, dass die erforderliche Projektsteuerungskompetenz im Unternehmen entwickelt wird. Das gilt für die Softwareentwicklung ebenso wie für die Softwareeinführung. Die lessons learnt aus gescheiterten SAP-Einführungsprojekten sind etwa: Vorsicht bei zu vielen Anpassungswünschen bei einer Standardsoftware. Frühzeitige Bereitstellung erfahrener Projektmanager, Sicherung zeitlicher Kapazitäten für betroffene Unternehmensbereiche und rechtzeitiger Aufbau von Key Usern und Prozessexperten. Planung ausreichender Testphasen und Schulungen. Bereinigung von Stammdaten vor Projektstart.

Ich bin optimistisch. Aber wir dürfen sicherlich nicht die Hände in den Schoss legen.

Sebastian Zang
Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.