Konferenzprogramm

Konferenzprogramm

Meine KI und ich – beste Freunde oder enttäuschte Beziehung?

Überall entstehen aktuell neue Ideen und Möglichkeiten, mithilfe von GenAI konkrete Unterstützung für im Grunde alle Rollen im Software-Engineering zu erhalten. Das kann in höherer Qualität der Softwareprodukte, verbesserter Effizienz während der Entwicklung oder besseren Entscheidungen münden. Wie gut das funktioniert und was für Potenziale hier in frühen SE-Phasen schlummern, haben wir innerhalb verschiedener Projekte genauer untersucht und ein Plugin entwickelt, um Erkenntnisse zu gewinnen, wie gut ein Software-Architekt wirklich profitiert.

Zielpublikum: Architekten, Entwickler, Projektleiter, agile Teammitglieder
Voraussetzungen:Grundwissen Architektur und Software-Entwicklung
Level: Practicing

Extended Abstract:
KI findet mittlerweile immer mehr Einzug in alle Software-Entwicklungsphasen. Angefangen bei frühen Ideenfindungen über das Requirements Engineering, Architektur- und Designaktivitäten bis hin zum Programmieren und Testen: Überall entstehen neue Möglichkeiten, mithilfe von GenAI konkrete Unterstützung zu erhalten. Das kann in höhere Qualität der Softwareprodukte, verbesserte Effizienz während der Entwicklung oder besseren Entscheidungen münden. Allerdings gibt es dabei auch eine Vielzahl von Fragestellungen: Bei welcher konkreten Aufgabe kann eine KI überhaupt unterstützen? Wie gut ist die Unterstützung tatsächlich und wie stark kann man sich auf den Output von LLMs verlassen? Wie sieht eine konkrete Toolunterstützung aus? Wie groß ist der Mehrwert tatsächlich?

Diese und weitere Fragen haben wir uns zu Beginn eines Projekts im letzten Jahr gestellt, bei dem es darum ging, eine automatisierte Bewertung von Softwarelösungen auf einem Online-Marktplatz für Kommunen mittels LLMs durchzuführen. Vereinfacht dargestellt haben wir Software-Repositories als Input genutzt und die vorhandenen Dateien analysieren lassen, um unterschiedliche Qualitäten wie Usability, Architekturaspekte oder schlicht die Dokumentationsqualität zu überprüfen. Dem LLM haben wir dazu Qualitätsmodelle als Orientierung gegeben; Output war am Ende eine Bewertung anhand von vielen konkreten Kriterien inkl. Begründungen für die Bewertung, welche wiederum zu einer Gesamteinschätzung aggregiert wurden. Wir konnten anhand einer frühen prototypischen Lösung die grundsätzliche Machbarkeit und konkrete, nachvollziehbare Unterstützung umsetzen, welche insbesondere Entscheidungsträgern mit wenig technischem Hintergrund eine Qualitätsaussage zu den zu bewertenden Softwarelösungen eines digitalen Marktplatzes bereitgestellt hat.

Ausgehend von diesen positiven Erfahrungen war es naheliegend, den Fokus mehr Richtung des Softwareentwicklungsprozesses zu legen und somit stärker Rollen in den Blick zu nehmen, welche konkret für die Entwicklung von Softwarelösungen verantwortlich sind und zu prüfen, inwiefern konkrete Unterstützung dabei durch die KI möglich sind. Wir haben uns zunächst auf frühe Phasen konzentriert und Qualitäten in den Blick genommen, die insbesondere für das UX-Design und Architekturarbeiten relevant sind. Die dahinterliegende Prämisse ist, Fehler frühzeitig zu vermeiden bzw. zu beheben, indem kontinuierlich Rückmeldungen zu Designentscheidungen bereitgestellt werden. Um hier möglichst konkret zu prüfen, wie eine werkzeuggestützte Rückmeldung aussehen kann, haben wir uns dazu typische Werkzeuge wie Figma oder draw.io angeschaut und eigene entwickelte Plugins integriert. Diese geben während konkreter Entwicklungsaktivitäten Rückmeldung zu unterschiedlichen Qualitäten. Damit können zum Beispiel Designprobleme bei getroffenen Architekturentscheidungen aufgedeckt und somit frühzeitig geändert werden, bevor es zur Implementierung kommt. Aktuell arbeiten wir daran, von der reinen Analyse dazu überzugehen, die LLMs als Assistenten zu nutzen, d.h. mehr als „Buddy“ zu nutzen, mit dem ein Architekt interagieren kann und so iterativ Designs entwickelt. Dabei macht das LLM Verbesserungsvorschläge, weist auf Fehler hin oder spiegelt Entscheidungen und schlägt Alternativen vor. Die Entwicklung unseres Plugins prüfen wir dabei immer wieder systematisch und bewerten Lösungen von Architekturexperten, führen also kontinuierlich Studien durch, um z. B. zu prüfen, welche Prompts zu welchen Ergebnissen mit welchen Modellen führen, oder wie die immer wieder gleiche Anfrage zu welchen Ergebnissen und Abweichungen führt.

In diesem Vortrag wollen wir insbesondere folgende Aspekte beleuchten:

  • Wie kann GenAI den Architekten beim Design und der Entwicklung von Architektur unterstützen?
  • Welche Erfahrungen haben wir anhand konkreter, realistischer Architekturartefakte und -entwicklungen gemacht?
  • Wie gut ist die Unterstützung tatsächlich?
  • Wie haben wir überprüft, wie valide die Aussagen der KI sind?
  • Was kann man aus unseren Erkenntnissen für andere Umgebungen ableiten?
  • Wo geht die Reise hin?
Fraunhofer IESE
Leiter der Abteilung „Architecture-Centric Engineering“

Dr. Frank Elberzhager leitet die Abteilung „Architecture-Centric Engineering“ am Fraunhofer IESE. Seit über 15 Jahren verantwortet er Forschungs- und Industrieprojekte. Auf zahlreichen Konferenzen und Veranstaltungen hat er Vorträge zu unterschiedlichen Themen gehalten. Zu seinen Schwerpunkten gehören die Themen Softwarequalitätssicherung und -architektur mit aktuellem Fokus auf Datenräume und KI.

Frank Elberzhager
11:00 - 11:45
Vortrag: Do 1.2

Vortrag Teilen