Im letzten Teil unserer Blogserie „Einfach nicht.. funktional!“ geht es um das Vorgehen zum Ermitteln und Dokumentieren von nicht-funktionalen Anforderungen.
Kurzer Blick zurück auf Teil 2 dieser Blogserie: Im vorangegangenen Blog zu den nicht-funktionalen Anforderungen (NFA) haben wir Ihnen unsere beiden Vorbereitungsschritte erklärt. Nach der Durchführung haben Sie als Ergebnis der vorbereitenden Tätigkeiten
- die für sich passenden NFA-Kategorien mit Beispielen erstellt,
- alle Abhängigkeiten bedacht,
- geeignete Dokumentationstechniken ausgewählt und
- mögliche Anforderungsquellen erfasst.
Die Aufwärmübungen wären abgeschlossen. Damit sind Sie nun gut vorbereitet für die durchführenden Tätigkeiten, dem Ermitteln und Dokumentieren von nicht-funktionalen Anforderungen.
Bei der ersten der beiden durchzuführenden Tätigkeiten, der Ermittlung der nicht-funktionalen Anforderungen, dienen Ihnen Ihre Systemfunktionalitäten als Bezugselemente. Dabei spielt es keine Rolle, ob Sie diese in natürlicher Sprache oder in Form von Use-Cases spezifiziert haben. Für Letzteres finden Sie ein anschauliches Beispiel in unserem RE-Buch. Beginnen Sie die Ermittlung der NFAs damit, dass Sie für jede Systemfunktionalität die von Ihnen in der Vorbereitung gewählten NFA-Kategorien für dieses Bezugselement durchgehen. Anschließend machen Sie das gleiche mit Ihren übrigen Bezugselementen (z.B. das System und seine Systemkomponenten).
Dank Ihrer Liste mit Quellen finden Sie zügig die richtigen Interviewpartner. Einen weiteren Vorteil ziehen Sie aus der vorbereitenden Begrenzung auf relevante NFA-Kategorien. Da Sie nun nicht alle Kategorien durchgehen müssen, sparen Sie wertvolle Zeit. Die gute Vorbereitung macht sich nun bezahlt. Im Dialog fragen Sie Anforderung für Anforderung für jede NFA-Kategorie nach möglichen nicht-funktionalen Anforderungen für das entsprechende Bezugselement. Dabei kommt Ihnen nun auch Ihre vorbereitete Liste mit Beispielen zugute. Ihr Interviewpartner wird die Beispiele als Ideengeber dankbar annehmen.
Notieren Sie alle NFAs, die Sie gewinnen. Die Bezugselemente, die Sie für die Ermittlung der NFAs genutzt haben, markieren Sie als abgearbeitet. Dies gilt auch für die Elemente, für die Sie keine NFAs ermitteln konnten. Ausschlaggebend ist, dass Sie so sicher den Überblick zum Arbeitsstand behalten. Abbildung 2 zeigt beispielhaft eine tabellarische Übersicht zur Verwendung in Interviews oder Workshops.
So gehen Sie vor, bis alle Systemfunktionalitäten durchgegangen wurden. Tipp: Bei der Beschreibung haben wir uns zugunsten der Lesbarkeit auf das Interview als Ermittlungstechnik beschränkt. Weitere hilfreiche Ermittlungstechniken, die Sie alternativ und oder ergänzend zum Interview einsetzen können, finden Sie mit Vor- und Nachteilen ebenfalls in unserem RE-Buch.
Nun gilt es, die ermittelten nicht-funktionalen Anforderungen zu dokumentieren. Bei dieser zweiten durchzuführenden Tätigkeit werden Sie an dieser Stelle dankbar feststellen, dass es sich auszahlt, vorausschauend zu arbeiten. Denn während der weniger gut Vorbereitete nun erst überlegt, welche Dokumentationsform wohl die richtige wäre, starten Sie schon eifrig durch.
Bei der Dokumentation werden Sie feststellen, dass Ihnen Notationsformen helfen können, weiter Information zu erfragen, die sich beispielsweise aus Inhalten zu Satzschablonen oder Notationselemente bestimmter Diagramme ergeben. Ein Beispiel: Unsere Satzschablone EigenschaftsMASTER für NFAs beinhaltet u.a. die Satzelemente Bedingung, Eigenschaft und Betrachtungsgegenstand. Dadurch stellen Sie sich beim Verwenden der Satzschablone zwangsläufig die Frage nach möglichen Bedingungen oder Eigenschaften. Mit Ihren Fragen gehen Sie dann in eine weitere Iteration der Ermittlung (Vergleich Abbildung 1).
Tipp: Den EigenschaftsMASTER und andere Satzschablonen finden Sie in unserer kostenlosen Broschüre „Schablonen für alle Fälle“.
Cabrio vs. Kombi – Lifestyle vs. Familienkutsche? Im Zuge der Ermittlung und Dokumentation werden Sie NFAs identifizieren, die sich aufgrund von inhaltlichen Zielkonflikten nicht zusammen realisieren lassen. Nachdem Sie Ihre NFAs dokumentiert haben, untersuchen Sie diese deshalb bezüglich der Konsistenz. Als Hilfestellung verwenden Sie Ihre Liste mit Abhängigkeiten. Beginnen Sie mit den Kategorien, bei denen Sie schon im Vorfeld Abhängigkeiten notiert haben. Die Wahrscheinlichkeit, hier NFAs mit Zielkonflikten anzutreffen, ist sehr hoch. Um entdeckte Konflikte aufzulösen, besprechen Sie diese dann gemeinsam mit Ihren Ansprechpartnern.
Und damit wären wir schon am Ende unseres NFA-Erhebungsprozesses. Fassen wir zusammen:
Im ersten Teil dieser Blog-Serie sind wir auf die Bedeutung der nicht-funktionalen Anforderungen für Ihr Produkt eingegangen. NFAs grenzen die Realisierungsmöglichkeiten ein, indem sie konkrete Vorgaben zum „Wie“ machen. Beispiele hierfür sind Vorgaben an die Technologie oder zu Qualitätsmerkmalen. Die vorgestellten NFA-Kategorien sollen verdeutlichen, für welche Themen Sie NFAs erheben können.
Hierfür haben wir Ihnen im zweiten und dritten Blog-Teil ein systematisches Vorgehen vorgestellt. Die NFAs werden anhand von ausgewählten Bezugselementen ermittelt und dokumentiert. Mit Hilfe der zwei vorbereitenden Tätigkeiten können Sie den Aufwand für die durchführenden Tätigkeiten, Ermitteln und Dokumentieren, deutlich reduzieren. Da dies die Zeit mit Ihren Stakeholdern ist und diese chronisch an Zeitmangel leiden, werden sie es Ihnen danken.
Durch das Markieren der bereits abgearbeiteten NFA-Kategorien für Ihre Bezugselemente sind Sie zudem jederzeit in der Lage, Ihrem Projektleiter Auskunft über den Fortschritt bei der Erhebung der nicht-funktionalen Anforderungen zu geben.
Probieren Sie den Erhebungsprozess doch einfach mal bei nächster Gelegenheit aus und schreiben Sie uns Ihre Erfahrungen damit. Gerne unterstützen wir Sie auch bei Fragen zum Vorgehen oder bei der konkreten Anwendung in Ihrem Projekt. Wenden Sie sich dafür gerne per Email (heureka@sophist.de) oder auch telefonisch (0911 / 40 900 0) an uns.
Viel Erfolg und alles Gute
Ihr Sascha Frehse und André Pflüger
Einfach nicht… funktional! (Teil 1)
Einfach nicht… funktional! (Teil 2)