Kennen Sie das Gefühl, wenn die Menge der zu realisierenden Anforderungen bereits zu groß ist und jeden Tag neue Anforderungen hinzukommen? Was können Sie tun, wenn Sie kontinuierlich Anforderungen von Kunden und Fachabteilungen erhalten, wenn Produktmanagement und Vertrieb immer neue Anforderungen formulieren oder es neue Gesetze, Normen und Richtlinien gibt, die zu weiteren Anforderungen führen? Natürlich könnten Sie einfach einen Annahmestopp verhängen und Veränderungen ignorieren, wahrscheinlich würden sich dann aber Ihre Kunden schon bald einen neuen Partner suchen. Sie benötigen also einerseits die Offenheit für zusätzliche Anforderungen und andererseits die Möglichkeit, Anforderungen zu eliminieren. Und nach welchen Kriterien lassen sich Anforderungen eliminieren?

Formale Kriterien, Ziele und Systemkontext prüfen

Wenn Sie Anforderungen eliminieren wollen, könnten Sie beginnen, diese auf formale Kriterien zu überprüfen. Arbeiten Sie in Ihrer Softwareentwicklung mit einem Anforderungsmanagement-Werkzeug, dann gelingt die Überprüfung auf formale Kriterien ziemlich leicht. Schnell finden Sie Anforderungen, bei denen die Beschreibung, der erwartete Nutzen, Abnahmekriterien oder Quellenangaben fehlen. Doch was passiert, wenn Sie diese Anforderungen identifiziert haben? Können Sie diese nun einfach löschen? Vermutlich nicht. Es ist sogar ziemlich wahrscheinlich, dass nun zusätzlicher Aufwand entsteht, denn wie wollen Sie die Wichtigkeit einer Anforderung beurteilen, wenn sie nicht (oder noch nicht) vollständig formuliert wurde? Ergo: Anforderungen bei fehlenden formalen Informationen zu eliminieren, ist ein Weg, um die Menge an Anforderungen zu reduzieren. Der zusätzliche Aufwand zur Überprüfung und die Gefahr, eine wichtige – noch nicht vollständig spezifizierte – Anforderung zu eliminieren, sollten aber beachtet werden.

Wissen Sie warum es wichtig ist, die Stakeholder Ihrer Entwicklung und deren Ziele zu kennen? Aus den Zielen der Stakeholder ergeben sich oftmals Anforderungen. Wenn sich Ziele widersprechen, dann sollten Sie möglichst frühzeitig – idealerweise im Rahmen der Stakeholderkommunikation – entscheiden, welches Ziel von welchem Stakeholder wichtiger ist und in der Folge umgesetzt wird. In der Konsequenz können Sie die Anforderungen eliminieren, die zur Erreichung der weniger wichtigen Ziele notwendig gewesen wären. Zieldiagramme eignen sich übrigens sehr gut zur Visualisierung von Stakeholdern und Zielen.

Nach den Zielen der Stakeholder könnten Sie sich auch die Definition des Systemkontexts anschauen. Mit dem Systemkontext definieren Sie die Grenzen Ihrer Software- und Systementwicklung, das heißt Sie bestimmen einen Bereich, für den Sie Anforderungen erfassen wollen. Definieren Sie beispielsweise, dass Sie ein neues System A implementieren wollen, das mit System B kommuniziert, dann ist es für Ihre Entwicklung irrelevant, ob es Anforderungen für System C gibt. Diese Anforderungen könnten Sie eliminieren.

Redundanzen und Prioritäten prüfen

Es gibt zahlreiche Gründe für redundante Anforderungen. Anforderungen werden von verschiedenen Personen erfasst, die keinen Überblick über bereits vorhandene Anforderungen haben. Oder sie werden so formuliert, dass sie sich in Teilen überschneiden. Oder die Erhebung der Anforderungen liegt zeitlich so weit auseinander, dass sich der Autor nicht mehr sicher ist, ob er früher bereits eine ähnliche Anforderung formuliert hatte. Redundanzen zu überprüfen, ist eine gute Möglichkeit zur Eliminierung von Anforderungen. Bei der Prüfung sollen Sie aber darauf achten, ob die Redundanz möglicherweise beabsichtigt ist. So könnte es passieren, dass in einem System mehrere Komponenten dieselbe Funktion zeitgleich ausführen sollen oder das eine redundante Funktion im Fehlerfalle aufgerufen wird. Die Menge an Anforderungen lässt sich also um unbeabsichtigte Redundanzen reduzieren.

