Aktionen

Anforderungen reviewen

Aus PQWiki


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

Ziele

* Anforderungen entsprechen den Erwartungen der Stakeholder
  • Anforderungen haben eine Qualität, die geeignet ist, um für weitere Entwicklungsarbeiten zu dienen

Motivation/Problemstellung

Anforderungen sind die Grundlage für die Entwicklung eines Software-Systems. Als Voraussetzung, um sie nutzen zu können, müssen sie allerdings einigen Qualitätskriterien entsprechen. Fehler bei der Softwareentwicklung und deren kostspielige Beseitigung können somit vermieden werden. Die Qualität von Anforderungen muss daher mit Hilfe von Review-Techniken, insbesondere mit Inspektionen unter Verwendung perspektiven-basiertem Lesens von Stakeholdern geprüft werden.

Kurzbeschreibung

Default Picture.jpeg
Bei einem Review von Anforderungen diskutieren mehrere Stakeholder oder Anforderungskonsumenten aus nachgelagerten Entwicklungsaktivitäten über die bereits erhobenen und spezifizierten Anforderungen und deren potentielle Mängel. Dabei gehen sie systematisch vor und wenden die Review-Technik der Inspektion an. Diskutiert wird, welche der identifizierten potentiellen Mängel tatsächliche Mängel sind, die behoben werden müssen. Erst wenn die erhobenen und spezifizierten Anforderungen keine Mängel mehr aufweisen und somit qualitativ hochwertig sind, werden sie zur weiteren Verwendung im Softwareentwicklungsprozess freigegeben.

Input

Erhobene und spezifizierte Anforderungen

Output

Zum Zeitpunkt des Reviews vollständige und korrekte Liste spezifizierter Anforderungen

Rahmenbedingungen

Rolle (Ausführender)

Anforderungsingenieur

Werkzeuge, Hilfsmittel

Inspektionschecklisten, Protokolle

Vorkenntnisse und Erfahrungen

Vorkenntnisse/Erfahrungen Erfahrung mit Review-Techniken Inspektionen Kenntnis der Anforderungsqualitätskriterien des IEEE Standards 29148 (empfohlen) Moderationsfähigkeit

Ort und Umgebung

i.d.R. in einem Besprechungsraum

Weitere Teilnehmer

Repräsentanten aller bzw. der wichtigsten Stakeholder und Anforderungskonsumenten

Voraussichtliche Dauer

Abhängig vom Umfang und der Detailtiefe der Anforderungen, i.d.R. ein halber Tag

Vorgehensweise

Vorbereitung

Zur Vorbereitung wird zunächst festgelegt, welche Anforderungen überhaupt betrachtet werden sollen. Je nachdem, was hier festgelegt wird, entscheidet sich, welche Kriterien in der Inspektion geprüft werden müssen. Abhängig davon wird außerdem vorab festgelegt, welche Stakeholder anwesend sein müssen und die Inspektion durchführen. Die Einladungen an die entsprechenden Stakeholder müssen anschließend vorbereitet und verschickt werden. Außerdem müssen die Checklisten vorbereitet werden, die die einzelnen Stakeholder vorgelegt bekommen. Hier werden Qualitätskriterien für die individuellen Stakeholder abhängig von den zu prüfenden Anforderungen und den Sichten der Stakeholder auf die Anforderungen formuliert. Die Protokolle, in denen die Ergebnisse der Inspektion festgehalten werden, müssen ebenfalls vorbereitet werden.

Durchführung


Bei dem Review von Anforderungen erstellt zunächst jeder Reviewer für sich eine Liste potentieller Mängel in den bereits spezifizierten Anforderungen. Dabei nutzt er die vorbereiteten Checklisten mit expliziten Fragen zur Erfüllung der Anforderungsqualitätskriterien des IEEE Standards 29148. Die einzelnen Kriterien sind:

