Anforderungsermittlung (requirement elicitation)

tl/dr; (ca. 11 min Lesezeit): Welche Techniken gibt es, um Anforderungen zu ermitteln, dokumentieren, gliedern, validieren und messbar zu machen? Welche Kriterien werden an gute fachgerechte und überprüfbare Anforderungen angelegt?

Dieser Artikel ist Bestandteil einer mehrteiligen Reihe zu Requirements Engineering:

Haupttätigkeit 1: Anforderungsermittlung (requirements elicitation)

Woher kommen die Anforderungen an das System, mit welchen Techniken kann ich Anforderungen erheben und ermitteln? Durch systematisches Vorgehen können Anforderungen gewonnen, detailliert und verfeinert werden. Auch Konflikte und Abhängigkeiten zwischen Anforderungen können so früh entdeckt werden.

Dabei wird bei größeren Projekten in einem Dreischritt vorgegangen:

  • Analyse von Umfeld und Systemkontext

  • Analyse der Stakeholder

  • Analyse der Anforderungen

Diese Aktivitäten folgen einander, jedoch ergeben sich häufig Rücksprünge, in der Phase des Anforderungsmanagements behandelt werden müssen: neue Anforderungen bringen einen neuen Stakeholder zu Tage, Systemgrenzen werden verschoben usw. Die wesentlichen Aktiviäten sind in folgendem Aktivitätsdiagramm zusammengefasst:

Aktivitäten der Anforderungsermittlung
Aktivitäten der Anforderungsermittlung

Projektumfeld und Systemkontext

Projekte finden nicht im luftleeren Raum statt, die zu schaffenden Systeme sollen mit ihrem Umfeld interagieren oder vom Umfeld genutzt werden. Daher gilt es zunächst, das Umfeld zu analysieren, um herauszufinden, von welchen Seiten Anforderungen an ein System gestellt werden können.

Je nach Projektumfeld und Stakeholder sollten dabei möglichst mehrere Techniken und unterschiedliche Gruppen einbezogen werden.

Umfeldanalyse

Ein systematischer Weg, das Umfeld zu analysieren, ist das Befüllen eines Umfeldportfolios mit sachlichen und sozialen Umfeldfaktoren sowie nach Faktoren innerhalb des Projekts (direkt/intern) und außerhalb des Projekts (mittelbar/extern).1

interne Faktoren externe Faktoren
sachliche Faktoren
Kommunikation
nicht möglich
Prozessbeschreibungen
interne Dokumente (QM-Handbuch, Projekthandbuch…)
Definition of Done
Coding Conventions
IT-Infrastruktur
bestehende Produkte
bestehende Verträge
Gesetzte
Verordnungen
Normen
Lizenzen
Wetter
Soziale Faktoren
Kommunikation
möglich
Datenschutzbeauftragte
Entwickler*innen
QS-Team
Auftraggeber*innen
Marketing
Betriebsrat
Vertrieb
Softwarearchitekt
Auftraggeberinnen
Lieferanten
Kund*innen
Anwender*innen
Kontrollorganisationen
Öffentlichkeit
NGOs
Nutzer
innen eines Alt-/Konkurrenzprodukts

Bei den sachlichen und sozialen Faktoren lohnt ein Blick auf die Randbedingungen - häufig finden sich zu jeder Rubrik Umfeldfaktoren. Zum Teil sind die Umfeldfaktoren unmittelbar Stakeholder für das Projekt, zum Teil leiten sich Stakeholder aus Umfeldfaktoren ab. Aber was sind eigentlich Stakeholder?

Systemkontextabgrenzung

Mit der Umfeldanalyse sollte in weiten Teilen die Schnittstellen unseres Systems festgelegt sein. Wichtig ist es im nächsten Schritt, sich zu verdeutlichen, welche Faktoren Bestandteil des Systems selbst sind, welche im Systemkontext liegen (also im für das Projekt relevanten Teil des Umfelds) und welche für das Projekt irrelevant sind.

Sämtliche Anforderungen, die das System nach Abschluss des Projekts erfüllen soll, befinden sich innerhalb der Systemgrenze. Die betrachtete Umgebung wird nach außen hin durch die Kontextgrenze abgegrenzt. Sie legt fest welcher Teil der Umwelt für das Projekt irrelevant ist. Innerhalb des Systemkontexts befinden sich die Stakeholder, interagierende Systeme, Randbedingungen, sowie (Geschäfts-)Prozesse, die Einfluss auf das System haben. Diese interagieren über definierte Schnittstellen über die Systemgrenze mit dem System selbst.

Abgrenzung zwischen irrelevanter Umgebung, Systemkontext (inkl. Stakeholer, Randbedingungen, interagierende Systeme, Prozesse) und System
Abgrenzung zwischen irrelevanter Umgebung, Systemkontext (inkl. Stakeholer, Randbedingungen, interagierende Systeme, Prozesse) und System

