Zukunftssichere Software braucht kontrollierbare Produktionsanlagen Softwareproduktion nach industriellen Maßstäben

Von Hamarz Mehmanesh *

Anbieter zum Thema

Die behördliche Softwarelandschaft in Deutschland hat ein Nachhaltigkeitsproblem. Auftraggeber und Software-Häuser müssen ihr Augenmerk stärker auf einen industriell-orientierten Produktionsprozess richten – und Kontrollmechanismen für nachhaltige Software einfordern.

Die Öffentliche Hand muss für Fachkräfte mit IT-Expertise attraktiver werden
Die Öffentliche Hand muss für Fachkräfte mit IT-Expertise attraktiver werden
(© joyfotoliakid - stock.adobe.com)

Behördliche Software-Projekte geraten immer wieder in die Kritik – sei es wegen schleppender Umsetzungen, Sicherheitspannen, Datenschutzproblemen, miserabler Performance, Abhängigkeiten zu IT-Konzernen, oder zweifelhaften Entscheidungen für unausgereifte Produkte.

Die Gründe sind vielfältig. Sie mögen zum Teil in den komplexen und angestaubten Strukturen des Behördenapparats liegen. Sie liegen aber auch in einer weit verbreiteten Fehleinschätzung, die sowohl die Öffentliche Hand als auch viele Softwarehäuser teilen – nämlich die Auffassung, dass aus dem Nichts in kürzester Zeit die komplexeste Software gebaut werden kann.

Komplexe Software

Dem ist jedoch nicht so – vor allem nicht bei Verfahren mit hoher fachlicher Komplexität, die sicher, hochskalierbar und nutzerfreundlich sein müssen und gleichzeitig in eine heterogene IT-Landschaft eingebunden sind. Sie tragen alle Charakteristiken einer speziellen Klasse von Software: Enterprise-Anwendungen. Sie sind komplex, vernetzt, langlebig und in den Händen großer Organisationen mit verteilten Verantwortlichkeiten.

Es ist nahezu unmöglich, solche Software ohne einen integrierten Ansatz und eine Art Produktionsstraße für Software dieser Klasse in einem ausgeschriebenen Projekt innerhalb von sechs Monaten nachhaltig zu entwickeln. Einigen Beobachtern der behördlichen Softwarelandschaft ist die Problematik bewusst. Der größte Kostenblock und Aufwand fällt für Software in der Regel nicht für die initiale Entwicklung an. Sondern für die langfristige Wartung, Bereitstellung und Anpassung der Software an veränderte Umstände.

So hält der Normenkontrollrat in seinem kürzlich veröffentlichten „Monitor Digitale Verwaltung #5“ die „Nachhaltigkeit der gegenwärtigen OZG-Strategie für fraglich“ – trotz aller derzeitigen Bemühungen um Nachnutzungsmodelle. Er fordert: „Das deutsche Gesamtsystem Verwaltungsdigitalisierung muss schnellstmöglich in Richtung industrieller Produktionsmuster weiterentwickelt werden. Sonst bleibt die OZG-Umsetzung – bei ehrlicher Wertschätzung für Einsatz und Motivation aller Beteiligten – auf Dauer eine Bastelwerkstatt und wird nur schwerlich mit den Entwicklungen des Privatsektors und anderer Staaten mithalten können.“

Fachkräftemangel trifft Software-Zeitgeist

Viele behördliche Software-Projekte scheitern daran, dass eine fehlende Expertise auf Seite der Auftraggeber auf eine Selbstüberschätzung der Auftragnehmerseite trifft. Der Öffentlichen Verwaltung fehlen Fachkräfte mit dem nötigen IT-Know-how. Es gibt zwar vereinzelte Leuchttürme, die über die nötige Expertise verfügen und engagiert und mit Sachverstand Projekte voranbringen. Es sind aber viel zu wenige. Dadurch entsteht in vielen Fällen die fatale Situation, dass behördliche Auftraggeber bei Softwareprojekten nicht ausreichend verstehen, was gebaut wird, wie es gebaut wird und worauf geachtet werden sollte.

Auf der anderen Seite stehen Softwarehäuser, die sich häufig zu viel zutrauen und Projekte akquirieren, für die sie gar nicht die passenden Produktionsstraßen eingerichtet haben. Schuld an dieser Misere ist auch der Zeitgeist der Softwarebranche. Vor mehr als 20 Jahren sah man umfangreiche Architekturentwürfe als heiligen Gral an. Die nachgelagerte Entwicklung sollte dann nicht schwieriger sein als Brötchen zu backen.

Bekanntlich hat das nicht funktioniert. Viele große Projekte sind gescheitert und die agile Bewegung ist entstanden. Heute wissen wir, dass die Praxis ihre eigenen Tücken hat und Entwickler bei Projekten von Beginn an eingebunden sein müssen. Dieser wichtige Grundsatz wird aber häufig ins Extrem getrieben und kann dann auch wieder Schaden anrichten.