Die Priorisierung von Anforderungen ist ein weites Feld. Doch bietet sie auch Optionen zur Eliminierung von Anforderungen? Werfen wir einen Blick in die Praxis. Es gibt Organisationen, in denen die meisten Anforderungen als „wichtig“ eingestuft werden. Aus Sicht des Erstellers einer Anforderung ist dies nachvollziehbar, denn er möchte sicherstellen, dass seine Anforderung auch tatsächlich realisiert wird und die Chancen sind bei einer höheren Priorisierung deutlich größer als bei einer niedrigen. Schaut sich nun eine Organisation die Anforderungen mit den niedrigsten Prioritäten an, um sie eventuell zu eliminieren, dann können Sie sicher sein, dass zukünftig bei Prioritäten wie „niedrig, mittel, hoch“, „1, 2, 3“ oder „must, should, could, won’t“ jeder Ersteller permanent darauf achtet, dass seine Anforderung in der höchsten Stufe eingeordnet wird. Damit wäre die Priorisierung an sich gescheitert – keine gute Idee.

Anforderungen zu eliminieren ist keine leichte Aufgabe

Anforderungen zu eliminieren ist keine leichte Aufgabe

Gibt es vielleicht andere Priorisierungsverfahren, die bei der Reduzierung von Anforderungen helfen könnten? Das Kano-Modell mit seinen Basis-, Leistungs- und Begeisterungsmerkmalen liefert bspw. wertvolle Erkenntnisse für die Priorisierung von Anforderungen. Leider lässt sich auch bei diesem qualitativen Modell nicht ableiten, wie Sie die Menge der Anforderungen reduzieren können. Auf Basismerkmale können Sie schlicht nicht verzichten, denn diese sind für den Anwender selbstverständlich, auch wenn sie erst bewusst wahrgenommen werden, sofern sie fehlen. Auf Leistungsmerkmale können Sie auch nicht verzichten, denn diese werden ausdrücklich von Anwendern gefordert und verglichen. Und niemand verzichtet auf Begeisterungsmerkmale, denn die sind sehr schwer zu identifizieren und Begeisterung wollen Sie nicht eliminieren. Bei der Anforderungseliminierung hilft Ihnen Noriaki Kano also nicht weiter.

Eine weitere Option beim Bewerten von Anforderungen ist eine absolute Priorisierung. Bei ihr werden Prioritäten nur einmal vergeben, es gibt also bspw. nur einmal Priorität 108. Hat eine Anforderung die Priorität 109 ist sie wichtiger als die Anforderung mit der Priorität 108. Natürlich verursacht eine solche Form der Priorisierung viel Aufwand, das Ergebnis ist aber stets eindeutig. Haben Sie bspw. 4.000 verschiedene Bewertungen vergeben, dann könnten Sie vielleicht die niedrigsten 100, 200 oder möglicherweise 500 Anforderungen eliminieren, oder?

Releasezuordnung und Verfallsdatum

Kennen Sie Anforderungen, die 3 Jahre nach ihrer Erhebung noch umgesetzt wurden? Nach 4 oder 5 Jahren? Ist das bei Ihnen die Regel oder die Ausnahme? Wenn es die Regel ist, wie sieht es aus mit Anforderungen, die vor 8, 9 oder 10 Jahren erfasst wurden? In den meisten Organisationen gibt es einen Punkt, ab dem Anforderungen nur noch altern, aber nicht mehr umgesetzt werden. Sie sind vergraben in Anforderungslisten oder Product Backlogs, fast ohne reale Chance implementiert zu werden. Wenn jetzt noch jeden Tag neue Anforderungen hinzukommen, sinken die Chancen praktisch auf Null. Was könnten Sie alternativ tun? Sie könnten mit einem Umsetzungsdatum arbeiten, also einen Zeitpunkt definieren, zu dem eine Anforderung umgesetzt werden sollte. Evtl. machen Sie dies heute schon, indem Sie mit Releasezuordnungen arbeiten. Der Gedanke ist identisch. Haben Sie eine Anforderung einem Release zugeordnet, dann planen Sie diese auch zu realisieren. Wenn Sie die Realisierung einer konkreten Anforderungen immer wieder verschieben, Sie also die Priorität verändern, kann es vorkommen, dass Sie die Anforderung irgendwann gänzlich aus der Releaseplanung entfernen und sie wieder in das Backlog wandert. Eventuell wäre sie schon ein Kandidat für die Eliminierung.