Durch fehlende Informationen und Erfahrungen, neue Erkenntnisse oder sich verändernde Bedingungen können sich an den Rändern von System- und Kontextgrenze Grauzonen befinden. Zudem verschieben sich die Grenzen Projektverlauf: Einige Anforderungen, die zunächst eingeplant wurden, können vielleicht nicht umgesetzt werden (andere werden zusätzlich umgesetzt). Das verschiebt die Systemgrenze. Oft wird auch erst im Projektverlauf klar, welche Randbedingung und welche Stakeholder tatsächlich für das Projekt relevant sind. Hierdurch kann sich die Kontextgrenze verschieben.

Das Verständnis des Kontexts ist so wichtig, dass das IREB das 4. Prinzip des Requirement-Engineerings benannt hat:

Prinzip 4: Kontext - Systeme können nicht isoliert betrachtet werden.

Stakeholdermanagement

Wer sind Stakeholder? Das IREB-Glossar definiert das so:2

A person or organization who influences a system’s requirements or who is impacted by that system. Note: Influence can also be indirect. For example, some stakeholders may have to follow instructions issued by their managers or organizations.

Stakeholder stellen auf der einen Seite Anforderungen an das System, auf der anderen Seite haben Sie auch Erwartungen oder Befürchtungen zum Projekt. Sie verfolgen eigene Ziele, für den Projekterfolg ist daher wichtig, dass dem Umgang mit Stakeholdern einem eigenen Management-Kreis (Plan-Do-Arc-Check) zugeteilt wird. Schön dargestellt ist dies z.B. im Lehrbuch zu “Projektmanagement (IPMA)” von Dittmann/Dirbanis, deren Systematik ich hier übernehme:

Im ersten Schritt müssen die Stakeholder identifiziert werden. Stakeholder finden sich über über die Umfeldanalyse (siehe oben), Checklisten, Organigramme, Geschäftsprozessdokumentationen, Stakeholderbefragung zu weiteren Stakeholdern.

Im zweiten Schritt werden die Befürchtungen und Erwartungen der Stakeholder an das System zusammengetragen. Hieraus lassen sich später Ziele der Stakeholder ableiten.

Im dritten Schritt werden die Stakeholder kategorisiert nach Macht/Einfluss und Konfliktpotenzial. Das wird zunächst Tabellarisch zusammengetragen:

Nr Name Stakeholder
Stakeholdergruppe
Kontaktdaten und Erreichbarkeit Fachgebiet und Umfang des Fachwissens Ziele und Interessen:
Risiko aus Sicht der Stakeholder
(positives Risiko: Erwartungen / negatives Risiko: Befürchtungen)
Relevanz (Beschreibung) Macht/Einfluß (wenig/mittel/viel) Konfliktpotenzial (wenig/mittel/viel) Geplante Maßnahmen zur Einbindung / Eindämmung des SH

Leichter auswertbar ist diese Tabelle, wenn wir Macht/Einfluss und Konfliktpotenzial in drei Gruppen (viel/mittel/wenig oder 3/2/1) aufteilen und in Form einer Stakeholdermatrix auftragen:

wenig
Einfluss
mittel
Einfluss
viel
Einfluss
wenig
Konfliktpotenzial
mittel
Konfliktpotenzial
viel
Konfliktpotenzial

Je nach Anordnung im Portfolio sollte in der Kommunikation mit den Stakeholdern eine angepasste Strategie angewendet werden. Hierzu dient der vierte Schritt: die Maßnahmenplanung.

Besonderes Augenmerk liegt dabei auf Stakeholder mit viel Einfluss und hohem Konfliktpotenzial. Sie können ein Projekt tropedieren - Ziel muss es sein, das Konflikpotenzial dieser Stakeholdergruppe zu minimieren. Gute Anhaltspunkte für Maßnahmen des Stakeholdermanamgents finden sich z.B. in “Weniger schlecht Projekte managen” (siehe Quellen unten).

Und im fünften Schritt wird die Wirksamkeit der Maßnahmenplanung reflektiert - wie in allen Managementprozessen darf auch beim Stakeholdermanagement die Evaluierungsphase nicht fehlen. Waren die getroffenen Maßnahmen zur Einbindung / Eindämmung der Stakeholder erfolgreich? War die Kommunikation in Art, Qualität und Quantität zielführend? Welche Korrekturen am Stakeholderportfolio und der Stakeholdertabelle müssen umgesetzt werden?

Das zweite Prinzip des Requirement Engineering nach dem IREB sind Stakeholder: Im Requirement Engineering geht es darum, die Wünsche und Bedürfnisse der Stakeholder zu befriedigen.

