Industrialisiert endlich die Industrialisierung!

„Standardsoftware, Best Practice, Automatisierung von Prozessen“  so oder so ähnlich lauten die Schlagworte derer, die die Industrialisierung der Publishing-Industrie zu ihrem Geschäft gemacht haben. Für ihr Mantra haben Berater, Softwarehersteller und Dienstleister sehr gute Argumente. In einem Hochlohnland wiederkehrende und planbare Prozesse nicht zu automatisieren ist ein Fehler. Hinzu kommt, dass manuelle Verarbeitung viele Nachteile hat: Die Prozessqualität schwankt, die Verarbeitung ist teuer und bindet wertvolle Ressourcen. Letztere könnten anderenorts sehr viel sinnvoller eingesetzt werden. Diese Erkenntnis ist nicht neu. Sie führte schon in den 1990er Jahren zu einer großen Outsourcingwelle, erst ins europäische Ausland und dann nach Fernost, im Publishing vor allem nach Indien.

Outsourcing ist nur ein Zwischenschritt

Prozesse wurden beschrieben und standardisiert, aber oft eben nicht automatisiert. Stattdessen wurden sie in Niedriglohnländer fremdvergeben. Der massenhafte Einsatz von Menschen bewältigt anderenorts die gestellten Aufgaben. Mittlerweile hat die technologische Entwicklung in der künstlichen Intelligenz große Fortschritte gemacht. Jetzt ist der Zeitpunkt gekommen, da eben diese Arbeiten künftig von Automaten erledigt werden. Wo die Automaten dann stehen, ist völlig egal. Sie können auch in Deutschland stehen.

Der Engpass: Programmierer

Nun muss sich das strategische Augenmerk auf einen neuen Engpass richten: Die Softwareentwicklung. Es besteht kein Zweifel daran, dass unser künftiger Wohlstand mindestens so sehr von Software wie von physikalischen Produkten abhängt. Entsprechend ist der Bedarf an Entwicklern gestiegen. Laut einer Studie auf Basis von Zahlen des Bitkom und der Agentur für Arbeit  gab es schon im vergangenen Jahr in der deutschen IT-Branche nicht nur eine faktische Vollbeschäftigung. Über 40.000 Stellen waren nicht besetzt.
Wie kommt es zu diesem Engpass? Die Erklärung ist ernüchternd und wenig schmeichelhaft: Faktisch wird Software heute in zwar in geplanten und standardisierbaren Prozessen erstellt, aber weitestgehend von Hand. Daran ändert auch der Einsatz von Programmbibliotheken nichts Grundsätzliches. Die Dienstleister der Industrialisierung arbeiten mit der Methode der Manufaktur. Auf Dauer kann das nicht gut gehen, und es ist schon heute ein verbreitetes Problem. Dieses Problem hat einen Namen: Softwarequalität.

Massenhafte Manufaktur erzeugt enorme Qualitätsprobleme

Probleme im Code gibt es allerorten: Individualentwicklungen im Volumen von vielen Mannjahren sind in der Verlagsbranche häufiger, als man meinen mag. Uns sind mehrere Häuser (Banken und Verlage) bekannt, die Teile ihres Code nicht mehr anfassen aus Sorge, der nächste Balkon könnte die Gesamtarchitektur gefährden.

Vergleichbares gilt auch für die Anbieter von Standardsoftware. Auch deren Systeme sind gewachsen und keiner von ihnen wird behaupten, dass alle ihre Module gleich gut und stabil sind. Was fehlt, ist der nächste Schritt: Die Industrialisierer müssen ihre eigenen Leistungen industrialisieren, und die Gründe hierfür sind dieselben wie bei ihren Kunden: Kosten, Qualität und Geschwindigkeit.

Ein erster Schritt zur Industrialisierung: KI-basierte Codeanalyse

Der Einstieg hierzu könnte die KI-basierte Automatisierung der Codeanalyse und Qualitätssicherung sein. Es reicht aus Sicht der Kunden einfach nicht mehr aus zu prüfen, ob ein Code oder ein Produkt seine Aufgabe erfüllt. Kein Autohersteller prüft heute die Qualität eines Autos erst nachdem es vom Band gelaufen ist  das geschieht schon in vielen Schritten entlang der Herstellungskette. Und es ist nicht so, als gäbe es keine Anbieter auf dem Markt, die die Qualität eines Codes überprüfen können. Es gibt schon heute die Möglichkeit, Codequalität zu objektivieren und beispielsweise in Form einer Heatmap zu visualisieren. Dafür ist es nicht einmal erforderlich, den Code Zeile für Zeile zu lesen.

Software Heatmap als Beispiel für das Industrialisieren der Industrialisierung

Visualisierung der Qualitätslandschaft einer Software

Sieht man sich die Vergabepraxis in der Automobilindustrie an, dann muss man kein Prophet sein, um vorherzusagen: Industrielle Kunden werden künftig darauf bestehen, dass ihre Softwaredienstleister eine objektiv überprüfte Qualität liefern und nicht nur Software, die eine Leistung ermöglicht und definierte Funktionen hat.

Für die Hersteller von Software eröffnen sich durch solche Qualitätsnachweise ganz neue Möglichkeiten, z.B. in der Produktion, der Untervergabe oder im Vertrieb. Wir sind überzeugt: Industrialisierung der Qualität wird DIE kommende Herausforderung für die digitalen Dienstleister  nicht nur der Publishing-Industrie.

3 Gedanken zu „Industrialisiert endlich die Industrialisierung!

  1. Dazu braucht es nicht einmal die überstrapazierte KI: testgetriebene Softwareentwicklung gibt es schon lange. Wenn Software kontinuierlich (automatisierte) Unit und Functional Tests durchlaufen muss, lässt sich eine gesunde Codequalität gewährleisten. Schlechter, nicht wartbarer Code ist fast immer das Ergebnis von inkonsequenter Programmierarbeit.

      • Wenn die Tests – Best Practices lassen grüßen – parallel zur Programmierung entwickelt wurden: klar. Google verwaltet bekanntlich seine Web-Frameworks in einem einzigen großen Repository. Jede Änderung am Code betrifft dutzende (Live-)Projekte, deren Lauffähigkeit nach einer Codeänderung durch automatisierte Tests sichergestellt wird.
        Ich kenne mich in der Automobilbranche nicht aus, aber ich nehme an, dort wird die Qualitätssicherung auch über solche standardisierten Testläufe vorgenommen?

        Was den Einsatz von KI betrifft: ich bin skeptisch, was den von Ihnen gewünschten Einsatzzweck beim testen alter Legacy-Systeme angeht. Wenn sauber programmiert wird und sich aus dem Code ein Arbeitsmodell der Software ableiten lässt, hat ein Testalgorithmus tatsächlich gute Chancen, automatisierte Qualitätssicherung zu betreiben. Am Spaghetticode der durchschnittlichen Verlagssoftware wird sich wohl auch ein Deep Learning-Testmechanismus noch lange die Zähne ausbeißen. Dynamische Typisierung, Polymorphie – es gibt imho zu viel Code, der ohne nachträgliches Strukturieren kaum automatisiert testbar gemacht werden kann.

        Was zukünftige Softwareentwicklung angeht, gehen wir übrigens vollkommen d’accord: industrielle Standards sind dringend nötig. Ob in Form von standardisiertem Test-driven Development oder durch KI-Qualitätssicherung, wird sich zeigen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.