• Notwendigkeit (inkl. Der Angabe von Begründungen und der Anwendbarkeit der Anforderung) • Technisch Lösungsneutrale Formulierung (inkl. Unnötiger Einschränkungen bezüglich der Systemarchitektur) • Eindeutigkeit (inkl. Der einfachen Verständlichkeit und Formulierung der Anforderung) Konsistenz (inkl. Der Konfliktfreiheit mit anderen Anforderungen, der einheitlichen Verwendung von Termen und der Vermeidung von Duplikaten) • Vollständigkeit (inkl. Der Messbarkeit von Anforderungen) • Atomarität Technische Umsetzbarkeit (inkl. Einer Prüfung der Angemessenheit des einzugehenden Risikos) • Nachverfolgbarkeit • Verifizierbarkeit Die Ergebnisse der Inspektion werden in dem Inspektionsprotokoll festgehalten. In einer anschließenden Diskussion wird gemeinsam entschieden, bei welchen identifizierten Mängeln es sich um tatsächliche Mängel handelt, die behoben werden müssen. Die Bereiche des Anforderungsdokuments werden dabei nach und nach gemeinsam besprochen. Hat ein Reviewer Mängel festgestellt, beschreibt er diese und nennt die Gründe, warum es sich aus seiner Sicht um Mängel handelt. In der Gruppe wird gemeinsam diskutiert, ob es ein tatsächlicher Mangel ist oder nicht und falls es sich um einen Mangel handelt, wie er behoben werden kann.

Die Ergebnisse der Diskussionen werden unter Angabe der zu überarbeitenden Anforderungen und den Überarbeitungsvorschlägen im Diskussionsprotokoll festgehalten. Dieses Protokoll wird an die jeweiligen Anforderungsverantwortlichen übergeben, die dafür zuständig sind, die Anforderungen zu überarbeiten.

Nachbereitung

Die Anforderungsverantwortlichen werten das Diskussionsprotokoll aus und überarbeiten die Anforderungen entsprechend. Gegebenenfalls sind hierfür erneute Anforderungserhebungen notwendig. Anschließend prüft der Projektverantwortliche die überarbeiteten Anforderungen.

Es muss dabei sichergestellt werden, dass eine zum Zeitpunkt des Reviews vollständige Sammlung von Mängeln in bestimmten Anforderungen vorliegt und das sämtliche bereits spezifizierten Anforderungen begutachtet wurden. Da sich Anforderungen im Lauf eines Projekts immer wieder ändern können, müssen Anforderungen regelmäßig reviewt werden. In agilen Entwicklungsprozessen ist ein Review von Anforderungen in jedem Sprint vorteilhaft. Die identifizierten Mängel müssen behoben werden, bevor die Anforderungen weiter verwendet werden.

Gütekriterien/Empfehlungen

Es ist von Vorteil, die benötigten Stakeholder auch für das Lesen der Anforderungen durch jeden einzelnen zu einem gemeinsamen Treffen einzuladen. Hierdurch wird die Wahrscheinlichkeit erhöht, dass die Anforderungen tatsächlich gelesen und die Checklisten abgearbeitet werden. Die Qualitätskriterien für gute Anforderungsspezifikationen, die im IEEE Standard 29148 beschrieben werden, sollten berücksichtigt werden.

Risiken

Bei der Zusammenarbeit mit den Stakeholdern sind menschliche Einflüsse nicht zu unterschätzen, z. B. gruppendynamische Prozesse, Kompetenzstreitigkeiten oder ein Mangel an Motivation (etwa durch Angst vor Veränderungen oder negative Erfahrungen in anderen Projekten). Beachten Sie, dass die Stakeholder unter Umständen gegensätzliche Interessen verfolgen und Korrekturen von Anforderungen skeptisch gegenüber stehen könnten. Vermeiden Sie, dass Reviews aus Gründen der vermeintlichen Kosteneinsparung nicht durchgeführt werden. Eine Beseitigung von Mängeln in Anforderungsspezifikationen, die erst entdeckt werden, wenn die Anforderungen implementiert wurden, ist wesentlich teurer als das Review von Anforderungen und die anschließende Beseitigung gefundener Mängel.

Schlagworte

Anforderungskorrektheit, Reviewtechniken, Inspektion, Review, Verständlichkeit, Abstimmung

Weiterführende Informationen

Literatur

*Klaus Pohl, Chris Rupp (2010): Basiswissen Requirements Engineering. 2. Auflage. dpunkt, Heidelberg
  • Chris Rupp, die SOPHISTen (2009): Requirements-Engineering und -Management: Professionelle, iterative Anforderungsanalyse für die Praxis. 5. Auflage. Hanser, München