Anforderungsermittlung

Mit der kategorisierten Liste an Stakeholdern kann es nun zur eigentlichen Hauptaufgabe kommen: die Anforderungen ermitteln.

Wir erhalten die Anforderungen von Stakeholdern, aus Dokumenten oder von Systemen. Hierbei helfen eine Reihe von Techniken:

  • Befragungstechniken

    • Interview: Ein offenes Gespräch ohne festgelegten geschlossenen Fragenkatalog mit unterschiedlichen Stakeholdern

    • Umfrage (zuvor definierte Fragen) mit unterschiedlichen Stakeholdern

  • Kreativtechniken für Workshop / Meeting / Brainstorming mit Stakeholdern

    • Perspektivwechsel

    • Analogietechniken: anhand analoger/ähnliche Situationen Anforderungen ableiten

    • Vorstellung von Prototypen

    • Storytelling: Emotionalisierung

    • Design Thinking

    • Storyboard: visuelle Vorlagen zum Entwurf von Abläufen (Drehbuch)

    • Personas, um einzelne Stakeholdergruppen im Blick zu haben (siehe auch Perspektivwechseltechnik)

  • Workshop / Meeting / Brainstorming / Rollenspiele mit

    • Entwicklerteam

    • Mitarbeitern der Fachdomäne

    • anderen Stakeholdern

  • Analyse der bestehenden Geschäftsprozesse über:

    • Anwender-Beobachtung

    • Analyse der Dokumentation von Geschäftsprozessen (z.B. Dokumente aus dem Qualitätsmanagement beteiligter Unternehmen, EPK, Flussdiagramme)

    • Analyse bestehnder Altsysteme

  • Marktanalyse:

    • Gibt es bereits Konkurrenzprodukte? Dann können diese direkt analysiert werden

    • In welchen Bereichen gibt es vergleichbare / ähnliche Geschäftsprozesse, die analysiert werden können?

  • Auswertung bestehnder Dokumente, z.B.

    • Normen:

      • Usability (ISO 9231 -11): Erfahrungen während der Nutzung
      • User Experience (ISO 9231 -210): Erfahrungen vor, während und nach der Nutzung
    • Gesetze

Wichtig ist bei der Anforderungsermittlung insbesondere, dass der Blick aufs Ganze erweitert wurde:

  • Wer sind die Stakeholder (also diejenigen, die ein Interesse an dem System haben oder von diesem betroffen sind)? Wer ist in die Geschäftsprozesse eingebunden: wer sind die Auftraggeber, Kunden, Anwender, Mitarbeiter der Fachdomäne, Kontrollorganisationen, Verantwortliche, Ausführende usw. ?

  • Welche Ziele verfolgen diese Stakeholder mit dem System? In welche Szenarien nutzen Sie das System? Welche Anforderungen ergeben sich daraus?

  • Haben alle Projektbeteiligten ein gemeinsames Verständnis des Systems, haben sie eine gemeinsame Sprache / ein einheitliches Vokabular und meinen alle mit jedem Begriff das gleiche?

  • Welche konkurrierenden / widersprüchlichen Anforderungen gibt es?

  • Wurde das System im Gesamtkontext mit den umgebenden anderen Systemen betrachtet?

  • Welche Randbedingungen werden angenommen (muss zusätzlich erfasst werden!)? Randbedingungen können z.B. technischer, rechtlicher, kultureller, organisatorischer, ökologischer oder physikalischer Natur sein (keine abschließende Liste!).

  • Welche realistischen Änderungen der Randbedingungen müssen berücksichtigt werden?

Wie geht es weiter?

Die Anforderungen liegen auf dem Tisch. Im folgenden Blogpost wird es darum gehen, …

… die Anforderungen zu dokumentieren (requirement documentation)

Leitfragen

  • Welche Möglichkeiten der Anforderungsermittlung gibt es? (“Woher kommen die Anforderungen?”)

  • Welche Stakeholder können Anforderungen an das Projekt stellen?

Weitere Literatur zu Requirement-Engineering

Quellen und offene Ressourcen (OER)

Die Ursprungstexte (als Markdown), Grafiken und zugrunde liegende Diagrammquelltexte finden sich (soweit möglich in weiterbearbeitbarer Form) in folgendem git-Repository:

https://gitlab.com/oer-informatik/uml/umlanwendungsfall.

Sie sind bei Namensnennung (Hannes Stein) zur Nutzung als Open Education Resource (OER) freigegeben gemäß der Creative Commons Namensnennung 4.0 International Lizenz (CC BY 4.0).

Creative Commons Lizenzvertrag


  1. Diese Systematik wurde analog zu “Weniger schlecht Projekte managen” erstellt - Quelle siehe Literaturlinks

  2. Zitat aus dem IREB-Glossar

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: