In dieser zweiteiligen Blogserie möchten wir auf die Kategorien nicht-funktionaler Anforderungen (NFA) eingehen. Ein Vorhaben, dass sich lohnt, denn NFAs gibt es reichlich, wie Abbildung 1 verdeutlicht.
Abbildung 1: Übersicht der Kategorien nicht-funktionaler Anforderungen
Wie in der Abbildung 1 zu sehen ist, lassen sich die nicht-funktionalen Anforderungen auf der ersten Ebene in sechs verschiedene Kategorien aufteilen. Jede der Kategorien kann in weitere Unterkategorien unterteilt werden. Als Beispiel haben wir in Abbildung 1 die technologischen Anforderungen und die Qualitätsanforderungen bis zur zweiten Ebene aufgeschlüsselt. In dieser Blogserie finden Sie für jede Kategorie die wichtigsten Unterkategorien und eine kurze Beschreibung. Ausführliche Informationen finden Sie im Kapitel 9 unseres RE-Buchs. Anhand einer Smartphone-Entwicklung möchten wir Ihnen verdeutlichen, welche Fragen Sie während der Entwicklung stellen können und in welche NFA-Kategorien diese Fragen gehören. Im 1. Blogeintrag beginnen wir mit den technologischen und den Qualitätsanforderungen.
Technologische Anforderungen
In dieser Anforderungskategorie betrachten wir die technologischen Anforderungen. Der Begriff fasst Anforderungen an das System zusammen, die direkten Einfluss auf die in der Entwicklung zu verwendenden Technologien haben. Technologische Anforderungen können in vier verschieden Gruppen eingeteilt werden:
- Anforderungen, die sich aus der Systemumwelt ergeben
Umwelteinflüsse können sein: Das physikalische Umfeld (Temperatur, Feuchtigkeit, Druck, Bewegung, chemische Beanspruchung etc.) und das technologische Umfeld (Stromversorgung, Ausrüstung und das Netzwerk etc.).
- Mengengerüstanforderungen
Wie es das Wort schon verrät, beinhalten diese Anforderungen Mengenangaben wie Speicherplatzkapazität, Stromstärken, Benutzeranzahlen oder auch Stückzahlen.
- Anforderungen an Schnittstellen
Schnittstellen können mechanisch oder softwarespezifisch sein, beispielsweise Anschlüsse an dem Produkt oder auch die Kommunikation mit anderen Systemen.
- Vorgaben an Komponenten
Meint Hardware- oder Softwarekomponenten, aus denen sich das System zusammensetzen soll oder was bei der Entwicklung der Komponenten zu beachten ist.
Einige Fragen, die wir uns bei der Entwicklung unseres Smartphone stellen müssen, sind:
– In welcher Umgebung wird das Smartphone eingesetzt?
– Wie viel Speicherplatz soll das Smartphone haben?
– Über welche physikalischen Anschlüsse soll das Smartphone verfügen?
Qualitätsanforderungen
Qualitätsanforderungen machen Angaben über die Güte des Produkts. Sie lassen sich in sechs verschiedene Gruppen unterteilen:
- Änderbarkeit
Hierunter fallen Vorgaben in Bezug auf den Aufwand und die Auswirkungen, die mit spezifischen Änderungen am System oder Prozess verbunden sind.
- Benutzbarkeit
Diese Anforderungen legen den Aufwand zum Erlernen oder zur Bedienung des Produkts oder des Prozesses fest und beschreiben, inwiefern Standards einzuhalten sind.
- Effizienz
In diese Kategorie fallen Vorgaben zum Leistungsniveau, wie beispielsweise das Zeit- und Verbrauchsverhalten des Produkts oder Prozesses.
- Funktionalität
Hier werden Eigenschaften von Funktionalitäten beschrieben, wie zum Beispiel Angemessenheit, Richtigkeit, Interoperabilität, Sicherheit oder Ordnungsmäßigkeit.
- Übertragbarkeit
Hier können Sie Vorgaben zur Anpassungsfähigkeit an verschiedene neue Umgebungen beschreiben, z. B. technische Plattformen oder betriebliche Abläufe.
- Zuverlässigkeit
Anforderungen in diesem Unterkapitel beschreiben das geforderte Leistungsniveau über einen bestimmten Zeitraum an das Produkt oder den Prozess.
Einige Fragen, die wir uns bei der Entwicklung unseres Smartphone stellen müssen, sind:
– Werden bei Änderungen am System Funktionen unbrauchbar?
– Soll das Gerät zu bedienen sein, wenn Hintergrundaktivitäten laufen?
– Wie lange kann das Smartphone mit einer Akkuladung bertrieben werden?
– Wie soll das Produkt auf Fehler reagieren?
Sie merken schon, die Vielfalt der NFAs hat es in sich. Darum endet der 1. Blogeintrag auch an dieser Stelle. Sie werden wahrscheinlich eh das Bedürfnis haben, Ihr Smartphone in die Hand zu nehmen. Tun Sie das nur und melden Sie sich gern mit Fragen oder Kommentaren bei SOPHIST – heureka@sophist.de oder 0911 – 40 900-0.
Die technologischen Anforderungen halte ich größtenteils für Randbedingungen. Diese Art von Anforderung ist also eher eine Bedingung, die den Problemlösungsraum eingrenzt. Somit würde ich eher die im IREB publizierte Struktur Funktionale Anforderung, Qualitätsanforderung und Randbedingung unterstützen. Es scheint mir, als wenn Sie sich davon abgrenzen. Viellicht können Sie die Gründe dafür aufführen. Ich wäre daran sehr interessiert.
Hallo Herr Baumann,
vielen Dank für Ihren Kommentar zu diesem Thema.
Ich glaube wir liegen bei den Begriffsdefinitionen nicht weit voneinander entfernt. Nimmt man die Einordnung nach IREB, zählen wir die technologischen Anforderungen auch zu den Randbedingungen.
Ziel dieses Blog-Beitrags war die Beschreibung und Charakterisierung verschiedener NFA-Kategorien wie sie auch in unserem RE-Buch zu finden sind. Diese etwas feinere Aufteilung erleichtert es, ein Gefühl dafür zu bekommen, welche Inhalte in nicht-funktionalen Anforderungen beschrieben werden. Anhand dieser Inhalte haben wir Satzschablonen für nicht-funktionale Anforderungen entwickelt, die wir demnächst vorstellen werden. Eine grobe Einordnung in Qualitätsanforderungen und Randbedingungen reicht hierfür nicht aus.
Viele Grüße
André Pflüger
Pingback: Was ist ein Product Owner? Welche Aufgaben hat der Product Owner? | Agile is limit