// HEISE ONLINE — MODA & SOCIETÀ
KI: Warum kollaborative Modellierung wichtiger wird als Programmieren
LLMs und generative KI werden Softwarearchitektur grundlegend ändern, aber die fundamentalen Probleme bleiben.
This article is also available in
English.
It was translated with technical assistance and editorially reviewed before publication.
Das Potenzial von KI-Ansätzen hängt davon ab, worum es in der Softwareentwicklung im Kern geht. Die offensichtliche Antwort: Code. Schließlich ist Software Code. Diese Antwort ist aber nicht nur offensichtlich, sondern auch falsch.
Eberhard Wolff ist Head of Architecture bei SWAGLab und arbeitet seit mehr als zwanzig Jahren als Architekt und Berater, oft an der Schnittstelle zwischen Business und Technologie. Er ist Autor zahlreicher Artikel und Bücher, u.a. zu Microservices und trägt regelmäßig als Sprecher auf internationalen Konferenzen vor. Sein technologischer Schwerpunkt sind moderne Architektur- und Entwicklungsansätze wie Cloud, Domain-driven Design und Microservices.
Stellen wir eine andere Frage. Was ist der wichtigste Skill in der IT? Wir haben bei „Software-Architektur im Stream“ diese Frage bei einer IT-Konferenz gestellt – und am häufigsten wurde als Antwort „Kommunikation“ genannt. Auch darüber hinaus kamen die allermeisten Antworten aus dem Bereich Soft Skills. Das ist bemerkenswert, weil es eine technisch ausgerichtete Konferenz war, bei der man vielleicht eher technische Skills als Antworten erwartet hätte.
Die Frage nach dem wichtigsten Skill in der IT ist sehr breit – schließlich geht es um IT im Allgemeinen. Vielleicht sind im Bereich Softwarearchitektur andere Dinge wichtig? Wenn man nach der Hauptherausforderung in der Softwarearchitektur fragt, ergibt sich ein ähnliches Bild: Es geht vor allem um Menschen und die Zusammenarbeit zwischen ihnen.
Der Arbeitsalltag vieler Softwarearchitektinnen und -architekten zeigt auch, wie wichtig dieser Aspekt ist: Sie verbringen viel Zeit damit, mit Menschen zu kommunizieren, um gemeinsam am Projekt zu arbeiten.
Das ist nicht zufällig so. Der Grund ist die Natur von Softwareentwicklung. Die zu entwickelnde Software beeinflusst viele Menschen: Nutzer, Managerinnen und verschiedene andere Rollen. Die Anforderungen dieser Gruppen in Bereichen wie Sicherheit, Performance oder Betreibbarkeit zu verstehen, zu priorisieren und eine geeignete technologische Umsetzung zu finden, ist die zentrale Herausforderung in der Softwarearchitekturarbeit. Dabei haben Stakeholder unterschiedliche Interessen, manchmal sogar entgegengesetzte. Außerdem setzt ein Softwareprojekt einen Lernprozess in Gange, in dessen Rahmen dann neue Ideen und Gedanken auftauchen, die wieder neue Anforderungen zur Folge haben. Auslöser für das Lernen ist die Frage nach den genauen Anforderungen und die kritische Auseinandersetzung mit der vorhandenen Software und den schon bekannten Anforderungen. Dadurch denken die verschiedenen Rollen intensiv über die Software nach und finden so weitere Dinge, die es wert sind, umgesetzt zu werden.
Neben den Stakeholdern sind auch viele Technikerinnen mit der Software beschäftigt: Implementierung, Betrieb und auch Felder wie Sicherheit werden von unterschiedlichen Personen verantwortet. Auch hier gilt: Die Personen und Rollen müssen koordiniert werden, damit sie erfolgreich zusammenarbeiten.
Natürlich ist ein technisches Verständnis als Grundlage für die Arbeit an der Architektur notwendig. Man kann kaum in der Koordination erfolgreich sein, wenn man nicht weiß, worum es eigentlich geht. Tiefes Expertenwissen ist aber nicht notwendig: Solches Wissen ist entweder im Team vorhanden oder kann als Beratung zugekauft werden. Das Wissen um die Kollaboration und Koordination ist also eigentlich wichtiger als das rein technische Wissen.