Wenn den Entwicklern alle Macht eingeräumt wird und sie bei Enterprise-Anwendungen auf grüner Wiese loslegen, sind zwei Szenarien wahrscheinlich: Entweder richten sie eine passende Produktionsanlage für die Software von Grund auf neu ein. Dann sind Projektverzögerungen vorprogrammiert. Oder sie legen ohne einen integrierten Produktionsprozess los. Dann liegen erste Ergebnisse zwar sehr schnell vor, können aber nicht die hohen Anforderungen an Sicherheit und Skalierbarkeit erfüllen. Langfristig gesehen wird die grüne Wiese dann eher zu einer verödeten Wüste als zu einer blühenden Landschaft.

Nachhaltige Produktion

Es reicht dementsprechend nicht, Experten im Rahmen einer Ausschreibung zu buchen und sechs Monate mit dem Bau einer komplexen Software zu beauftragen. Die Voraussetzung für eine nachhaltige Produktion ist eine Umgebung, in der die anvisierte Art von Software verlässlich gebaut werden kann.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Ohne einen industriellen Produktionsansatz entsteht Software, die vielleicht kurzfristig die dringendsten Anforderungen erfüllt, langfristig aber auf kaum noch behebbare Probleme stößt. So muss Software zum Beispiel von Anfang an für eine bestimmte Skalierungsklasse gebaut werden. Im Nachgang lässt sich das kaum korrigieren. Das ist so, als hätte man zuerst ein Fahrrad gebaut und müsste es dann dazu bringen, so schnell zu fahren wie ein Sportwagen.

Ein weiteres Beispiel ist die IT-Security. Sicherheitsaspekte müssen von der ersten Zeile Code an berücksichtigt werden. Vereinzelte nachgelagerte Pentests reichen nicht. Es bedarf zwingend bereits während der Entwicklung klar definierte Verfahren, um neue automatisierte Tests schnell einzubringen. Dazu gehören Dashboards, die die Ergebnisse übersichtlich aufbereiten. Und es muss Monitoring-Lösungen geben, die automatisiert hunderte von Tests überprüfen und bei Auffälligkeiten das Entwicklungsteam benachrichtigen.

All diese Dinge müssen nahtlos in den Software-Produktionsprozess eingebettet sein. Eine solche Produktionsumgebung lässt sich aber nicht von heute auf morgen einrichten. Sie bedarf sorgfältiger Abstimmungen zwischen Architekten und Spezialisten verschiedener Disziplinen, die entsprechende Erfahrungen aus Großprojekten einbringen. Darüber hinaus bedarf es einer Verkettung und Konfiguration etlicher spezialisierter Werkzeuge für einzelne Schritte des Entwicklungsprozesses.

Kontrollmechanismen

Wie lässt sich die Situation verbessern? Zum einen sollte die Öffentliche Hand attraktivere Bedingungen für Fachkräfte mit IT-Expertise schaffen. Dazu gehört eine angemessene Bezahlung, die konkurrenzfähig zur Privatwirtschaft ist. Außerdem sollte ein Umfeld geschaffen werden, das weitreichende Entfaltungsmöglichkeiten bietet. Starre Hierarchien und Beförderungsmechanismen sind hingegen hinderlich. Nur mit möglichst vielen kompetenten Köpfen in den eigenen Reihen lässt sich das Problem unrealistischer Beauftragungen lösen.

Der Autor: Hamarz Mehmanesh
Der Autor: Hamarz Mehmanesh
(© mgm)

Zum anderen sollten die Produktionsumgebungen für den Bau komplexer Software viel stärker in den Fokus rücken. In anderen Branchen ist es längst an der Tagesordnung, dass nicht nur Produkte, sondern auch Produktionsanlagen kontrolliert werden. In der Softwarebranche fehlen solche Kontrollmechanismen weitestgehend.

Zwar gibt es eine Reihe guter Standards, die zum Beispiel das Bundesamt für Sicherheit in der Informationstechnik (BSI) vorantreibt. Es fehlen jedoch verbindliche Vorgaben für einen industrialisierten Entwicklungsprozess an sich. Die Voraussetzungen, unter denen Software entsteht, werden schlichtweg nicht ausreichend berücksichtigt. Dabei ist eine gut durchdachte Softwareproduktionsstraße die Voraussetzung für Software, die sicher, skalierbar, kosteneffizient und performant ist – und nicht nur kurzfristig alle Anforderungen erfüllt, sondern über Jahrzehnte Bestand hat.

*Der Autor: Hamarz Mehmanesh, Mitgründer und CEO mgm technology partners GmbH

(ID:47549933)