Interview mit Robert Heinrich: Neue Technologie kann schnell zur Legacy von morgen werden

Wann wird Software zur Legacy – und wie lässt sich das bereits im Architekturentwurf verhindern? Prof. Dr. Robert Heinrich, Professor für Software Engineering an der Universität Ulm, forscht zur Analyse und Evolution software-intensiver Systeme sowie zu Methoden, mit denen sich Qualitätseigenschaften, wie Wartbarkeit und Sicherheit schon früh systematisch bewerten lassen. Im Interview mit dem Legacy IT Center erklärt er, warum neue Technologien schnell selbst zur Legacy werden können, welche Rolle Architekturmodelle für langfristig evolvierbare Systeme spielen – und weshalb künftig auch KI-Modelle als alternde Systemkomponenten betrachtet werden müssen.

Viele Systeme werden nicht durch ihr Alter zur Legacy, sondern durch frühe Architekturentscheidungen. Welche typischen Fehlentscheidungen beobachten Sie, die spätere Modernisierung massiv erschweren?

Beim Entwurf qualitativ hochwertiger und damit auch potenziell langlebiger Softwaresysteme ist es in erster Linie wichtig, den richtigen Grad an benötigter Flexibilität in der Architektur zu erkennen. Überentwickelte Systeme decken Fälle ab, die niemals eintreten werden und sind somit unnötig komplex. Unterentwickelten Systemen mangelt es an Flexibilität, sodass diese nur aufwändig zu modernisieren sind. Beides wirkt sich negativ auf die Langlebigkeit der Systeme aus.

Eine Fehlentscheidung, die oft Neulinge im Bereich des Systementwurfs begehen, ist eine zu starke Abhängigkeit von einer neuen vermeintlich tollen Technologie oder von einem neuen vermeintlich tollen Framework. Dabei ist diese neue Technologie/dieses Framework die Legacy-Software von morgen, die in ein paar Jahren aufwändig wieder ausgebaut werden muss.

Inwiefern hängen solche Entscheidungen mit der heutigen akademischen Ausbildung zusammen? Wo sehen Sie Defizite im Architekturverständnis der Fachkräfte von morgen?

Gute Architekten haben jahrelange Erfahrung im Entwerfen von Systemen und eine Vielzahl unterschiedlicher Entwürfe gesehen. Ähnlich wie beim Programmieren gilt auch beim Entwerfen von Softwaresystemen, dass sich die eigenen Fähigkeiten substanziell verbessern, je mehr Entwürfe von anderen man sieht und bewertet. Damit meine ich ausdrücklich sowohl gute als auch schlechte Entwürfe. Gute Entwürfe geben Inspirationen. Schlechte Entwürfe verdeutlichen, was man besser nicht machen sollte.

In der akademischen Ausbildung ist es daher wichtig Studierenden, nachdem die notwendigen Grundlagen gelegt wurden, im Rahmen von geeigneten Formaten, wie z.B. Praktika und Projekten, den Vergleich ihrer Entwürfe zu ermöglichen, um somit Situationen zu schaffen, in denen Studierende voneinander lernen können.

Sie arbeiten mit modellbasierter Analyse software-intensiver Systeme. Wie helfen solche Modelle, schon vor der Implementierung abzuschätzen, ob ein System langfristig effizient und gut evolvierbar bleibt?

Software-Qualität hängt stark von Entwurfsentscheidungen bezüglich der Architektur der Systeme ab. Studien zur Software-Ökonomie zeigten schon vor Jahrzehnten, dass je früher ein Problem erkannt wird, desto kostengünstiger ist seine Behebung. Da die Software-Architektur bereits früh im Software-Entwicklungsprozess entworfen wird, eignet sich diese besonders gut, grundlegende Qualitätsprobleme beispielsweise bezüglich Effizienz, Sicherheit, Privatheit und auch Wartbarkeit anhand von Modellen der Software-Architektur zu untersuchen. Wir entwickeln in unserer Forschung zu allen den zuvor genannten Qualitätseigenschaften Architektur-basierte Analyseansätze. Damit können Probleme bereits früh und kostengünstig erkannt und behoben werden. Dies trifft sowohl auf die initiale Entwicklung der Systeme als auch auf die Evolution der Systeme über einen langen Zeitraum zu.

Wie vermitteln Sie Studis diese Bedeutung?

Wir forschen seit Jahren aktiv an diesem Themenkomplex, spiegeln unsere Erkenntnisse und Forschungsergebnisse in die Lehre zurück und beziehen Studierende beispielsweise im Rahmen von Abschlussarbeiten oder Projekten direkt in unsere Forschung mit ein. Somit können wir sie für diese Themen begeistern.

