Warum hält sich niemand an Textschablonen für Anforderungen?
Textschablonen für Anforderungen gibt es schon seit langem. Das Konzept ist einfach: Mit einer Handvoll von Textvorlagen lassen sich prinzipiell alle erdenklichen Anforderungen ausdrücken. Durch die Verwendung der Vorlagen ergeben sich gut formulierte Anforderungen hoher Qualität.
Doch im industriellen Umfeld ist der Einsatz eher die Ausnahme als die Regel. Der Grund ist nicht schwer zu erraten: Textschablonen bringen langfristig viele Vorteile, machen aber kurzfristig dem Autoren mehr Arbeit und schränken den kreativen Arbeitsfluss ein. Im Folgenden geht es um Aufwand und Nutzen von Schablonen und ein paar pragmatische Ideen aus der Praxis.
Eine persönliche Bitte: Ich Suche Requirements-Experten, Produktentwickler und Produktleiter für ein kurzes Gespräch. Die Fragestellung: In welcher Form würde Ihnen das automatische Verarbeiten natürlichsprachiger Anforderungen helfen? Sie können hier einen Termin direkt in meinen Kalender eintragen >>. Mein Ziel ist es die Herausforderungen dieser Zielgruppe besser zu verstehen. Vielen Dank!
Welche Textschablonen gibt es?
Es gibt einen eignen Standard ISO/IEC/IEEE 29148:2018 zum Anforderungsmanagement bzw. -engineering. In diesem Standard (bzw. dessen Vorgängern) werden Schablonen schon seit mindestens 15 Jahren mit Beispielen erwähnt. Hier ein Beispiel aus dem etwas älteren 29148:2011:

Insbesondere im deutschsprachigen Raum sind die Master-Schablonen der Firma Sophist recht bekannt. Sophist hat ein kleines Heft herausgebracht, welches diese Schablonen und deren Anwendung im Detail beschreibt. Besonders für deutschsprachige Anforderungen würde ich diese empfehlen, da in dem Heft die englischen Formulierungen eher nachträglich eingeschoben wirken.

Das Heft ist in der 5. Auflage 50 Seiten lang. Und hier liegt auch (zum Teil) der Hund begraben, warum inzwischen nicht alle Anforderungen mit Schablonen formuliert werden.
Stärken und Schwächen von Textschablonen
Mit Schablonen geschriebene Anforderungen zu lesen ist kein Problem. Es ist allerdings nicht so einfach, gute Anforderungen zu schreiben. Wir dürfen nicht vergessen, dass gerade die initialen Anforderungen von einer großen Anzahl von Stakeholdern stammen. Für Experten, also bspw. Requirementsmanager, ist absolut in Ordnung, sich mit dem Schreiben von Anforderungen auseinanderzusetzen. Doch das können wir von den meisten Stakeholdern nicht erwarten. Wenn diese also die Anforderungen selbst formulieren, dann kommen diese in der Form von E-Mails, Word- und Exceldokumenten, Flipchartseiten, Powerpoint und in vielen anderen Formen. Aber sehr selten schablonenkonform formuliert.
Doch schablonenbasierte Anforderungen haben einen enormen Mehrwert, wenn sie richtig angewendet werden. Sie haben von sich aus viele Qualitätsmerkmale: Sie sind eindeutig, atomar und präzise. Doch die Effekte manifestieren sich erst in der Entwicklung. Und wie bei vielen Dingen, die präventiv wirken, bemerkt fast niemand deren Anwesenheit. Bemerkt werden die Probleme bei Abwesenheit. Und selbst dann identifiziert das Team nicht zwingend die schlecht formulierten Anforderungen als Ursache.
3 Wege aus der Praxis
Nachdem nun geklärt ist, dass Schablonen einen Vorteil bringen, müssen wir den Einsatz nicht nur ermöglichen sondern auch einfordern. Ich stelle im Folgenden drei Möglichkeiten vor, die ich erfolgreich im industriellen Umfeld beobachtet habe:
Wenn die Autoren der Anforderungen primär Experten sind, die in einer klar definierten Domäne arbeiten, dann erkennen diese schnell den Wert von Schablonen. Außerdem ist es möglich, die Schablonen domänenspezifisch zu gestalten. Das habe ich bspw. bei einem Automobilzulieferer erlebt, der eine bestimmte Komponente schon viele Jahre lang schablonenbasiert formuliert hat.
Der Hersteller hat eine eigenen Bibliothek von Schablonen erstellt (über 100), die genau auf die Domäne zugeschnitten waren. Er hatte es auch mit sehr vielen Varianten zu tun, da jedes Fahrzeugmodell eine angepasste Variante erforderte. Die Schablonen haben hier für eine drastische Zeitersparnis gesorgt, konsistentes Verhalten in allen Varianten sichergestellt und gleichzeitig die Qualität erhöht.
In der Modellierung wird oft auch mit Textschablonen gearbeitet. Sehr verbreitet sind bspw. Schablonen für Anwendungsfälle und User Stories. Hier die Schablone für User Stories:
„Als <Rolle> möchte ich <Ziel/Wunsch>, um <Nutzen>“
Textschablone für User Stories
Ein anderes Beispiel habe ich ausführlich in einem Fachartikel im RE-Magazine beschrieben: Modeling Requirements with Constraints. An diesen zwei Beispielen ist gut zu erkennen, dass Schablonen auf dem Weg zum Modell helfen, egal ob leichtgewichtig (User Stories) semiformal (RE-Magazine).
Zuletzt haben wir noch die Möglichkeit, aus den initialen Anforderungen (E-Mails, Flipcharts, etc.) saubere schablonenkonforme Anforderungen abzuleiten. Der Vorteil liegt auf der Hand:
- Die Stakeholder können ihre Anforderungen mit den Werkzeugen ihrer Wahl formulieren.
- Die schablonenkonformen Anforderungen ermöglichen ein sauberes, nachverfolgbares Entwickeln des Produkts.
- Mit einer Traceability zwischen Stakeholderanforderungen und schablonenkonformen Anforderungen kann der Stakeholderinput systematisch und nachvollziehbar validiert werden.
Hier ein Beispiel: Links der Stakeholderinput, rechts zwei schablonenkonforme abgeleitete Anforderungen:

