Wie genAI die Arbeit eines Softwarearchitekten verändert

Ein Softwarearchitekt ist ein Fachmann, der die geschäftlichen Anforderungen in einen technischen Entwurf umsetzt. In kleineren und mittleren Unternehmen ist diese Rolle oft übergreifend, wobei der Architekt als "Bauplaner" fungiert. Er oder sie ist verantwortlich für die Umsetzung des Auftrags in eine Spezifikation, die Auswahl von Technologien, den Entwurf von Datenbanken, die Aufteilung des Systems in Module und die Festlegung der Grundsätze ihrer Kompatibilität. In Unternehmen wird diese Tätigkeit oft auf mehrere spezialisierte Rollen aufgeteilt, aber das Prinzip bleibt dasselbe: Der Architekt definiert die Pläne, nach denen das Entwicklungsteam die endgültige Lösung baut.

Der Vergleich mit dem Baugewerbe ist in diesem Fall naheliegend. Der Architekt entwirft das Haus, bereitet die Dokumentation vor und teilt die Aufgaben zwischen den Bauarbeitern und Handwerkern auf. In der IT ist es ähnlich: Entwurf, Spezifikation und Plan bilden die Grundlage, auf der die leitenden Entwickler und Programmierer die Arbeit zwischen Frontend, Backend und anderen Teilen der Entwicklung aufteilen.

Der Entwurfs- und Entwicklungsprozess

Es gibt verschiedene Ansätze für die Entwicklung, aber unabhängig davon, ob eine Wasserfall- oder eine agile Methodik verwendet wird, gibt es immer eine Entwurfsphase. In dieser Phase wird nach der Erfassung der Anforderungen eine Softwarespezifikation erstellt, die funktionale und nicht-funktionale Anforderungen, Akzeptanzkriterien und die Definition der Projektziele enthält. Auf der Grundlage der Spezifikation werden Testszenarien, Einheitstests für einzelne Komponenten und Integrationstests erstellt, um die Funktionalität des Gesamtsystems zu überprüfen. Diese Tests sind oft direkt mit der Abnahme durch den Kunden verbunden.

Was ist die Wasserfall-Entwicklungsmethode?

Das Wasserfallmodell ist ein klassischer, linearer Ansatz für die Softwareentwicklung. Dabei wird ein Projekt Schritt für Schritt von der Analyse über den Entwurf, die Implementierung, die Tests und die Bereitstellung abgewickelt. Jede Phase muss vollständig abgeschlossen sein, bevor es weitergeht. Dieses Modell basiert auf dem Prinzip, dass der Plan im Voraus bekannt ist und Änderungen während der Entwicklung minimal sind.

Das wichtigste Ergebnis der Arbeit des Architekten ist der Entwurf des Datenmodells und die Beschreibung der Prozesse. Das Datenmodell definiert, wie die Daten strukturiert und gespeichert werden, während das Prozessmodell festlegt, wie die Benutzer mit dem System interagieren und welche Verhaltensszenarien abgedeckt werden müssen. Diese Prozesse werden in der Regel mit UML-Diagrammen modelliert, insbesondere mit Anwendungsfall- und Aktivitätsdiagrammen.

Was ist die agile Entwicklungsmethode?

Die agile Entwicklung hingegen ist ein iterativer und flexibler Ansatz, bei dem das gesamte Projekt in kleinere Teile, so genannte Sprints, unterteilt wird. Jeder Sprint liefert eine funktionale Einheit, die sofort getestet und auf der Grundlage von Rückmeldungen verbessert werden kann. Anstelle eines langfristigen Plans konzentrieren sich agile Teams auf die schnelle Lieferung und die Anpassung an Änderungen, die vom Kunden oder dem Markt kommen. Agile Entwicklung erfordert eine enge Zusammenarbeit zwischen Entwicklern, Analysten, Designern und dem Kunden, der kontinuierlich in den Prozess einbezogen wird, nicht erst am Ende.

