»ChatGPT in der Industrie« - Teil 4
Katalysator eines agilen Entwicklungsprozesses
Wie passt generative KI zu einer agilen Arbeitsweise? Dieser Teil der Artikelserie geht explizit auf das Zusammenspiel von KI und agiler Arbeitsweise bei der Produktentwicklung ein.
Die schematische Darstellung des Promptablaufs
© selim/stock.adobe.com / talsen teamDer wesentliche Anspruch agiler Methoden besteht darin, iterative Prozesse, kontinuierliche Verbesserung und das frühzeitige Einbeziehen von Kundenfeedback in den Vordergrund zu stellen. Im Gegensatz zu traditionellen, wasserfallartigen Ansätzen, bei denen die Anforderungen zu Beginn umfassend definiert und dann schrittweise umgesetzt werden, begrüßen agile Methoden den schrittweisen Wissenszuwachs auf Kundenseite und im Team. Dies bedingt im Gegensatz zur Vorstellung, in Wasserfallmodellen die Anforderungen zu Beginn eines Projektes fest definieren zu können, einen kontinuierlichen Strom an Veränderungen. Richtig umgesetzt führt dies letztendlich zu einem besser an den Bedarf angepassten Produkt in einer kürzeren Projektdurchlaufzeit. Agile Methoden zielen zur Erreichung einer hohen Entwicklungsperformanz zudem darauf ab, „Arbeit, die nicht zu tun ist“, systematisch zu identifizieren. Damit werden Aufgaben mit geringen oder sogar keinem Wertezuwachs für das Produkt nicht einfach achselzuckend akzeptiert, sondern aktiv vermieden.
Agil sein – leichter gesagt als getan
Diese Anschauung ist inzwischen in vielen Unternehmen angekommen; als konkrete agile Vorgehensweisen in der Produktentwicklung haben sich häufig Scrum oder Kanban etabliert. Allerdings ist „agil sein“ oft leichter gesagt als getan und so bringt trotz der Vorteile die agile Produktentwicklung natürlich auch erhebliche Herausforderungen mit sich. Erfolgsentscheidend ist die präzise Kommunikation und transparente Kollaboration mit Stakeholdern und innerhalb des Entwicklungsteams. Die dafür erforderliche kontinuierliche, zeitnahe und kleinteilige Informationsaufbereitung sowie die schnelle Entscheidungsfindung sind Aufgaben, die von allen beteiligten Rollen im agilen Alltag oft als mühsam und aufwendig empfunden werden.
Generative KI als Agilitätsvereinfacher
Hier kommt die generative KI ins Spiel. Mit der Fähigkeit, komplexe Texte schnell zu verarbeiten und Textvorschläge zu generieren, wird die Kommunikationsebene agiler Produktentwicklungen sehr gut unterstützt und die tatsächlich gelebte Reaktionsfähigkeit im Team verbessert. Andersherum betrachtet, ist aus der Perspektive der generativen KI besonders die Kleinteiligkeit der Informationsaufbereitung der Schlüssel für deren effizienten Einsatz. Der damit kleinteilige klar zu benennende Kontext und das gut abzusteckende Formulierungsziel in Bezug auf agile Beschreibungsartefakte sind gute Voraussetzungen für Prompts mit hoher Ergebnisqualität.
Als ein Beispiel aus den unterschiedlichen Abstraktionsebenen (Bild 1) wie in agilen Projekten Projektziele, Produktfähigkeiten und -eigenschaften, Arbeitspakete und Aufgaben sowie konkrete Spezifikationen formuliert werden können, soll im Folgenden die Zergliederung von Epics in User Stories dienen.
Grundsätzlich gilt: Epics und User Storys dienen zur Beschreibung von Arbeitspaketen. Wobei Epics für große Arbeitspakete Verwendung finden, die noch zur konkreten Bearbeitung in eine detailliertere Beschreibung nämlich in die User Stories zerlegt werden müssen (Bild 2).
Ein Prompt-Kochrezept
Bild 1. Unterschiedliche Abstraktionsebenen zur Beschreibung eines agilen Entwicklungsprojektes.
© selim/stock.adobe.com / talsen teamAls Grundlagen für unser Prompt-Kochrezept zur Zerlegung eines Epics in User Stories, erinnern wir uns an die generelle Herangehensweise und daran, welche Information ein Prompt beinhalten sollte:
Ein guter Prompt entspricht in etwa der Arbeitsanweisung an eine Person, die zwar die grundlegenden Fähigkeiten besitzt, die Aufgabe zu lösen, aber keine spezifischen Informationen oder einen konkreten Kontext dazu hat.
Erinnern wir uns an die Struktur unseres standardisierten Prompts für Kontextinformationen und Aktionen. Zu guter Letzt benötigen wir noch eine Vorlage für eine User Story als Zielformat für die generative KI. Das nun zu zerlegende Beispiel hat das für Epics übliche Format und besteht aus einem Titel, einem Narrativ, mehreren Akzeptanzkriterien und einer kurzen Beschreibung:
- Epic Titel: Erste Implementierung eines Proof-of-Concepts einer IIoT-Applikation zum Sammeln von Temperaturdaten
- Narrativ:
- Um eine Echtzeitüberwachung zu ermöglichen und umgehend fundierte Entscheidungen treffen zu können,
- möchte ich als Produktionsanlagenmanager,
- ein System, das kontinuierlich Temperaturdaten aus dem Produktionsprozess sammelt und auf einem intuitiven Dashboard anzeigt.
- Akzeptanzkriterium 1: Sensoren müssen in der Lage sein, die Temperatur im Produktionsumfeld kontinuierlich zu überwachen.
- Akzeptanzkriterium 2: Es sollte einen zuverlässigen Datensammlungs- und Übertragungsdienst geben, …
- Akzeptanzkriterium 3: Beschreibung: Dieses Epic umfasst….
Unsere leere Vorlage für die eine oder mehrere zu erstellenden User Storys als Zielformat lautet wie folgt. Der in „<>“ Klammern gesetzte Text wird dann später von dem LLM entsprechend ersetzt:
- User Story Titel: <Titel kommt hier>
- Schätzung: <hier kommt die Schätzung mit gewünschter Skala>
- Narrativ:
- Um <zu erreichendes Ziel oder Nutzen kommt hier>,
- möchte ich als <Rolle/Persona kommt hier>,
- <gewünschte Produktfunktion / Produktausprägung kommt hier>.
- Akzeptanzkriterium 1: <Akzeptanzkriterium kommt hier>
- Akzeptanzkriterium 2: <Akzeptanzkriterium kommt hier>
- Akzeptanzkriterium 3: <Akzeptanzkriterium kommt hier>
- Beschreibung: <Beschreibung der User Story kommt hier>
Damit wären die Bausteine für unseren Zerlegungs-Prompt für das erste Akzeptanzkriterium komplett. Das Epic und die Formatvorlage sind aus Platzgründen im Beispiel Prompt abgekürzt dargestellt. Wer das Kochrezept selbst ausprobieren möchte, bitte die entsprechenden Informationen und Vorlagen in dem Zerlegungs-Prompt ergänzen und vervollständigen. Der gesamte Ablauf ist als Übersicht zu Beginn des Beitrags bildhaft („Die schematische Darstellung des Promptablaufs“)dargestellt.
Vollständiger Prompt mit allen erforderlichen Informationsanteilen:
# gegeben das Epic
```
Epic Titel: konkrete Formulierung siehe oben …
```
# gegeben
```
Hier muss noch der weitere erforderliche Kontext für eine erfolgreiche Zerlegung des Epics in eine oder mehrere User Stories eingefügt werden. Weiterer Kontext wäre zum Beispiel relevante Personas, relevante Technologievorgaben und -entscheidungen, relevante Architekturvorgaben, Informationen zu bestehenden zu berücksichtigenden Zwischenergebnissen oder Beispielen, Informationen zur bestehenden zu berücksichtigenden Codebasis – also einfach gesprochen alle Informationen, die auch Verwendung finden würden einen Menschen erfolgreich mit der Aufgabe zu beauftragen.
```
# geben die Formatvorlage einer User Story
```
User Story Titel: Vorlage siehe oben
```
# dann
* analysiere das gegebene Epic und den zusätzlich gegebenen situations- und aufgabenbezogenen Kontext,
* formuliere für das X. Akzeptanzkriterium des Epics eine oder mehrere vollständige User Stories, die die konkrete Umsetzung dieses Akzeptanzkriteriums beschreiben und abdecken,
* verwende als Format die gegebene Formatvorlage für User Stories,
* ändere die Struktur der Formatvorlage nicht, sondern füge Text nur in den mit „<>“ markierten Platzhaltern ein,
* formuliere eine User Story immer mit mindestens drei Akzeptanzkriterien, formuliere aber niemals mehr als fünf Akzeptanzkriterien,
* die Skala für die Aufwandsabschätzung ist: klein, mittel, groß, sehr groß
Die geforderten Aktionen im „dann“-Block umfassen mehrere Kriterien, die in einzelne Aufzählungspunkte getrennt und strukturiert sind. Günstig ist es, den Fokus auf einen Aspekt der Zergliederung zu legen, so wie hier nur ein Akzeptanzkriterium zur weiteren Detaillierung angefragt ist. Wird die zu erwartende Antwort zu lang beziehungsweise muss ein zu großes thematisches Feld abgedeckt werden, ist mit pauschalen Antworten zu rechnen, die einen geringeren Nutzwert haben. Es ist zudem zu beachten, dass durch diese Arbeitsweise auch schnell ein Informations-Overflow erzeugt werden kann. Um dies zu vermeiden, sollte man ganz im Sinne einer agilen wertebasierten Vorgehensweise mit dem oder den wertvollsten, kritischsten, nutzbringendsten Akzeptanzkriterien beginnen und die restlichen Akzeptanzkriterien erst formulieren und zergliedern, wenn der konkrete Bedarf besteht. Nicht die theoretische Vollständigkeit ist das Ziel einer agilen Arbeitsweise, sondern die Maximierung der pro Zeiteinheit geschaffenen Werte.
Das Prompt-Ergebnis
Bild 2: Die kontinuierliche Zergliederung der Anforderungsinformation in immer kleinere und präzisere Aufgabenbeschreibungen.
© selim/stock.adobe.com / talsen teamUm es vorwegzunehmen: Man darf von einer generativen KI keine Zauberei erwarten. Im Gegenteil: Product Owner und auch das entwickelnde Team werden diese Formulierungsvorschläge kritisch in Bezug auf Korrektheit, Relevanz und Vollständigkeit reviewen müssen. Allerdings ist bei einem gut ausgewählten Kontext das auf diese Art und Weise erzeugte Formulierungsergebnis überraschend gut und bietet Vorteile gegenüber einer rein manuellen Formulierung für folgende Fallbeispiele:
- Schnelles weitere Zergliedern und Detaillieren von Artefakten zur Arbeitsorganisation wie Epics und User Stories.
- Kein „leeres Blatt“-Effekt, um schnell einen Formulierungsvorschlag zu erzeugen.
- Demokratisierung von guten Formulierungen - nicht nur Product Owner und Produktentscheider können nun hochwertige beschreibende Dokumente erzeugen, sondern alle im Team.
- Bessere Ausgangsformulierungen unabhängig der sprachlichen Möglichkeiten des Teammitglieds.
- Leichtere und direktere Kritik im Team möglich, da Formulierungsvorschlag von neutraler (KI)-Instanz und nicht aus dem Kollegium.
- Einfache Überführung von Texten in alle erdenklichen Sprachen für international gemischt arbeitende Teams.
- Das gleiche Prinzip lässt sich auf die schnelle Erstellung von textbasierten High-Level Anforderungsbeschreibungen anwenden.
Fazit und Ausblick
Das für diesen Artikel gewählte Beispiel ist nur ein kleiner Ausschnitt aus den beschreibenden Entwicklungsdokumenten eines Entwicklungsprozesses. Das Prinzip lässt sich jedoch leicht auf die anderen Ebenen anwenden. Als besonders günstig im Zusammenspiel mit generativen KIs hat sich dabei eine Arbeitsweise mit klar strukturierten Abstraktionsebenen erwiesen. Dadurch wird es einfach, den erforderlichen Kontext für hochwertige Prompts zusammenzustellen, die im Sinne einer Nutzen/Aufwand-Betrachtung agilen Teams praktische Vorteile bringen. Wie sich diese Vorteile von der Anforderung bis hinunter zur Codeebene nutzen lassen, erläutert der nächste Teil dieser Artikel-Reihe.
| Anmerkung zu LLMs |
|---|
| Seit der Veröffentlichung des ersten Artikels dieser Beginn Reihe, hat sich auf dem Markt der Large Language Modelle (LLMs) viel getan. Neben dem ursprünglichen Platzhirsch ChatGPT mit »gpt-4« von OpenAI haben das Modell »Claude-3 Opus« von Anthropic oder auch Google mit »Gemini« aufgeschlossen. Das Feld der führenden LLMs ist somit deutlich enger geworden. Um dies auch in unserem neuesten Artikel widerzuspiegeln, verwenden wir begrifflich im weiteren Verlauf nun nicht mehr den konkreten Produktnamen ChatGPT, sondern sprechen verallgemeinernd für alle Topmodelle mit vergleichbaren Fähigkeiten von generativer KI oder LLMs. |


















