Überwachung (geringes Interesse, geringe Einfluss und somit Auswirkung):
Diese Stakeholder sollten gezielt informiert werden, ohne mit ihnen unrelevante Informationen zu teilen. Eine sorgfältige Abstimmung der Kommunikation mit diesen Partnern ist notwendig, um Relevanz sicherzustellen.
Zufriedenstellen (viel Einfluss, geringes Interesse):
- Es ist wichtig, ausreichend Zeit in diese Anspruchsgruppen zu investieren, um ihre Zufriedenheit zu gewährleisten, ohne jedoch ein Gefühl der Überlastung zu erzeugen.
Informieren (geringe Wirkung, hohes Interesse):
- Informieren Sie diese Stakeholder entsprechend. Und sammeln Sie relevante Daten, um größere Probleme zu vermeiden. Stakeholder dieser Kategorie stehen Projektdetails oft kritisch gegenüber.
In engem Kontakt bleiben (hohe Wirkung, hohes Interesse):
- Diese Stakeholder sind Hauptakteure. Sie sollten vollständig in das Projekt eingebunden werden. Nehmen Sie sich genug Zeit, um sie zufrieden zu stellen.
Persona
Mithilfe von Personas versucht man einen bestimmten Anwendertyp zu beschreiben. Dabei versetzt man sich in die Person hinein, um seine Situation zu verstehen und daraus seine Bedürfnisse zu definieren. Eine Persona ist ein gutes Mittel, um Anforderungen zu erheben. Ihre Nutzung ist oft sinnvoll, wenn Kundenbefragungen (ein Werkzeug für die Anforderungserhebung) unmöglich sind. Zudem wird Persona bei großen Produkten/Systemen genutzt, die von einer breiten Gruppe Endnutzern bedient werden.
Beispiel:
Herr Mathias ist 45, verheiratet und hat zwei Kinder. Er arbeitet als Qualitätsbeauftragter für die Bundesagentur für Arbeit. Er fährt jeden Morgen Zug von Mannheim nach Frankfurt und ist stolz darauf, seit 15 Jahren einen bedeutenden Beitrag zur Effizienz und Wirksamkeit der Agentur geleistet zu haben. In seiner Freizeit verbringt er Zeit mit seinen Freunden in einer Gaststätte in der Altstadt, wo sie lebendige Gespräche führen und gemeinsame Interessen teilen.
In diesem Beispiel ist die Beschreibung der Persona kürzer gehalten. In der Praxis kann diese eine komplette Seite befüllen. Wichtig bei der Verfassung von Personas ist die Empathie, also die Berücksichtigung von besonderen Details und Emotionen. Nur so kann man einen Kunden oder Endnutzer richtig verstehen.
Agile Techniken zum Dokumentieren von Anforderungen
Anwendungsfälle (Use Cases)
Use Cases beschreiben eine Anforderung oder Features eines Produktes aus Kundensicht.
Ziel ist, eine (erste) Beschreibung der Funktionalität des zu entwickelnden Produkts in der Sprache des Kunden zu bekommen.
Das hat einige Vorteile:
- Kundenbedürfnisse können besser und richtig verstanden werden, da sie in seinen eigenen Worten ausgedrückt werden
- Es ist eine gute Entscheidungsbasis für die Priorisierung von Anforderungen
- Missverständnisse verringern sich, sodass keine unerwünschten Anforderungen in das Produkt aufgenommen werden.
- Scope: Nur das aufzunehmen, was auch zum System gehören sollte
Nach der Festlegung der verschiedenen Anwendungsfälle, die vom Kunden oder mit ihm zusammen formuliert wurden, können diese Anwendungsfälle weiter detailliert und verfeinert werden.
An dieser Stelle kommen Use Case Dokumente (Name des Anwendungsfalls, Vorbedingungen, Normalablauf, Alternativablauf, Nachbedingungen) und UML (z.B. Anwendungsfall Diagramm, Aktivitätsdiagram) ins Spiel, um die Anforderungen an das System zu verdeutlichen und zu visualisieren. In den weiteren Schritten (Softwarearchitekten Rolle) kommen auch weitere Diagramme zur Darstellung und Definition von internen Strukturen und Abläufen, um die Softwarearchitektur zu visualisieren.
User Stories
User Stories (Nutzergeschichten) sind prägnante Beschreibungen eines Features aus Anwendersicht. Wichtig dabei ist, dass sie in ein bis zwei Sätzen formuliert werden.
Die Story soll erzählen, warum der Anwender eine bestimmte Funktionalität benötigt und welche Ziele oder Nutzen er damit erzielen kann. Im Gegensatz zu den klassischen Techniken im Requirements Engineering gibt die User Story nicht die Lösung vor, wie das Feature umgesetzt wird, sondern nur das, was umgesetzt (benötigt) wird. In einer User Story wird kein „Wie“, sondern nur das „Was“ beschrieben. Dokumentiert werden sollte von der User Story der Hintergrund, Begründung, Ziele oder Nutzen, warum dieses bestimmte Feature implementiert werden soll.
Im agilen Umfeld hat sich ein Satz-Musteretabliert, dass es immer drei Hauptelemente sind, die den Wert einer Funktionalität in ihrer Nutzung abbilden: Rolle, Feature und Begründung (Wert/Nutzen usw.).
Die Formulierung kann wie folgt aussehen:
Als <Rolle> möchte ich <Feature>, weil <Begründung>
Als <Rolle> möchte ich <Feature>, um <Nutzen / Wert> zu bekommen.
Beispiele:
- Als pendelnder Passagier möchte ich häufig gebuchte Zugsstrecken möglichst schnell wieder buchen können, um Zeit beim Buchen zu sparen.
- Als Personalleiter möchte ich die beantragten Urlaubsanträge direkt im System unterschreiben können, um den Urlaub genehmigen zu können, ohne die Urlaubsanträge herunterladen zu müssen.
Agile Techniken zur Spezifikation von User Stories
Story Mapping
Priorisierung von Anforderungen und die Pflege von Product Backlog Einträgen (=PBI Product Backlog Items) gehören zu den alltäglichen Aufgaben eines Product Owners. Story Mapping ist ein sehr gutes Werkzeug, um diese Herausforderung zu meistern.
Die Methode kann man sowohl zu Beginn, um überhaupt User Stories ableiten zu können, als auch während des Entwicklungsprozesses verwenden. Da es im agilen Umfeld in jedem Falle iterativ und schrittweise entwickelt wird, werden nach jedem Kundenfeedback oder erforderlichen Anpassung neue User Stories entstehen.
Eine Story Map besteht aus zwei Dimensionen (horizontale und vertikale). In der ersten horizontalen Dimension stehen die groben Anforderungen. In der zweiten vertikalen Dimension werden diese Anforderungen verfeinert. Je tiefer man geht, desto mehr nimmt der Detaillierungsgrad zu. Ziel ist es, eine Anforderung aus Sicht des Kunden in verfeinerten und kleinen Tasks zu zerlegen, um diese dann umsetzen zu können. Das Story Mapping kann daher auch als Verwaltungstechnik verstanden werden.
Agile Techniken zur Verwaltung von Anforderungen
Epics
Die erstellten User Stories kann man jetzt (oder alternativ in einem Schritt vorher) in Epics zusammenfassen. Diese Epics gruppieren zusammenhängende User Stories. Dabei erfolgt die Zusammenfassung zum Beispiel basierend auf übergeordneten Geschäftszielen oder der Möglichkeit, sie als eigenständige, bepreiste Dienstleistungen anzubieten. Zum Beispiel könnten User Stories wie „Antragstellung für Kindergeld“, „Antragsprüfung durch Sachbearbeiter“ und „Kindergeldauszahlung“ unter dem Epic „Kindergeldverwaltung“ gebündelt werden.
Vorteile:
- „Divide et impera“: Das gesamte zu entwickelnde System kann zu Beginn des Projektes in Teilbereiche erfasst werden.
- Projektstrukturierung, das heißt, es können Teile des Systems zu Projektbeginn abstrakt beschrieben werden, ohne früher ins Detail gehen zu müssen.
- Ein wichtiger Vorteil bei der Verwendung von Epics ist die Kontrolle über das Fachkonzept oder Product Backlog (User Stories Liste). Ansonsten kann man bei größeren Projekten, verbunden mit einem Product Backlog mit hunderten User Stories, schnell den Überblick verlieren.
Techniken zur Identifikation von architekturrelevanten Anforderungen
Einige der effektivsten Methoden, um ASRs zu ermitteln, sind:
- Fragebogen / Checkliste
- Stakeholder-Befragungen
- Qualitätsattribut-Workshops (QAW)*