Wie KI in den Prozess einfließt

Künstliche Intelligenz entwickelt sich heute zu einem Werkzeug, das die Effizienz der Arbeit eines Architekten grundlegend verändert. Der erste große Beitrag liegt im Bereich des Datenbankdesigns. Der Architekt bereitet die allgemeine Struktur von Tabellen und Beziehungen vor, und KI hilft ihm, diese auf Richtigkeit und Vollständigkeit zu prüfen. Beim Entwurf eines Liefersystems können beispielsweise die Anforderungen an Adresspunkte, logistische Einheiten und Zeitfenster beschrieben werden. Die KI generiert dann Tabellen- und Session-Designs, die der Architekt validiert und vervollständigt. Für uns bei TRITON IT reduziert dieser unterstützte Prozess den Arbeitsaufwand für das Datenbankdesign um etwa 50 %.

Der nächste Schritt besteht darin, die KI zur Unterstützung beim Entwurf der gesamten Systemarchitektur einzusetzen. Der Architekt legt der KI textuelle Beschreibungen von Prozessen (Anwendungsfälle) und ein Datenmodell vor, so dass die KI ein vollständiges Bild der Anwendung erhält. Dank ihres umfassenden Wissens über Technologien und bewährte Verfahren ist sie in der Lage, mögliche Architekturoptionen vorzuschlagen, bestimmte Technologien zu empfehlen und einen Dialog über deren Eignung zu führen. In der Praxis bedeutet dies, dass die KI z. B. vorschlagen kann, den Kafka Message Broker anstelle von RabbitMQ zu verwenden, eine bestimmte Programmiersprache zu empfehlen oder Backend und Frontend in logische Module aufzuteilen.

Der entscheidende Punkt ist jedoch, dass die KI keine Autorität, sondern ein Partner ist. Der Architekt muss die Vorschläge beurteilen, ungeeignete Optionen ablehnen und seine eigenen Absichten im Hinblick auf den größeren Kontext des Projekts durchsetzen. In diesem Dialog zeigt sich die größte Stärke der Synergie zwischen dem Informationsarchitekten und der KI - die KI liefert die breite Wissensbasis und generiert die Optionen, der Architekt liefert die kritische Bewertung und die endgültige Entscheidung.

Arbeitsersparnis und Dokumentationserstellung

Die größten Einsparungen ergeben sich in der letzten Phase, wenn die KI UML-Diagramme, Dokumentationen und Arbeitsvoranschläge erstellen kann. Sobald der Entwurf abgeschlossen ist, verfügt das Modell über eine vollständige Beschreibung der Datenbank und der Prozesse und kann Diagramme von Klassen, Komponenten oder Anwendungsfällen erstellen. Ebenso ist es in der Lage, Arbeitsvoranschläge für bestimmte Entwicklungsteams entsprechend ihrer Erfahrung und Zusammensetzung zu erstellen, einschließlich Zeitplänen und Budgets. Auch andere Aktivitäten, wie z. B. die Arbeit von Entwicklern, können nun mit Hilfe von KI erledigt werden.

Konnte man bei der Entwicklung einer Datenbank etwa 50 % der Zeit einsparen, so reduziert sich der Zeitaufwand bei der Arbeit mit der Architektur dank der KI um etwa 70 %. Im Bereich der Dokumentation, traditionell eine der zeit- und verwaltungsaufwändigsten Aufgaben, sind die Einsparungen sogar noch deutlicher und erreichen bei TRITON IT teilweise bis zu 90%.

Utopie vs. Realität

Mit dem rasanten Aufkommen von GenAI tauchen heutzutage immer wieder neue sogenannte Applikationsgeneratoren auf, die in ihrer Werbung damit locken, dass sie die gesamte Anwendung in wenigen Minuten selbst erstellen. Auf den ersten Blick erscheint dies wie eine Revolution, die Entwicklungsteams und Softwarearchitekten vollständig ersetzen kann. Doch die Realität ist wesentlich ernüchternder.

