Alles dreht sich um Anforderungen
Der Kunde erwartet sie von einem System. Der User hat Ideen oder Wünsche an ein zu nutzendes System. Der Softwarehersteller bietet diese Erwartungen bereits an oder kann die Wünsche in Zukunft erfüllen. Alle zusammen sprechen wir hier von “Anforderungen”.
Was versteht man unter einer “Anforderung”?
SOPHIST definiert den Begriff „Anforderung“ als eine Aussage über eine Eigenschaft oder Leistung eines Produktes, eines Prozesses oder der am Prozess beteiligten Personen.
Spricht ein Kunde oder User von einer Anforderung, so wird dies oft als Leistung oder Funktion an das System verstanden, was nach der Entwicklung erbracht werden muss. Dies ist aber nur ein kleiner Aspekt des Begriffes „Anforderung“.
Anforderungen gibt es in unterschiedlichen Verfeinerungsgraden und können verschiedene Typen umfassen. Anforderungen können nicht nur an das System selbst bestehen, sondern auch an Testfälle, Handbücher, Dokumente, Entwicklungsprozesse uvm.
Anforderungen können auch unterschiedlich aussehen. Es kann sich um eine User-Story, einen Use-Case, ein Modell oder eine natürlichsprachliche Anforderung handeln.
Auch die Artefakte, in denen die jeweiligen Anforderungen landen, sind mannigfaltig. Ein Ticket beim Hersteller, ein Ausschreibungsdokument, ein Benutzerhandbuch oder ein Lastenheft, … sind einige Beispiele (vgl. Rupp, Sophisten, 2020).
Typen von Anforderungen
Zur Klassifizierung von Anforderungen gibt es unterschiedliche Typen. Einige davon, möchten wir hier näher erläutern.
Funktionale Anforderungen beschreiben was das System für einen User oder einem Nachbarsystem an Funktionen unter gewissen Bedingungen zur Verfügung stellt.
Nicht-funktionale Anforderungen subsumieren den Rest der Anforderungen. Diese werden oft in Qualitätsanforderungen (z.B.: Performance) oder in Anforderungen an die Technologie (technische Voraussetzungen/Randbedingungen) gegliedert (vgl. Rupp, Sophisten, 2020).
Unter Qualitätsanforderungen versteht man eine Anforderung, welche sich auf ein Qualitätsmerkmal bezieht, das nicht durch funktionale Anforderungen abgedeckt ist. Diese können in folgende Kategorien gelistet werden:
- Anforderungen, welche Bezug auf:
- Leistung,
- Sicherheit,
- Zuverlässigkeit,
- Benutzbarkeit,
- Änderbarkeit und
- Übertragbarkeit des Systems aufweisen (Pohl, Rupp, 2021).
Auch juristische Verbindlichkeiten definieren Anforderungen bzw. beschreiben den Grad der Bedeutung dieser Anforderung an den User. Verträge und Gesetze müssen ebenfalls berücksichtigt werden. Zu diesen Verbindlichkeiten hilft diese Klassifizierung auch der Priorisierung und Einschätzung, ob diese betreffenden Anforderungen verzichtbar wären (vgl. Rupp, Sophisten, 2020).
Qualitätskriterien an eine Anforderung
Eine Anforderung sollte natürlich notwendig sein. Es muss genau beschrieben werden, was das System leisten soll. Sie muss sich auf das System beziehen, gewünscht sein und den Zweck erfüllen.
Eindeutig formulierte Anforderungen helfen die Notwendigkeit einzuschätzen. Die Person, welche die Anforderung empfängt, sollte genau das verstehen, was die erstellende Person der Anforderung intendierte. In weiterer Folge ist eine eindeutig formulierte Anforderung für korrekte Testfälle relevant.
Die geforderte Funktionalität bzw. Eigenschaft muss vollständig beschrieben werden. Alle Bedingungen müssen erfasst und ausformuliert sein.
Anforderungen müssen für alle verständlich formuliert werden. Da die Anforderungen bestimmte Personenkreise durchziehen, ist dies oftmals eine große Herausforderung.
Anforderungen sollten auch abgestimmt sein. Dies richtet sich an unterschiedliche Rollen und Verantwortlichkeiten. Diese sollten bewertet werden, ob die Anforderung sinnvoll sind, den Zweck erfüllen, Kosten/Nutzen, Strategie, mit anderen Systemen interagieren, … (vgl. Rupp, Sophisten, 2020).
Quellen:
Rupp C., SOPHISTen (2020). Requirements -Engineering und –Management. Das Handbuch für Anforderungen in jeder Situation (7. Auflage). Hanser Verlag. München
Pohl K., Rupp C. (2021). Requirements Engineering. Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level (5. überarbeitete und aktualisierte Auflage). dpunkt Verlag GmbH. Heidelberg