Anforderungen mit KI maschinenlesbar machen
Anforderungsmanagement ist eine Schlüsseldisziplin in der Produktentwicklung, zum Beispiel sind Anforderungen ein Enabler für die Kommunikation. Kunden und Lieferanten nutzen Anforderungen, um ein gemeinsames Verständnis darüber zu erfassen, was getan werden muss. Aber Anforderungen sind nicht maschinenlesbar.
Es gibt leistungsfähige Werkzeuge, die uns dem Umgang mit Anforderungen erleichtern. Doch für diese Werkzeuge ist der eigentliche Inhalt eine „Black Box“. Der wichtige Teil der Anforderung versteckt sich in einem Textattribut, das von Menschen gelesen werden muss und zwar immer wieder… und wieder… und wieder…
Von Dokumenten zu Anforderungselementen
Mit dem Aufkommen von Computern begannen die Ingenieure nach Möglichkeiten zur Effizienzsteigerung zu suchen. Und sie wurden fündig: Word und Excel, die beliebtesten Tools für das Requirements Engineering. Ob diese wirklich besser sind als Papier, ist eine andere Frage…
Unglaublich: Word und Excel sind immer noch die beliebtesten Tools zur Erfassung von Anforderungen
Für diejenigen, die es sich leisten können, gibt es leistungsfähigere Tools. Telelogic leistete in den 1990er Jahren mit DOORS (seitdem von IBM übernommen) Pionierarbeit im Bereich der Requirements Engineering Tools. DOORS gibt es immer noch, andere beliebte Tools für das Requirements Engineering sind Polarion (Siemens), Jama Connect (Jama Software), Codebeamer (Intland) und Integrity (PTC).
Alle diese Werkzeuge arbeiten auf ähnliche Weise: Sie erlauben die Definition von Datentypen: Das sind Entitäten mit Eigenschaften. Ein Datentyp „User Need“ kann z.B. Eigenschaften für „Name“, „Beschreibung“ und „Priorität“ haben, zusätzlich zu einer vom System generierten eindeutigen ID.
Elemente können durch die Traceability miteinander verbunden werden. Dies unterstützt Aktivitäten wie Abdeckungs- oder Auswirkungsanalyse und unterstützt das Änderungsmanagement.
Eine Anforderung ist eine Black Box
Eines haben aber alle diese Werkzeuge gemeinsam: Der eigentliche Inhalt befindet sich fast immer in einem Attribut als formatierter Text. In DOORS ist dies der „Object Text“, in Jama ist es die „Description“. Benutzer können in diese Felder alles schreiben, was sie wollen.
Ingenieure mögen das, denn sie sind nicht eingeschränkt in dem, was sie schreiben. Sie können sogar Bilder einfügen. Aber die Kehrseite ist, dass die Ingenieure sich den eigentlichen Inhalt oft ansehen müssen. Die Werkzeuge helfen Ingenieuren zu entscheiden, wann sie sich den Inhalt ansehen, aber nicht warum. Für das Werkzeug ist die Anforderung eine Blackbox.
Ein einfaches Beispiel: Für ein Web-System gibt der Stakeholder einen Timeout von 10 Minuten vor. Ein Testingenieur liest die Anforderung und schreibt einen Testfall. Der Tester soll z. B. etwas weniger als 10 Minuten warten und sicherstellen, dass der Benutzer noch eingeloggt ist.
Wenn der Stakeholder das Timeout auf 20 Minuten ändert, dann maskiert der Test möglicherweise ein latentes Problem: Der Test wird zwar immer noch bestehen, aber er würde die geänderte Anforderung nicht testen! Ein typisches Anforderungsmanagementwerkzeug würde den Test als „suspekt“ markieren, aber ein Mensch muss ihn sich ansehen.
Ist MBSE die Antwort?
Model Based Systems Engineering (MBSE) verwendet eine formale Modellierungsnotation, um Anforderungen zu erfassen. Je nach Notation kann MBSE dieses Problem tatsächlich lösen.
Notationen wie SysML schaffen zwar Transparenz, sind aber so schwer zu handhaben, dass viele Stakeholder sie ablehnen und nur wenige Stakeholder sie tatsächlich beherrschen.
Es gibt nur einen Haken: Die verwendeten Notationen sind schwierig. Die beliebteste Notation ist SysML, die aus Dutzenden von Diagrammtypen und Hunderten von Elementtypen besteht.

Die Lösung: Anforderungen mit KI maschinenlesbar machen
Glücklicherweise gibt es eine weitere Möglichkeit. Natural Language Processing (NLP) ist mittlerweile so leistungsfähig, dass Systeme den Anforderungstext verarbeiten und nützliche Dinge damit anstellen können. NLP ist ein Teilgebiet der Künstlichen Intelligenz (KI), das sich mit der Interaktion zwischen Computern und menschlicher (geschriebener) Sprache beschäftigt.
Um das obige Beispiel aufzugreifen, bei dem sich der Timeout geändert hatte. Ein NLP-Assistent wie Semiant würde erkennen, dass zwei durch eine Spur verbundene Elemente (Anforderung und Test) einen Parameter (10 Minuten) gemeinsam haben. Nach der Änderung der Anforderung könnte Semiant den Ingenieur auf die Diskrepanz (10 Minuten vs. 20 Minuten) hinweisen und sogar anbieten, einen der beiden Parameter auf den vom Ingenieur gewählten Wert zu ändern.
MBSE ohne dass es jemand merkt
Semiant kann dies tun, weil es im Hintergrund ein Systemmodell aufbaut. Mit anderen Worten: Semiant nutzt die Möglichkeiten von MBSE, ohne dass die Beteiligten MBSE lernen müssen.
So wird das Beste aus beiden Welten kombiniert: Die Stakeholder können ihre Anforderungen weiterhin so artikulieren, wie sie es gewohnt sind: in der menschlichen Sprache. Aber hinter den Kulissen erstellt und pflegt Semiant ein Modell, das die Vorteile von 20 Jahren MBSE nutzt. Power-User können das Modell direkt nutzen, aber die meisten Stakeholder werden einfach von der Analyse des Modells profitieren, die Semiant in natürlicher Sprache artikuliert.
Über Semiant
Semiant ist ein virtueller Qualitätsassistent, den ich zur Zeit entwickle. Semiant nutzt NLP, um Anforderungen maschinenlesbar zu machen und damit einfache Aufgaben zu automatisieren. Ich suche aktuell nach Testern und biete im Gegenzug eine kostenlose Glossargenerierung. Bei Interesse bitte melden.
Photo by Esther Jiao on Unsplash