Es gibt auch den Fall, in dem Sie die Umsetzung einer Anforderungen (noch) nicht terminieren können. Ist die Anforderung dennoch relevant, könnten Sie für sie eine Wiedervorlage definieren und so später entscheiden, ob sie in einem konkreten Release umgesetzt werden soll. Wollen Sie sie stattdessen wieder verschieben, könnte auch sie ein Kandidat für eine Eliminierung sein. Und was passiert, wenn Sie nicht an die Umsetzung einer Anforderung glauben? Diese Anforderung können Sie unmittelbar eliminieren.

Alternativ zu Releasezuordnungen könnten Sie auch mit einem Verfallsdatum arbeiten. Dies führt bei der Anforderungsplanung dazu, dass Sie stets gegen das Verfallsdatum planen. Bei wichtigen Anforderungen definieren Sie ein frühes Verfallsdatum, bei allen anderen Anforderungen arbeiten Sie mit Standardwerten von x Jahren und/oder y Monaten. Zur Bestimmung der Standardwerte nutzen Sie Ihre Erfahrungen und schauen, wie viele Anforderungen Sie über einen definierten Zeitraum in der Vergangenheit realisiert haben. Alternativ können Sie auch mit Erfahrungswerten bei der Umsetzung von Epics, Features oder User Storys arbeiten und für jede Kategorie oder nur für einzelne ein Verfallsdatum etablieren. Beachten Sie bei der Bestimmung der Standardwerte, dass in dem definierten Zeitraum typischerweise eine Menge an zusätzlichen Anforderungen hinzukommt. Sobald Sie das Verfallsdatum beim Arbeiten mit Anforderungen verwenden, müssen Sie zukünftig keine Anforderungen mehr beachten, die nicht innerhalb des entsprechenden Zeitraums realisiert wurden.

Fazit

Das Eliminieren von Anforderungen verursacht Aufwand, aber ohne diesen Aufwand wird die Menge an Anforderungen kontinuierlich steigen und die Übersicht wird zumindest deutlich erschwert. Wenn Sie die Menge Ihrer Anforderungen dauerhaft reduzieren wollen, dann macht die Prüfung von formalen Kriterien, von Zielen und des Systemkontexts Sinn. Die Prüfung von unbeabsichtigten Redundanzen ist ebenfalls empfehlenswert. Und auch die Priorisierung von Anforderungen kann unter Umständen bei der Auswahl der Eliminierungskandidaten helfen. Das Arbeiten mit einem Verfallsdatum ist eine weitere Option für das Eliminieren von Anforderungen.

Das Eliminieren von Anforderungen müssen Sie übrigens nicht mit einem „Löschen“ von Anforderungen gleichsetzen. Sie können Anforderungen auch mit Zuständen wie „stillgelegt“ oder „archiviert“ versehen, so dass Sie in Ihrer Anforderungsverwaltung erhalten bleiben, ohne Sie bei Ihrer kontinuierlichen Arbeit mit Anforderung zu beeinträchtigen.

Gefällt Ihnen dieser Beitrag?

Gefällt Ihnen dieser Beitrag?

Melden Sie sich für unsere News-Updates an und erhalten Sie regelmäßig Tipps von bekannten Autoren direkt in Ihren Posteingang.

Sie haben sich für unsere News-Updates angemeldet. In kürze Erhalten Sie eine E-Mail mit einem Bestätigungslink. Erst wenn Sie darauf geklickt haben, werden wir Ihnen regelmäßig unsere Updates in Ihren Posteingang senden.

Share This