Hallo! Mein Name ist Marc Dauenhauer. Ich bin Datenschutzbeauftragter und IT-Architekt. Sie befinden sich hier auf einem Blog, auf dem ich über Themen der Digitalisierung im weitesten Sinne berichte. Wenn Sie meine Dienstleistungen als Datenschutz-Experte oder IT-Spezialist suchen, klicken Sie bitte hier!

Müssen wir Software-Entwicklung nicht endlich neu denken?

Hurra, hurra, das Internet  brennt. Alles steht auf Alarm und jeder fragt sich, wie konnte das nur passieren?


Software-Entwicklung ist ein schwieriges Geschäft. Es gibt wohl wenige andere Produkte, die so unreif und fehlerhaft verkauft werden, wie Software. Früher sprach man gerne von Bananensoftware, die man „grün“ kauft und die erst beim Kunden reift.

Leider ist das auch heute noch in der Mehrzahl der Produkte der Fall. Da werden Features nachgeliefert, die dann doch nicht rechtzeitig fertig geworden sind und es wird ein Patch nach dem anderen veröffentlicht, um Sicherheitslücken und Instabilitäten zu beheben.

Wir haben uns als Anwender mittlerweile daran gewöhnt, ein neues Gerät aus der Verpackung zu nehmen und vor der ersten Benutzung bereits ein minutenlanges Firmware-Update zu machen. Und wenn wir Pech haben und das ganze schlägt fehl, stehen wir wieder beim Händler, weil aus unserem schönen neuen Gerät ein nutzloser Briefbeschwerer geworden ist.

Die schöne neue digitale Entwicklungswelt ist voller Konstruktionsfehler und Unzulänglichkeiten und ähnelt noch immer mehr dem Labor eines Daniel Düsentriebs als einer soliden Fabrikation.

Mir geht es nicht um Software-Bashing. Ich habe in meinem Leben selbst viel Software entwickelt und kenne daher all die Unzulänglichkeiten aus der eigenen schmerzvollen Erfahrung als Entwickler.

Trotzdem scheinen wir mit der zunehmenden Komplexität hochgradig vernetzter interdependenter Systeme und den durch Agilität angetriebenen immer kürzer werdenden Entwicklungszyklen überfordert zu sein. Agilität bedeutet ja in erster Linie Beweglichkeit und nicht aufgezwungene Schnelligkeit, die zu mangelnder Sorgfalt führt. Ach, ist ja eh nur ein erstes MVP, da können wir ja später noch nachbessern.

Viele Entwicklungsmethoden werden dabei nicht mehr hinterfragt. Da baue ich mir mal schnell aus öffentlichen Containerimages ein System zusammen, ohne wirklich zu wissen, was in den Containern genau verbaut wurde. Oder ich nutze Open Source Komponenten, weil es damit schneller geht. Warum das Rad neu erfinden? Hinterfragen? Verbindlichkeit? Haftung? Ägypten?

Die Sicherheitslücke um log4j ist kein Versehen. Sie funktioniert wie geplant. Spezifikationsgemäß. Offensichtlich hat niemand gesehen, dass sich diese Funktion missbrauchen lässt. Es ist also ein digitales Bauteil mit einem erheblichen Konstruktionsfehler. Und extrem viele Entwickler haben es in ihrer Software unkritisch verbaut.

Software-Architektur als Disziplin wird teilweise in den Unternehmen immer noch als Zeichnen bunter Bildchen missverstanden. Doch gerade gute Architekturen sind bitter nötig.

Wir brauchen neue Paradigmen in der Software-Entwicklung, um solche kapitalen Fehlentwicklungen frühzeitiger zu erkennen. Vielleicht lässt sich die Zuverlässigkeit von Software nur eingeschränkt verbessern, aber dann gehört zumindest ein großes Warnschild darauf gepackt. Zu Risiken und Nebenwirkung befragen Sie bitte Ihren Admin oder Informatiker.