agile spezifikation

26
1 Agile Spezifikation Johannes Stiehler © duckman76 - fotolia.com

Upload: ideenplanet-gmbh

Post on 16-Jul-2015

204 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Agile Spezifikation

1

Agile Spezifikation Johannes Stiehler

© duckman76 - fotolia.com

Page 2: Agile Spezifikation

Traditionell Agil

Produktmanager, Projektmanager, Marketing Product Owner

Durch Prozess, Organisation vom Entwicklungsteam getrennt Mitglied des Scrum Teams

Marktforschung, Business-Analyse etc. vor der Produktentwicklung

Möglichst minimale Vision und schnelle Produktinkrements

„Eingefrorene“ Anforderungen Anforderungen entwickeln sich stetig weiter

Spätes Kundenfeedback Frühes und häufiges Feedback durch kleine Releases

Produktmanagement traditionell und agil2

Page 3: Agile Spezifikation

Ziel agiler Produktdefinition

…ist es, im Gespräch mit dem gesamten Team

die minimalste Lösung („Output“) zu finden, die zum erwünschten Ergebnis („Outcome“) führt.

3

Page 4: Agile Spezifikation

Warum User Stories?

• Platzhalter für Kommunikation

• Kein „Detail-Inventar“

• Produktfortschritt wird messbar

„Shared understanding beats shared documents.“

4

Page 5: Agile Spezifikation

Produktvision

• Wer benutzt das Produkt?

• Welcher Bedarf wird gedeckt? Welcher Wert geschaffen?

• Was sind die kritischen Features? Wie wird das Produkt grob aussehen?

5

Page 6: Agile Spezifikation

Was ist eine User Story?

Spezifikation nach IEEE 830

1. Das Produkt soll einen benzinbetriebenen Motor haben.

2. Das Produkt soll vier Räder haben.

2.1.Das Produkt soll auf jedem Rad einen Reifen haben.

3. Das Produkt soll ein Lenkrad haben.

4. Das Produkt soll eine Karosserie aus Stahl haben.

6

Page 7: Agile Spezifikation

Was ist eine User Story?

User Story

Als Gärtner möchte ich einfach und schnell große Rasenflächen schneiden, um mehr Zeit für anspruchsvolle Arbeiten zu haben.

Template

7

Page 8: Agile Spezifikation

Nutzerrollen

Sammeln (jede Rolle repräsentiert einen Nutzer)

Hierarchisch Ordnen

Verfeinern:

• Wie oft wird die Software benutzt?

• Welche Erfahrung hat der Nutzer mit Computern?

• Wofür verwendet der Nutzer die Software?

• …

8

Page 9: Agile Spezifikation

Funktionen

Was wird benötigt?

• Featurebeschreibung aus Sicht der Nutzerrolle

• ohne Implementierungsdetails

• ohne Nebenszenarien

• in allgemeinverständlicher Sprache

9

Page 10: Agile Spezifikation

Nutzerziele

Warum wird das benötigt?

• Fokus auf den Nutzer des Produkts

• Begründung aus dem Geschäftswert

10

Page 11: Agile Spezifikation

Akzeptanztests

Was muss erfüllt werden, damit die Story fertig ist?

• für alle Beteiligten verständlich

• von außen verifizierbar

• detailliert genug, um einen Test zu erstellen

11

Page 12: Agile Spezifikation

Funktionale Akzeptanztests

Ein Nutzer kann eine einfach Suche ausführen, die nach einem Wort oder Wortverbindungen sowohl in den Feldern Autor als auch Titel sucht, damit er möglichst schnell zum gesuchten Artikel kommt.

• Nach einem Wort suchen, das Teil eines Titels sein soll, aber nicht der Autor sein kann

• Nach einem Wort suchen, das wahrscheinlich der Autor, aber eher nicht der Titel sein kann

• Nach einem Wort suchen, das wahrscheinlich keines von beiden ist

12

Page 13: Agile Spezifikation

Nicht-funktionale Akzeptanztests

Performanz-Constraint

Die allgemeine Suche muss in weniger als einer Sekunde antworten.

Akzeptanzkriterien

• 10.000 Transaktionen

• jede Transaktion überträgt 100 KB an Daten

• 99% schließen unter 1 Sek ab

13

Page 14: Agile Spezifikation

INVEST Stories

Independent – keine Abhängigkeiten

Negotiable – jederzeit änderbar, bis zur Planung

Valuable – nützlich für den Endverbraucher

Estimatable – für Entwicklung abschätzbar

Small – in einem Zyklus umsetzbar

Testable – von außen testbar

14

Page 15: Agile Spezifikation

Stilistische Kriterien

• aus Sicht eines einzelnen Nutzers schreiben

• im Aktiv schreiben

• wenn möglich, Kunden schreiben lassen

• nicht nummerieren

15

Page 16: Agile Spezifikation

Aufteilen von Stories16

Als Enterprise-Nutzer möchte ich

eine Email verfassen

Als Enterprise-Nutzer möchte ich

einen Betreff eingeben

Als Enterprise-Nutzer möchte ich einen oder mehrere Empfänger angeben

Als Enterprise-Nutzer möchte ich

die Wichtigkeit setzen können

Als Enterprise-Nutzer möchte ich einen oder mehrere

Empfänger aus meinen Kontakten

wählen

Als Enterprise-Nutzer möchte ich einen Empfänger

eingeben

Page 17: Agile Spezifikation

Mögliche Aufteilungen

• Datengrenzen – Arten von Daten, die die Story unterstützt

• Unterstütze Operationen – Arten von Operationen, die vorgenommen werden können

• Übergreifende Aspekte auslagern – Logging, Fehlerbehandlung, Sicherheit, Styling

• Performanz-Constraints auslagern – „Make it work, then make it faster“

17

Page 18: Agile Spezifikation

In Iterationen aufteilen, nicht in Inkremente18

Page 19: Agile Spezifikation

Abhängigkeiten zwischen Stories

• Zusammenfassen

• Gemeinsame Abhängigkeit in separate Story herausziehen

• Abhängigkeit durch Mehraufwand auflösen

19

Page 20: Agile Spezifikation

Abhängigkeiten zwischen Teams

• Keine Komponententeams, sondern Feature-Teams

• Gemeinsame Bearbeitung in einem Sprint

• Last Resort: Pipelining

20

Page 21: Agile Spezifikation

Wie kommen Details in die Story?

• Gespräch (und dessen Dokumentation)

• Aufteilung in kleinere Stories

• Akzeptanztests

• zusätzliche Artefakte (Design-Skizzen, UI-Richtlinie, Interaktionsdiagramm)

21

Page 22: Agile Spezifikation

Der Weg durchs Backlog22

Page 23: Agile Spezifikation

„Tiefes“ Backlog

Detailed Appropriately

Estimated

Emergent

Prioritized

23

Page 24: Agile Spezifikation

Weiterführende Ansätze zur Strukturierung

• Gojko Adzic: Impact Mapping (Kurz-Einführung: https://prezi.com/fa4fpvhpkkcb/)

• Jeff Patton: User Story Mapping

24

Page 25: Agile Spezifikation

Literatur / Quellen

Roman Pichler: Agiles Produktmanagement mit Scrum

Gojko Adzic: Impact Mapping

Mike Cohn: User Stories

Mike Cohn: Agile Estimation and Planning

Jeff Patton: User Story Mapping

Eric Ries: Lean Startup

25

Page 26: Agile Spezifikation

Vielen Dank für Ihre Aufmerksamkeit [email protected]

26