ARE Poster — Vom Stakeholder Requirement zu den Acceptance Criteria

Advanced Requirements Engineering

Vom Stakeholder Requirement
zu den Acceptance Criteria

Eine Ebene tiefer heißt: konkreter, kleiner, näher an der Lösung. Bis zur User Story bleibt alles implementierungsfrei.

ISO/IEC/IEEE 29148:2018 · SAFe · Cockburn · Bass/Clements/Kazman

01

Die Ebenen

— welches Artefakt, welches Format, woran es abgenommen wird
Problemraum · das WAS
ISO 29148 · Business Requirement Business Goal Mission, Ziele, Opportunities wird nicht zerlegt

Die Take-Rate der Infotainment-Premium-Option maximieren, um die hohen lokalen Fertigungskosten auszugleichen.

Hat Business Objectives, aber keine Kinder. Alles darunter wird nicht aufgehängt, sondern traced — keine Verbindung ⇒ Gold-Plating.

Format Direction-Metric-Impact
Elevator Pitch
quantitativ bzw. qualitativ formuliert
Ausarbeitung Business Objectives — SMART
Trace-Ziel der Stakeholder Requirements
ISO 29148 · Stakeholder Requirement Stakeholder Requirement SAFe: Epic implementierungsfreiValidation

Als Fahrer möchte ich während der Fahrt telefonieren, so dass ich weiterfahren kann.

Bewusst grob — ein Bündel von Funktionalität, weder singular noch complete. Von SMART gelten hier nur Specific und Relevant.

Format User-Story-Format funktional
Requirements-Sentence Operational Quality
Ausarbeitung Elaboration Use Case · bzw. Quality Scenarios
— beides keine Acceptance Criteria
2–6 MonateStrategic Planning · T-Shirt: S = 1 PI, M = 1–2 PI, L > 2 PI
ISO 29148 · System Requirement System Requirement SAFe: Feature implementierungsfreiVerification

Als Fahrer möchte ich während der Fahrt eine Telefonnummer wählen, so dass ich mit einem Gesprächspartner sprechen kann.

Muss bounded sein: vollständig in genau einem PI entwickelbar und testbar. Sonderfälle auf derselben Ebene — Architecture Enabler und Operational Feature .

Format User-Story-Format
+ Problem Statement, + Benefit/Value
Acceptance Criteria ein eigener, engerer Use Case
1 PI · 8–12 WochenIncrement Planning · 3–5 Sprints
kein Pendant in ISO 29148 User Story nur in SAFe implementierungsfrei

Als Fahrer möchte ich während der Fahrt die Telefonfunktion und die Wähloption auswählen, so dass ich anschließend eine Rufnummer eintippen kann.

Muss die Subsysteme spannen und Nutzerinteraktion beschreiben. „CAN-Message-Matrix-Layer aktualisieren“ wäre der Fehler, der den Wert verliert.

Format User-Story-Format
eine einzelne Interaktion, nicht mehr
Acceptance Criteria 1..n GWT-Statements
1 Sprint · 2–4 Wochengeschnitten aus den Acceptance Criteria des Features
Lösungsraum
ISO 29148 · System Element Requirement System Element Requirement SAFe: Implementation Task implementierungsgebunden

Der Dialer-Service soll die eingegebene Rufnummer vor der Übergabe an den Telefonie-Stack nach E.164 normalisieren.

Technische Spezifikation für Software, Hardware und Schnittstellen. Daneben das Sub-System Requirement, das manche Organisationen zusätzlich führen.

Formattechnische Spezifikation Acceptance Criteria
außerhalb des KursumfangsDer Kurs endet eine Ebene darüber.
02

Klassifikation

— sie steuert Format und Refinement
KategorieFormatWird verfeinert durch
Functional User-Story-Format Use Case → Features → User Stories → GWT
Operational Quality
extern, vom Nutzer erlebbar
Requirements-Sentence-Format Quality Scenarios — als AC oder als eigenes Operational Feature
Developmental Quality
intern, für Entwicklung und Wartung
Requirements-Sentence-Format Architecture Enabler → Architektur
Constraint
Budget, Termin, Recht, Technologie
Requirements-Sentence mit „will“ nichts — Constraints werden nicht zerlegt
05

Dekomposition

Stakeholder Requirement SAFe: Epic · User-Story-Format ① AUSARBEITEN ELABORATION USE CASE · COCKBURN Trigger User indicates call wish Success 1. dials number 2. establishes call Scenario 3. accepts 4. talk 5. hangs up Alt.Flows 2a. no network 2b. busy 2c. rejected ② JEDER PFAD ⇒ EIN FEATURE Feature Feature Feature Feature Schritt 1–2 Schritt 3–5 Flow 2a Flow 2b/2c ③ JE FEATURE Engerer Use Case = Acceptance Criteria Interaktion, kein UI-Design ④ SCHNEIDEN User Story User Story User Story ⑤ 1..n GWT-STATEMENTS JE USER STORY
03

Die Formate

— die Zuordnung ist unser Vorschlag

User-Story-Format · Value Focus

Als ein <Rolle / Typ von Nutzer> möchte ich <dies tun>, so dass <ich dieses Ziel erreiche>.

Prüffrage: Gibt es einen benennbaren Nutzer und einen Wert für ihn?

Requirements-Sentence-Format · System Focus

[Condition] Subject Imperative Action Object [Constraint] shall verbindliche Anforderung should Ziel oder Empfehlung, nicht bindend will gesetzte Absicht → Constraints

Prüffrage: Ist die Verbindlichkeit explizit — shall, should oder will?

GWT-Format · Acceptance Criteria der User Story

Given Zustand der Welt vor dem Verhalten When das Verhalten, das spezifiziert wird Then die erwartete Änderung als Folge

Prüffrage: Ist daraus direkt ein Testfall ableitbar?

06

Quality Scenario

— sechs Teile

Source of Stimulus wer oder was löst aus Stimulus WHEN welches Ereignis Artifact welches Element ist betroffen Environment GIVEN Normal · Peak · Overload Response THEN wie reagiert das Element Response Measure Latency · Jitter · Miss Rate …

Environment ist der Hebel

Dieselbe Quality wird unter Normal, Peak und Overload unterschiedlich streng — erst dadurch wird sie verhandelbar statt utopisch. Ein Response ohne Response Measure ist eine Absichtserklärung.
04

Die Quality-Frage

SAFe · KOPIE VORSCHLAG · REFERENZ Feature A < 200 ms Feature B < 200 ms Feature C < 200 ms Dreimal dieselbe Zahl in drei Acceptance Criteria. Die Kopien driften. Feature A Feature B Feature C Quality Scenario < 200 ms Eine Quelle der Wahrheit. Mehrere Features betroffen ⇒ eigenes Operational Feature.
07

KANO

— Suchwerkzeug, nicht nur Etikett
− ZUFRIEDENHEIT + ERFÜLLUNGSGRAD →
Kategoriewenn sie fehlt
Basic wird vorausgesetztstarke Unzufriedenheit
Performance je mehr, desto bessersinkt linear
Delighter Wettbewerbsvorteilkeine Unzufriedenheit
Indifferent Noisekaum Wirkung — Aufwand verschwendet

Der eigentliche Nutzen: das Fehlende finden

Ein neues Produkt braucht Delighter, die auf Business Objectives einzahlen. Ein bestehendes braucht je Version genug Performance-Requirements.