Die Traceability zu den ursprünglichen Anforderungen ist sehr wichtig, denn auf der rechten Seite sind Inhalte verloren gegangen („Google-focused“). Das ist zwar keine Anforderung, sondern Kontext, der aber dennoch relevant ist, um die Motivation der Anforderung zu verstehen.
Den Vorteilen dieses Ansatzes steht ein erheblicher Mehraufwand gegenüber. Ob der Aufwand gerechtfertigt ist hängt vom Mehrwert ab, den die Organisation daraus ableiten kann.
Werkzeugunterstützung
Für die hier gezeigten Ansätze gibt es mehr oder wenig hilfreiche Werkzeugunterstützung. Zunächst gibt es schon seit Jahrzehnten Werkzeuge, die bei der schablonenbasierten Eingabe helfen. Fast alle Anforderungsmanagementwerkzeuge erlauben zum Beispiel das Hinterlegen von initialen Inhalten in Textfeldern. Dort kann dann eine Textschablone als freier Text hinterlegt werden, die der Autor dann wie normalen Text bearbeitet.
Anspruchsvoller sind formularbasierte Editoren, die für den freien Text entsprechende Formularfelder vorsehen. Ich kenne niemanden, der diese Systeme gern benutzt: Die Formularfelder stören den Lesefluss, einfache Funktionen wie Cut & Paste sind bei vielen Systemen eine Qual. Das Ergebnis stimmt, aber viele Nutzer sind frustriert.
Interessant finde ich den Ansatz, freien Text zuzulassen, aber diesen dennoch maschinell zu verarbeiten, wie es bei Quellcodeeditoren inzwischen Standard ist. Hier ein animiertes Beispiel, auch wenn nicht wirklich Schablonen eingesetzt werden:

Quelle: Chart Marge via modeling-languages.com
Leider sind diese Ansätze für viele Stakeholder bereits zu technisch.
Maschinelle Verarbeitung
Neben den Editoren gibt es Werkzeuge, die die Anforderungen analysieren. Hier fände ich es sehr interessant, wenn ein System die abgeleiteten schablonenbasierten Anforderungen automatisch generieren würde. Allerdings ist mir ein solches System zur Zeit nicht bekannt. Noch am ähnlichsten ist die Forschungsarbeit von Arora et.al., bei der automatisiert ein Domänenmodell abgeleitet wird. Spannend wäre ein System, dass automatisch wie unter Punkt 3. gezeigt Anforderungen ableitet.
Ich betreue zur Zeit einen Masterstudenten mit diesem Thema. Daher würde ich mich über direktes Feedback freuen, ob so ein System für Sie nützlich wäre. Auch hilfreich wäre es, wenn Sie die Umfrage in der rechten Spalte beantworten würden (wenn das noch nicht geschehen ist).
Fazit
Auch wenn Schablonen ohne Zweifel nützlich sind, steht diesen ein Mehraufwand gegenüber. Hier hilft es, die Schablonen nicht in der Breite einzufordern, sondern genau zu untersuchen, wie hoch der erwartete Mehrwert ist (Qualität), und ob sich der Aufwand lohnt. Je spezifischer der Einsatz der Schablonen ist und je einfacher der Mehrwert von den Stakeholdern erfasst werden kann, umso sinnvoller ist der Einsatz.
Ich forsche aktiv mit einem Studenten zu diesem Thema und freue mich über direktes Feedback.
Photo by Ryan Fields on Unsplash