Aktionen

Systematisch vom Groben ins Feine vorgehen

Aus PQWiki


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

Ziele

* Verfeinerung von Anforderungen
  • Konsistente und vollständige Erhebung von Anforderungen

Motivation/Problemstellung

Unterschiedliche Stakeholder haben unterschiedliche Sichten auf Anforderungen einer Software-Anwendung, die unterschiedlich detailliert geäußert werden. Ist entweder das Big Picture von Anforderungen verschiedener Stakeholder unklar oder bewegt sich die Diskussion von Anforderungen auf einer hohen Detailebene, so ist das systematische Verfeinern von Anforderungen sinnvoll. Gleichzeitig kann dadurch erreicht werden, dass Anforderungen nicht von Entwicklern (miss-)interpretiert werden, sondern auf einem Detaillierungsgrad vorliegen, der aufgrund einer hohen Verständlichkeit und gleichzeitig einer ausreichenden Präzision eine akkurate Umsetzung erlaubt.

Kurzbeschreibung

Default Picture.jpeg
Die unterschiedlichen Sichten verschiedener Stakeholder auf Anforderungen für eine Software-Anwendung müssen während der Anforderungserhebung kontinuierlich verfeinert werden. Dadurch entsteht das Big Picture der unterschiedlichen Anforderungen, die Anforderungen der verschiedenen Stakeholder werden berücksichtigt und Anforderungen liegen so detailliert vor, dass von ihnen Systemanforderungen abgeleitet werden und sie in Programmcode umgesetzt werden können. Dafür sind verschiedene Entscheidungen zu treffen und Systemaspekte zu diskutieren bzw. zu spezifizieren.

Input

Grob formulierte Anforderungen Detailanforderungen ohne Bezug zu damit verfolgten Zielen oder grob spezifizierten Anforderungen

Output

Grob formulierte Anforderungen Detailanforderungen ohne Bezug zu damit verfolgten Zielen oder grob spezifizierten Anforderungen

Rahmenbedingungen

Rolle (Ausführender)

Anforderungsingenieur

Werkzeuge, Hilfsmittel

-

Vorkenntnisse und Erfahrungen

-

Ort und Umgebung

Keine Vorgabe

Weitere Teilnehmer

Alle relevanten Stakeholder

Voraussichtliche Dauer

Abhängig von der Anzahl der teilnehmenden Stakeholder und der Komplexität der Anforderungen

Vorgehensweise

Vorbereitung

-

Durchführung


Bitten Sie während der Anforderungserhebung Repräsentanten jeder Stakeholder-Rolle, ihre Anforderungen für die Software-Anwendung zu formulieren, angefangen mit den groben Zielen jeder Rolle. Versuchen Sie stets, jede Rolle zu hören bzw. sie zu ermutigen, Anforderungen aus ihrer Sicht zu formulieren. Auch die Relevanz der formulierten Anforderungen aus der jeweiligen Sicht der einzelnen Rollen sollte dabei erhoben werden. Anhand dieser Relevanz können Sie nach erfolgter vollständiger Verfeinerung der Anforderungen nicht-relevante Anforderungen streichen und dadurch den für die Anforderungserhebung notwendigen Aufwand reduzieren.

Für eine Verfeinerung von Anforderungen muss nicht nur festgelegt werden, welche Anforderungen verfeinert werden sollen, sondern auch wie man wie bei der Verfeinerung vorgeht, bis zu welchem Detaillierungsgrad man die Verfeinerung vornimmt und welche Stakeholder man für die Verfeinerung einbindet. Mit einem systematischen Vorgehen zur Verfeinerung von Anforderungen wird vermieden, dass Anforderungen unvollständig dokumentiert werden und die Anforderungserhebung unfokussiert vorgenommen wird, wodurch man sich schnell in Details verliert. Für eine systematische Verfeinerung von Anforderungen müssen folgende Fragen beantwortet werden: - Worum geht es generell bei dem System? - Wer sind die Stakeholder des Systems? - Welche Ziele sollen durch den Einsatz des Systems erreicht werden? - In welchen Geschäftsprozessen bzw. Nutzeraufgaben kommt das System zum Einsatz? - Was sind die Stärken und Schwächen des aktuellen Geschäftsprozesses bzw. der aktuellen Nutzeraufgaben? - Wie sollen die Geschäftsprozesse bzw. Nutzeraufgaben zukünftig durchgeführt werden, um die festgelegten Ziele zu erreichen? - Welche Schritte des zukünftigen Geschäftsprozesses / der zukünftigen Nutzeraufgaben sollen durch das System unterstützt oder automatisiert werden? - Welche Daten und Geschäftsregeln sind für die zukünftigen Geschäftsprozesse bzw. Nutzeraufgaben relevant? - Wie sollen Nutzer und externe Systeme mit dem zu entwickelnden System interagieren, um Ergebnisse einzelner Schritte des zukünftigen Geschäftsprozesses bzw. der zukünftigen Nutzeraufgabe zu erreichen? - Welche Systemfunktionen werden benötigt, um die Systemverantwortlichkeiten oder Interaktionen zu realisieren? - Welche Daten werden bei den Interaktionen ausgetauscht? - Welche Interaktionsregeln greifen bei einzelnen Interaktionen? - Wie sollen Daten und Systemfunktionen logisch in der Benutzungsschnittstelle gruppiert werden? - Wie soll die Benutzungsschnittstelle visuell gestaltet sein? - Wie sollen Dialoge zwischen Nutzer und System gestaltet werden und welche Transitionen zwischen Screens sollen bestehen? - Welche Widgets sollen in der grafischen Benutzungsschnittstelle verwendet werden und welche Daten sollen sie repräsentieren? - Welche zusätzlichen Funktionen werden benötigt, um den Nutzer bei der Navigation zu unterstützen? - Wie soll das System intern organisiert / strukturiert sein? - Wie sollen die Systemfunktionen durch Methoden und Prozeduren realisiert werden? - Wie sollen Geschäftsdaten im Datenspeicher repräsentiert werden?

Durch dieses Vorgehen werden wichtige zu treffende Entscheidungen explizit und bewusst von den Stakeholdern getroffen. Dadurch wird ein früher Konsens bezüglich aller Entscheidungen erzielt. Anforderungen können damit vollständig und konsistent spezifiziert werden, der Detaillierungsgrad der Anforderungsspezifikationen befindet sich auf einem Level, der gut handhabbar ist und eine Grundlage zur Umsetzung der Anforderungen bietet, die sowohl eine hohe Verständlichkeit bietet als auch den Interpretationsspielraum von Anforderungsspezifikationen minimiert.

Nachbereitung

-

Gütekriterien/Empfehlungen

Es ist wichtig sicherzustellen, dass eine Nachverfolgbarkeit zwischen groben und verfeinerten Anforderungen gewährleistet ist, beispielsweise durch das Erstellen einer Traceability-Matrix.

Risiken

Es gesteht das Risiko, dass Stakeholder das Beschäftigen mit übergeordneten Zielen für irrelevant halten und es vorziehen, direkt mit konkreten Anforderungen einzusteigen. Hierfür ist es wichtig die Zusammenhänge zu verdeutlichen um Verständnis für das Vorgehen zu erzielen.

Einordnung in das PQ4Agile-Qualitätsmodell

Schlagworte

Anforderungsverfeinerung, Anforderungsrelevanz, Visualisierung von Anforderungen, Anforderungsspezifikation, Anforderungsbeschreibung

Weiterführende Informationen

Literatur

-