Inhaltsverzeichnis
1. Watson Natural Language Processing
2. Nicht nur auf Fehler hinweisen, sondern verbessern
3. Den Grundstein für erfolgreiche Produkte legen
Die Chancen der heutigen globalen Wirtschaft scheinen endlos, allerdings hat auch der Wettbewerbsdruck stark zugenommen. Unternehmen sind nicht nur gefordert, ein neues Produkt schnell auf den Markt zu bringen, sondern müssen dieses auch genau auf die Kundenbedürfnisse zuschneiden. Die funktionellen und physischen Vorgaben für ein Produkt werden dabei von Anforderungen definiert. Sie dienen gewissermaßen als Roadmap für die Produktentwicklung – und sind damit für den gesamten Entwicklungsprozess sehr wichtig. Ein wirkungsvolles Anforderungsmanagement verknüpft das Wissen und die Anforderungen aus verschiedenen Unternehmensbereichen über einzelne Projekte hinweg und hilft, auch in komplexen Projekten die Risiken zu kontrollieren. Schleichen sich bei der Ermittlung, Analyse, Spezifizierung sowie Validierung aller Eigenschaften und Rahmenbedingungen eines Produktes oder eines Systems Fehler ein, wird auch das spätere Produkt unter diesen Fehlern leiden.
Aber welche Optionen bieten sich einem Requirements Engineer konkret, der bei der System- oder Softwareentwicklung zunehmende Komplexität bewältigen, hohe Qualitätsstandards einhalten und rasch auf Marktentwicklungen reagieren muss? Technologien wie Künstliche Intelligenz (KI), maschinelles Lernen, Algorithmen und Bots bieten mächtige Hilfestellungen für das Anforderungsmanagement, um in der ausufernden Menge von Anforderungen nicht den Überblick zu verlieren. Denn Entwicklungsprojekte werden immer komplexer und haben mehr Code-Zeilen als je zuvor. Die damit einhergehende Explosion von Anforderungen überschreitet die kognitiven Fähigkeiten des Menschen und überfordert die traditionelle Verwaltung von Anforderungen über Tabellenblätter, Dokumente oder Wikis. IBM Requirements Quality Assistant (RQA) schafft intelligent Abhilfe, indem die integrierten KI-Funktionen für den Anforderungsprozess angewendet werden.
Watson Natural Language Processing
Der RQA unterstützt Nutzer dabei, Anforderungen eindeutig, widerspruchsfrei, vollständig und messbar zu definieren. Unterlaufen dem Nutzer hierbei Fehler, wird er frühzeitig vom RQA-System darauf aufmerksam gemacht und erhält Hinweise, wie er die Definition der Anforderungen verbessern kann. Um den Text einer Anforderung zu analysieren, zu verstehen und Verbesserungsvorschläge zu liefern, kommt Watson Natural Language Processing (NLP) zum Einsatz. Mit NLP lässt sich natürliche Sprache erfassen und mithilfe von Regeln und Algorithmen computerbasiert verarbeiten. Über Natural Language Understanding (NLU) analysiert Watson den eingegebenen Anforderungstext, um Metadaten wie Entitäten, Schlüsselwörter, Beziehungen und Kategorien zu extrahieren. So lassen sich sogenannte Weak Words in einem frühen Stadium identifizieren. Gemeint sind damit subjektive, vage oder mehrdeutige Wörter wie Adjektive, Adverbien und Verben, die keine konkrete oder quantitative Bedeutung haben. Solche Wörter unterliegen daher der Interpretation durch den Leser – und sind damit nicht präzise genug für eindeutig definierte Anforderungen.
Nicht nur auf Fehler hinweisen, sondern verbessern
Der IBM Requirements Quality Assistant lässt sich als Widget mit wenigen Konfigurationsschritten einfach in die webbasierte Anforderungsmanagement-Software IBM Engineering Requirements Management DOORS Next integrieren. Ein RQA-Plugin für IBM DOORS wird aktuell noch entwickelt.
Der Anwender gibt eine Anforderung ein und kann mit einem Klick auf „Analysieren“ die Anforderungsqualität von dem verwendeten Service IBM Watson Natural Language Understanding (NLU) beurteilen lassen. Grundlage für den Qualitätsfaktor ist der Startwert von 100 Punkten. Findet der NLU-Service einige qualitätsmindernde Indikatoren, wie mehrere Aktionen, Anweisungen oder fehlende Einheiten, werden vom Startwert die im Regelwerk hinterlegten Punkte dafür jeweils abgezogen. Als Ergebnis der Prüfung sind in der Tabelle die jeweiligen Abzüge, Erklärungen, das Vorkommen in der Anforderung sowie allgemeine Hinweise zu finden.
Der RQA ist darauf ausgelegt, Qualitätskennzahlen zu ermitteln, die mit den Richtlinien des International Council on Systems Engineering (INCOSE) für das Schreiben von guten Anforderungen übereinstimmen. Nach seiner Eingabe erkennt der Nutzer anhand eines farbigen Ampelsystems auf einen Blick, wo genau er noch einmal nachbessern muss und wann eine Anforderung optimal beschrieben ist.
Durch die modulare Architektur des RQA lassen sich zudem industrie- und kundenspezifische Modelle einbinden und das KI-System lässt sich auch in verschiedenen Sprachen trainieren. Dank maschinellem Lernen kann das kundenspezifische Modell mit jeder Nutzung besser werden, um Nuancen und Zusammenhänge zu erkennen und die Qualität zu erhöhen.
Den Grundstein für erfolgreiche Produkte legen
Grundlage für eine erfolgreiche System- oder Softwareentwicklung sind gute Anforderungen. Schlecht geschriebene Anforderungskataloge sind schon ganz am Anfang eines jeden Projekts wie ein Mühlstein, der alles nach unten zieht, und im Projektverlauf zu unvorhersehbaren Verzögerungen und Kostenexplosionen führen kann. Das Anforderungsmanagement ist deshalb zentral für den Gesamterfolg und entscheidet über die Produktqualität. In vielen Projekten sind Tausende oder sogar Millionen Anforderungen für ein System definiert. Damit fällt es nicht immer leicht, Transparenz herzustellen. Mit einem intelligenten Assistenzsystem, das schneller zu klaren, eindeutigen, konsistenten und vollständigen Anforderungen führt, können viele Fehler frühzeitig identifiziert und korrigiert werde. Das kommt insbesondere neuen Mitarbeitern zugute, indem es die Einarbeitungszeit verkürzt und die Mitarbeiter dank der selbstlernenden Verbesserungsvorschläge zur Optimierung der Anforderungen schult. ik
Hier gelangen Sie direkt zu einem englischsprachigen Demovideo des RQA:
Kontakt:
IBM Deutschland GmbH
IBM-Allee 1
71139 Ehningen
Tel.: +49 800 225 5426
E-Mail: halloibm@de.ibm.com
Website: www.ibm.com