Generative KI kann zwar die analytischen, gestalterischen und dokumentarischen Teile der Entwicklung grundlegend beschleunigen, aber sie kann die menschliche Entscheidungsfindung für die Stabilität und Sicherheit des gesamten Systems nicht ersetzen. KI kann ein großartiger Assistent sein, der Architekten und Entwickler beim Entwurf von Datenbanken, Codestrukturen oder Prozessen unterstützt, aber es bleibt eine menschliche Aufgabe, ein komplexes, stabiles und nachhaltiges System zu schaffen. Im Moment ist die KI nur seine starke rechte Hand, kein Ersatz.

Die wachsende Bedeutung von standardisierten Textformaten

Large Language Models (LLMs) sind Werkzeuge, die hauptsächlich mit Text arbeiten. Daher sind sie auf den ersten Blick vielleicht nicht ideal für die Erstellung visueller Elemente wie UML- oder ER-Diagramme. Hier kommt jedoch die Stärke textueller grafischer Formate wie Markdown, DPML (Datenbankbeschreibungssprachen) oder PlantUML zum Tragen: Mit diesen standardisierten Formaten lassen sich auch komplexe Strukturen in reinem Text beschreiben, den LLMs perfekt verstehen.

So können sie in Zusammenarbeit mit dem Architekten genaue und konsistente Ergebnisse erzeugen, die dann mit speziellen Werkzeugen leicht visualisiert werden können. Dieser Ansatz beschleunigt die Arbeit erheblich, denn statt manuell zu zeichnen, werden die meisten Entwürfe mit Unterstützung erstellt und die daraus resultierenden Diagramme werden einfach angezeigt, exportiert oder gedruckt. Bei TRITON IT spart dieses Verfahren bis zu 90 % der Zeit.

Abb. 1: UML-Diagramm der Komponenten eines Informationssystems für Produktion, Produktregistrierung und Vertrieb, das mit einem auf der Saleor-Plattform aufgebauten E-Shop verbunden ist

Die neue Rolle des Architekten

Die künstliche Intelligenz verdrängt also nicht den Softwarearchitekten aus dem Spiel, sondern verändert seine Rolle. Die Routinearbeit des Zeichnens von Diagrammen und des Verfassens von Dokumentation wird zu einem Kurator des Dialogs mit der KI, der alle Aspekte des Entwurfs verstehen, die richtigen Fragen stellen und die Antworten kritisch bewerten muss. Der Architekt bleibt derjenige, der die Richtung des Projekts vorgibt, aber anstatt alle Dokumente manuell zu erstellen, liegt der Schwerpunkt auf der Qualität des Briefings und des Entscheidungsprozesses.

Das Ergebnis ist eine erhebliche Steigerung der Effizienz sowie eine höhere Qualität der Dokumentation, die in kürzerer Zeit erstellt wird. Auf diese Weise wird die KI nicht nur zu einem Assistenten, sondern auch zu einem Katalysator, der die Arbeit des Architekten verändert, ähnlich wie CAD-Tools die Arbeit der Architekten im Bauwesen verändert haben.

Möchten Sie eine maßgeschneiderte Software entwickeln?

Ähnliche Artikel

Entwicklung Entwicklung

Der Bürgermeister von Křeslice, Prag, suchte nach einer einfachen Möglichkeit, Informationen aus der Praxis sofort mit den Bürgern zu teilen....

Inhalt Inhalt

Im Jahr 2021 erstellten wir die erste Markenseite für die Marke MISURA unter misura.cz (später misura.store). Wir haben über die Erstellung...

Inhalt Inhalt

Im digitalen Umfeld reicht es nicht mehr aus, qualitativ hochwertige Inhalte zu erstellen und darauf zu hoffen, dass das Publikum den Weg zu...