Softwarearchitektur im Wandel
Ein Artikel von Uwe Friedrichsen
Generative KI (kurz: GenAI) ist in aller Munde. Allen Branchen werden massive Veränderungen prophezeit, auch der IT. Auf GenAI-Technologie basierende KI-Agenten sollen Einzug in die Software-Entwicklung halten. Manche gehen sogar so weit, zu behaupten, dass die Softwareentwicklung zukünftig vollständig von kollaborierenden KI-Agenten übernommen wird. In diesem Artikel betrachten wir, was KI für die Rolle von Softwarearchitekt:innen bedeutet.
Fakt oder Fiktion?
Um den Einfluss von KI auf die Rolle von Softwarearchitekt:innen zu untersuchen, müssen wir zunächst KI betrachten. Dabei stoßen wir direkt auf unsere erste Herausforderung: Es ist derzeit nahezu unmöglich, belastbare Aussagen zur Leistungsfähigkeit aktueller und zukünftiger KI-Lösungen zu erhalten. Für die einen ist es die Antwort auf alle Fragen des Universums, das Allheilmittel für alle Probleme des heutigen (Arbeits-)Lebens. Für die anderen ist es eine Luftnummer, ein künstlich aufgeblähter Hype, der seine übertriebenen Versprechungen nicht einhalten kann.
Was ist Fakt, was ist Fiktion? Beides lässt sich häufig nur schwer unterscheiden. Wollten wir es wirklich verstehen, müssten wir alles selber ausprobieren. Alle widersprüchlichen Aussagen selbst auf den Prüfstand zu stellen, ist schlicht unmöglich. Kurzum: Es ist kompliziert.
Unscharfe Grenzen
Dann müssen wir Softwarearchitektur betrachten, was auch seine Herausforderungen mit sich bringt. Die Grenzen von Softwarearchitektur sind nicht klar zu greifen. Entsprechend viele Diskussionen gibt es darüber, was konkret dazugehört und was nicht, welche Aufgaben man als Architekt:in hat und welche nicht. Auch das ist kompliziert.
Der Einfachheit halber und um eine greifbare Basis zu haben, betrachte ich im Folgenden nur diese vier Kerntätigkeiten von Architekturarbeit:
- Analyse – Die Problemstellung ganzheitlich verstehen
- Entwurf – Mögliche Lösungsoptionen entwerfen
- Bewertung – Die Vor- und Nachteile der Optionen herausarbeiten
- Kollaboration – Zusammenarbeit mit anderen Personen, z. B. zur Informationsgewinnung oder Vermittlung der Arbeitsergebnisse
Möglichkeiten und Grenzen
Schauen wir auf die vier Kerntätigkeiten, so ergibt sich ein differenziertes Bild, was den Einfluss von KI auf das Feld Softwarearchitektur angeht (siehe auch Abbildung):
Bei der Analyse kann KI sehr gut unterstützen: Code, Dokumentation und Anforderungen analysieren, einen Überblick verschaffen, Defizite erkennen, Verbesserungspotentiale aufzeigen. Hier unterstützt KI schon tatkräftig und wird auch in Zukunft verstärkt genutzt.
Beim Entwurf ist die Sache weniger einfach: Wenn es um Standardlösungen, wie z. B. eine eCommerce-Lösung geht, dann ist KI bereits heute in der Lage, gute Lösungen zu entwerfen. (Allerdings frage ich mich immer wieder, warum heute Firmen noch eCommerce-Lösungen selbst entwickeln, anstatt fertige Lösungen via Standard-Software oder SaaS einzukaufen).
Je spezieller und originärer eine Lösung aber ist, desto weniger kann eine KI unterstützen, schlicht weil sie in ihren Trainingsdaten kaum Beispiele dazu findet. An dieser Stelle hilft uns auch nicht, wenn GenAI-Lösungen dann interpolieren, was auch „Halluzinieren“ genannt wird. Diese Abstufung der Unterstützung wird sich wahrscheinlich auch in Zukunft nicht maßgeblich ändern.
Bei der Bewertung kann uns KI auch schon zu einem gewissen Grad unterstützen, insbesondere um auf Aspekte hinzuweisen, die man möglicherweise in der Bewertung übersehen hat. Es steht zu erwarten, dass die KI-Unterstützung in diesem Bereich noch stärker werden wird.
Bei der Kollaboration gibt es nur eingeschränktes Unterstützungspotential. Das Erstellen von Dokumentation kommt immer dann zum Tragen, wenn Menschen nicht direkt miteinander interagieren können. KI kann schon jetzt tatkräftig dabei unterstützen und u.a. Meetings oder Workshops transkribieren und zusammenfassen. Darüber hinaus wird es jedoch dünn. Aber der eigentliche Kern der Architekturarbeit, das Finden und Bewerten von Lösungen sowie die Kollaboration zwischen Menschen wird auch in Zukunft eher eine Aufgabe für Menschen bleiben. Dabei kann die Maschine, genauer KI, nicht wirklich unterstützen.
Es gäbe noch viele weitere Aspekte und Details zu betrachten. Mit Blick auf die Artikellänge belasse ich es dabei.
Alles bleibt anders
Was bedeutet das jetzt für Softwarearchitekt:innen? Deren Arbeit wird sich durchaus verändern: KI wird Einzug in ihre tägliche Arbeit halten. Neue Werkzeuge kommen hinzu, welche die bestehende Toolbox komplementieren. Ob KI bestehende Werkzeuge komplett ersetzen wird, muss sich erst noch zeigen. Dafür ist die Entwicklung noch zu jung.
Was ist mit der Rolle „Softwarearchitekt:in“? Wird sie in Zukunft durch KI ersetzt werden? Ich denke nicht – zumindest auf absehbare Zeit. Die Rolle umfasst eine Vielzahl von Aufgaben, die eine KI vorerst nicht in sinnvoll und der erforderlichen Form leisten kann, weil dafür schlicht nicht genug Trainingsdaten existieren. Nicht zuletzt „menschelt“ es auch in der Softwareentwicklung immer noch stark. Solange Menschen Teil der Softwareentwicklung sind, gerade auch auf Anforderungsseite, werden auch menschliche Softwarearchitekt:innen benötigt werden.
Und was bedeutet das für Ausbildungspfade, wie sie z. B. der iSAQB anbietet? Dort werden die neuen Möglichkeiten und Werkzeuge weiterhin Einzug in die Lehrpläne und Trainings finden müssen, um aktuell und praxisnah zu bleiben. Während Module wie „SWARC4AI – Softwarearchitektur für KI-Systeme“ bereits hinzugefügt wurden, werden andere Trainings sich grundlegend verändern, weil immer mehr Aufgaben von KI übernommen werden. Insgesamt wird es weiterhin Bedarf an der Ausbildung von Softwarearchitekt:innen geben.
Es wird also alles anders und es bleibt doch, wie es ist – wie so häufig, wenn der Fortschritt anklopft.
Über den Autor:
Uwe Friedrichsen ist CTO der codecentric AG und Mitglied des iSAQB, regelmäßiger Sprecher auf internationalen Konferenzen, Fachautor sowie Herausgeber von zwei IT-Publikationen.