Aktionen

Nichtfunktionale Anforderungen erheben

Aus PQWiki


Schnelligkeit
★★☆
Einfachheit
★★☆
Agilität
★★☆

Ziele

* Basis für die Entwicklung qualitativ hochwertiger Produkte schaffen
  • Kommunikationsgrundlage zwischen Entwicklungsteam und Stakeholdern herstellen
  • frühe Qualitätssicherung ermöglichen
  • Kundenzufriedenheit und Kundenbindung erhöhen

Motivation/Problemstellung

Wichtig für den Erfolg eines Produkts sind nicht nur sein Funktionsumfang, sondern auch Aspekte wie Performanz, Gebrauchstauglichkeit oder Wartbarkeit. Trotzdem werden diese Qualitätsmerkmale bei der Anforderungsermittlung oft stiefmütterlich behandelt, so dass viele Entwicklungsprojekte wegen unklarer nichtfunktionaler Anforderungen scheitern. Eine strukturierte Erhebung unterstützt das Entwicklungsteam dabei, Produkte zu entwickeln, die genauer den Qualitätsanforderungen der Stakeholder entsprechen.

Kurzbeschreibung

Kundenanforderungen.png
Bei der Erhebung der nichtfunktionalen Anforderungen wird ermittelt, welche Qualitätseigenschaften ein Produkt bzw. die von ihm bereitgestellten Dienste aus Sicht der Stakeholder haben sollen. Um diese Anforderungen vollständig zu ermitteln, können verschiedene Erhebungstechniken eingesetzt bzw. miteinander kombiniert werden.

Input

Beschreibung des Systemumfangs, der Systemgrenzen und des Systemkontexts Beschreibung der Stakeholderziele Identifizierte Anforderungsquellen (Stakeholder, Systeme in Betrieb, Dokumente)

Output

Vollständige Sammlung messbarer und testbarer nichtfunktionaler Anforderungen

Rahmenbedingungen

Rolle (Ausführender)

Anforderungsingenieur

Werkzeuge, Hilfsmittel

Abhängig von der bzw. den gewählten Ermittlungstechnik(en)

Vorkenntnisse und Erfahrungen

Erfahrung mit Techniken der Anforderungsermittlung (empfohlen)

Ort und Umgebung

Abhängig von der bzw. den gewählten Ermittlungstechnik(en)

Weitere Teilnehmer

Repräsentanten aller bzw. der wichtigsten Stakeholder

Voraussichtliche Dauer

Abhängig vom Umfang und der Detailtiefe der Anforderungen

Vorgehensweise

Vorbereitung

In der Regel werden Sie die nichtfunktionalen Anforderungen zusammen mit den funktionalen Anforderungen erheben und beides in einem Zuge vorbereiten (vgl. Vorbereitung der Best Practice „Funktionale Anforderungen erheben“).

Durchführung


Bei der Ermittlung der nichtfunktionalen Anforderungen sind dieselben Kategorien und Techniken anwendbar wie bei der Ermittlung der funktionalen Anforderungen (vgl. Durchführung der Best Practice „Funktionale Anforderungen erheben“).

Die nichtfunktionalen Anforderungen umfassen Qualitätsanforderungen (z. B. hinsichtlich der Benutzbarkeit, Zuverlässigkeit, Effizienz oder Wartbarkeit des Produkts), sogenannte Leistungsanforderungen (z. B. Antwortzeiten, Datenmengen, Durchsatzraten oder Ressourcenverbrauch), außerdem Vorgaben und Rahmenbedingungen für den Produkteinsatz. Zur Erhebung der Leistungsanforderungen, Vorgaben und Rahmenbedingungen können Befragungstechniken wie Fragebögen und Stakeholder-Interviews eingesetzt werden; Checklisten sind hier ein geeignetes Hilfsmittel. Qualitätsanforderungen sind dagegen oft nur schwer durch Befragungstechniken zu ermitteln. Sie sind für die Stakeholder weniger gut greifbar und sollten nach Möglichkeit durch Beispiele illustriert werden. Bei Anforderungen, die die Benutzeroberfläche betreffen, ist ein prototypbasierter Ansatz bei der Anforderungserhebung empfehlenswert. Damit später zweifelsfrei überprüft werden kann, ob sämtliche nichtfunktionalen Anforderungen erfüllt sind, müssen diese messbar und testbar sein. Bei den Leistungsanforderungen ist es relativ einfach, messbare Abnahmebedingungen festzulegen. Für Qualitätsanforderungen, bei denen es keine direkt messbaren Kriterien gibt, sollten Sie nach Möglichkeit indirekte Maße als Indikatoren heranziehen (für die Erlernbarkeit eines Produkts z. B. den Schulungsaufwand pro Hauptfunktion).

Auch bei den nichtfunktionalen Anforderungen können Sie eine iterative Vorgehensweise wählen: Falls es zu einem frühen Projektzeitpunkt noch nicht möglich ist, konkrete Werte zu definieren, fügen Sie zunächst Platzhalter ("schnelle Antwortzeit") oder erste Schätzungen ein, die Sie später durch konkrete realistische Werte ersetzen. Es empfiehlt sich, die nichtfunktionalen Anforderungen als eigene User Stories zu formulieren und in die Definition of Done aufzunehmen.

Nachbereitung

Stellen Sie nach Abschluss der Erhebungsaktivitäten sicher, dass eine vollständige Sammlung nichtfunktionaler Anforderungen vorliegt und dass sämtliche Anforderungen eindeutig und verständlich sind. Die spätere Dokumentation der nichtfunktionalen Anforderungen sollte möglichst nahe an den betroffenen funktionalen Anforderungen erfolgen.

Gütekriterien/Empfehlungen

Viele Stakeholder setzen Qualitätsanforderungen als selbstverständlich voraus oder unterschätzen deren Bedeutung. Daher empfiehlt es sich, die nichtfunktionalen Anforderungen im Erhebungsprozess explizit zu thematisieren (vgl. auch Gütekriterien/Empfehlungen der Best Practice „Funktionale Anforderungen erheben“).

Risiken

Unterschiedliche Stakeholder haben oft ganz unterschiedliche Sichten auf die Qualität eines Produkts. Für den Manager steht z. B. die Effizienz bei der Aufgabenerfüllung im Fokus, für den Systemadministrator die einfache Wartbarkeit, für den Benutzer die gute User Experience. Anforderungen eines Stakeholders stehen daher häufig im Widerspruch zu den Anforderungen eines anderen Stakeholders (Beispiel: Ein höheres Maß an Softwaresicherheit macht zusätzliche Sicherheitsvorkehrungen erforderlich. Diese Sicherheitsvorkehrungen gehen jedoch zu Lasten der Performanz und der Nutzungsqualität.) Sorgen Sie daher dafür, dass bei allen konfliktbehafteten Anforderungen ein Konsens zwischen den betroffenen Stakeholdern hergestellt wird (vgl. auch Risiken der Best Practice „Funktionale Anforderungen erheben“).

Schlagworte

Anforderungserhebung, Anforderungsermittlung, Business-Analyse

Weiterführende Informationen

Literatur

*Klaus Pohl, Chris Rupp (2010): Basiswissen Requirements Engineering. 2. Auflage. dpunkt, Heidelberg
  • Chris Rupp, die SOPHISTen (2014): Requirements-Engineering und -Management: Aus der Praxis von klassisch bis agil. 6. Auflage. Hanser, München