Generative KI verändert IT-Architekturen grundlegend. Welche architektonischen Vorkehrungen sind heute nötig, damit KI-basierte Systeme nicht zur nächsten Generation schwer wartbarer Legacy werden?

Der Einsatz generativer KI in Softwaresystemen macht die Erklärbarkeit zu einer wesentlichen Qualitätseigenschaft dieser Systeme, die auch die Wartbarkeit und Weiterentwickelbarkeit dieser Systeme beeinflusst. Generative KI wird bereits heute eingesetzt, beispielsweise zur Unterstützung von Entwurfsentscheidungen, zum Nachverfolgen von Abhängigkeiten oder der Rekonstruktion von Architekturwissen. Ein Thema, das bisher noch weniger in Forschung und Praxis behandelt wird, ist, dass auch die Daten und Lernmodelle über die Zeit veralten und weniger nützlich werden und deshalb evolvieren müssen, was uns vor neue Herausforderungen stellen wird, die es zu lösen gilt.

Architektur wird in vielen Organisationen stark projektbezogen gedacht. Welche Rolle spielt aus Ihrer Sicht eine kontinuierliche Architektur-Governance über den gesamten Lebenszyklus, um Legacy-Effekte zu vermeiden?

Die Beantwortung dieser Frage hängt stark von der Art der Organisation bzw. ihres Geschäftsmodells ab. Eine Organisation, die einzelne Projekte als Dienstleister unterschiedlicher Kunden macht, kann weniger Interesse an einer kontinuierlichen Architektur-Governance haben bzw. dieses Interesse kann durch andere Interessen überlagert sein. Wobei für eine Organisation, deren Geschäftsmodell an einem bestimmten IT-System hängt eine kontinuierliche Architektur-Governance von großer Bedeutung sein wird, um Legacy-Effekte zu vermeiden und langfristig erfolgreich zu sein.

Technische Schulden bleiben oft abstrakt. Welche Metriken oder analytischen Ansätze helfen, technische Schulden auf Architektur-Ebene frühzeitig sichtbar und steuerbar zu machen?

Wir arbeiten an Ansätzen, technische Schulden frühzeitig sichtbar zu machen – und zwar durch Analyse von Änderungsszenarien und der damit verbundenen Aufwände auf Basis von Software-Architekturbeschreibungen. Mit diesen Ansätzen können verschiedene Entwurfsalternativen dahingehend verglichen werden, wie aufwändig die Umsetzung eines bestimmten Änderungsszenarios ist.

Legacy IT ist häufig auch das Ergebnis von Wissensverlust. Wie kann Architekturarbeit dazu beitragen, implizites Systemwissen explizit zu machen und langfristig zu sichern? Welche Rolle spielt dabei Dokumentation?

Gerade in Zeiten hoher Fluktuation und des demographischen Wandels ist das ein wichtiger Punkt. Eine vernünftige Architekturdokumentation ist Grundlage, um Systemwissen langfristig zu sichern. Leider ist es aber auch sehr aufwändig die Architekturdokumentation über Jahre und Jahrzehnte zu pflegen und aktuell zu halten. Auch das Reverse Engineering der Architektur aus Dokumenten oder Source Code ist sehr aufwändig und oft nicht zielführend. Das laufende System driftet über die Jahre weg von der ursprünglichen Dokumentation.

Es gibt Ansätze, Wissen über die Architektur aus Beobachten zur Laufzeit abzuleiten. Hier gibt es aber oft einen großen Abstraktionsunterschied zwischen den Beobachtungen und dem Architekturverständnis, sodass sich diese Beobachtungen nur wenig zur Dokumentation eignen. Wir entwickeln Ansätze von Beginn an die Entwurfsmodelle durch Beobachtungen zur Laufzeit des Systems automatisch zu aktualisieren und somit das Wissen über die Architektur auf einem entwurfsnahen Abstraktionsniveau aktuell zu halten.

Vielen Dank für das Gespräch! (td)

 

Kurzvita – Prof. Dr. Robert Heinrich

Prof. Dr. Robert Heinrich ist Professor für Software Engineering an der Universität Ulm und leitet dort eine Forschungsgruppe zur Evolution software-intensiver Systeme. Seine wissenschaftlichen Schwerpunkte liegen in der modellbasierten Analyse von Software-Architekturen sowie in Methoden zur Bewertung von Qualitätseigenschaften wie Sicherheit, Effizienz und Wartbarkeit über den gesamten Systemlebenszyklus hinweg. Heinrich promovierte an der Universität Heidelberg und habilitierte am Karlsruher Institut für Technologie. Seit April 2025 hat er die Professur für Software Engineering in Ulm inne und veröffentlichte zahlreiche Fachpublikationen und Bücher im Bereich Softwarearchitektur und Systemanalyse.


Studiengang Software Engineering an der Universität Ulm (Quelle: Universität Ulm)