story maps workshop (german) - dnug bern
DESCRIPTION
Agile Projektentwicklung erfüllt oft nicht die hoch gesteckten Erwartungen aller Beteiligten. Story-Maps und Impact-Maps unterstützen einen wichtigen Mechanismus, der agile Projekte erfolgreich macht und der häufig außer Acht gelassen wird. Der Workshop gibt eine Einführung in das Konzept von Impact Maps und Story Maps, und zeigt deren praktische Anwendung an Hand konkreter Projektbeispiele.TRANSCRIPT
COPYRIGHT, TECHTALK - WWW.TECHTALK.CH
CHRISTIAN HASSA
TECHTALK SOFTWARE AG
EMAIL: [email protected]
TWITTER: @CHRISHASSA
DotNet UserGroup Bern - 5. November 2013
Story MapsLiefern was wirklich zählt
6
Agil –was kommt jetzt?
7
Warum agile Software Entwicklung?
„Satisfy the customerthrough early and continuousdelivery of valuable software.“
Vorhersehbarkeit für BusinessFeingranularer Business Value
Kontinuierliche QualitätZuverlässige Geschwindigkeit
Effiziente Teams
Product Backlog
8
Effizient das Falsche liefern
R1 R2 R3
Water-Scrum-FallFunktionen undZeitplan fixiert
9
Software soll Probleme lösenSuccessful problem solving requires
finding the right solutionto the right problem.
Russell Ackoff, 1974
We fail more often,
because we solve the wrong problemthan because we get thewrong solution to the right problem.
COPYRIGHT, TECHTALK - WWW.TECHTALK.CH
TechTalk auf einen Blick
• Agile Software Entwicklung• Beratung und Umsetzung (Nearshoring)• Standorte: Zürich, Wien, Budapest• Ca. 50 Mitarbeiter• Gegründet: 1993
TechTalk office, Vienna/Austria
11
12
13
14
15
16
AgileAnforderungen
17
• Benutzeranforderungen/-wünsche• Einheit für Priorisierung/Planung
Vermitteln: “Nicht jetzt” – anstatt “Nein”• Mögliche Optionen eines Systems• Erinnerung an eine Diskussion• Verzögerung von Details bis zum letzten
verantwortbaren Moment
Was macht User Stories agil?
18
Impact Mapping
Story Mapping
Specification-By-Example
Warum?Annahmen
Wie?Spezifikation
AcceptanceCriteria
Epics
Deliverables
Impacts
Einfacher vorab zu definieren Schwerer vorab zu definieren
User Activities
User Stories
Examples
Goals
Anforderungsebenen
Feature Injection
1. Hunt the value:Look at Outputs
2. Inject features:From Outputs to Inputs
3. Find examples:Try to break themodel
Code
19
Wann ist ein Projekterfolgreich?
20
Impact Mapping
Warum?Annahmen
Wie?Spezifikation
AcceptanceCriteria
Epics
Deliverables
Impacts
Einfacher vorab zu definieren Schwerer vorab zu definieren
User Activities
User Stories
Examples
Goals
Anforderungsebenen
Code
21
Impact Mapping
From: Gojko Adzic: www.impactmapping.org
Based on:Ingrid Domingues,
Mijo BalicEffect Managing IT
“Impact Mapping helps us plan better!It is collaborative, visual and fast.”
22
Impact MapsGoal
Actors
Impacts
Deliverables
Increase yearly revenue by 3%
Keep market share inblockbuster concerts
Reduce call-center loadfrom blockbuster concerts
Introduce mobile platform forconcert tickets web shop
Mobile phoneshop users
Customers callingto order by phone
Reducebounce
rate
Orderblockbuster
tickets
Hang-upto orderonline
Static info onblockbuster concerts
Order one particularblockbuster concert
Announcementfor mobile order
possibility
23
Influence
Control
Goal
Actors
Impacts
Deliverables
Influence vs. ControlReduce accidents
by 50% at cross-roads
Car drivers
pay moreattention
driveslower
put upstop sign
put upspeed limit
transform toround-about
24
Influence
Control
Goal
Actors
Impacts
Deliverables
Scaling agile principles
Test Goals and Impactsas early and as often as possible• Scale: what to measure• Meter: how to measure• Range: Benchmark, Constraint, Target
Define roadmap of goals
Smaller deliverable slices to productionEasier to parallelizeAcross systems and departmentsPrioritized with business sponsors
25
Definition von Zielen
• Scale: What to measure• (Alternative scales to consider)
• Meter: How to measure• (Different options how to meter)
• Levels• Benchmark: Current Situation• Constraint: Break-Even for
Investment, Minimum Acceptable Result
• Target: Desired Result• (Further possible levels: Trend, Fail,
Record, Survival)
% of blockbuster concerttickets ordered
through call center
Reduce call-center loadfrom blockbuster concerts
shop system
60%
<40%
<20%
Tom Gilb: Competitive Engineering, PLANGUAGE
29
Übung
34
OnConcert – Live Tickets onlineOnline-
Werbeumsatz erhöhen
Mobile Device
AnwenderBleiben auf
WebsiteKommen öfter
auf die Website
Beginnen Website zu
nutzen
Klicken öfter auf Banner Werbung
Mobile Website
Nächste Konzerte in
Bern
35
OnConcert – nach 3 MonatenOnline-
Werbeumsatz erhöhen
Mobile Device
AnwenderBleiben auf
WebsiteKommen öfter
auf die Website
Beginnen Website zu
nutzen
Klicken öfter auf Banner Werbung
Mobile Website
Nächste Konzerte in
Bern
Bounce Rate reduziertvon 90% auf 30%
36
Aufgabe: weitere PortierungOnline-
Werbeumsatz erhöhen
Mobile Device
AnwenderBleiben auf
WebsiteKommen öfter
auf die Website
Beginnen Website zu
nutzen
Klicken öfter auf Banner Werbung
Mobile Website
Nächste Konzerte in
Bern
Brainstorming weiterer Deliverables
Erweiterung der Map mit Personasund ggf. neuen Impacts
38
Story Maps
39
Story Maps
•Nach Jeff Patton• Benutzerweg
durch das System•Überblick über
Backlog•Unterstützen
Zusammenarbeit undRelease Planung
40
Story Map StrukturMobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
Erfährt von Konzert
Kauft sobald
verfügbar
Wartet auf Konzert
Besucht Konzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
WahrscheinlicheReihenfolge vonEreignissen
Pri
ori
tät
41
WalkingSkeleton
Priorisierung vonScheiben
Erfährt von Konzert
Kauftsobald
verfügbar
Wartet auf Konzert
BesuchtKonzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
Pri
ori
tät
Aus-gelassen
Manuellerworkarnd
Mobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
WahrscheinlicheReihenfolge vonEreignissen
42
Scheiben pro Impact/Deliverable
Erfährt von Konzert
Kauftsobald
verfügbar
Wartet auf Konzert
BesuchtKonzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
Pri
ori
tät
Mobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
WahrscheinlicheReihenfolge vonEreignissen
44
Übung:Story Maps
Aufbau
45
Rahmen für MapMobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
• Entscheidung für ein oder mehrere Personas
• Auswahl der Impacts und Deliverables aus Impact Map für die gewählten Personas
46
Map aufbauenMobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
WahrscheinlicheReihenfolge vonEreignissen
• User Stories brainstormen (jeder für sich)• Gruppierung der Stories auf Zeitachse• Silent Affinity Mapping (ähnliche, Variationen, …)
47
BenutzeraktivitätenMobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
Erfährt von Konzert
Kauft sobald
verfügbar
Wartet auf Konzert
Besucht Konzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
WahrscheinlicheReihenfolge vonEreignissen
• Beschreibung der Benutzeraktivitäten für jede Gruppe von User Stories• Was versucht der Benutzer außerhalb des Systems zu erreichen?
• In welcher Situation sind diese Stories relevant?
• Erzählen Sie eine User Journey an Hand der Benutzeraktivitätenvon links nach rechts
48
Priorisierungund
Releaseplanung
49
Beispiel: eVoting
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
50
Sprint 1
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
51
Sprint 2
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
52
Sprint 3
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
53
Nicht umgesetzte User Stories
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
54
Hinzugekommene User Stories
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
55
Sprint 4
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
56
Flexibler Umfang
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Bereitstellung und Support
Bewerbung als Kandidat
Stimmabgabe und Auswertung
57
Projekt erfolgreich?Breiter
legitimierterStiftungsrat
Mehr KandidatenHöhere WahlbeteiligungKeine “Stillen” Wahlen
Kandidat WählerFonds-mgmt
Mehr Kandidaten bewerben
sich zur Wahl
Mehr Wähler nehmen an
der Wahl teil
Gleich viel/weniger Aufwand
Online Bewerbung
Online Kandidaten-
liste
Online Stimmabgabe
Gemeinsame Checkliste
Geringere Kosten für
Abwicklung
Geringere ext. KostenWeniger AufwandZusatzeinnahmendurch Abwicklungfür andere
Andere Fonds
Verwenden System f. eigene Wahlen
AnpassbaresLayout/Design
Mandaten-fähigkeit
• Anzahl Kandidaten:67 -> 368
• ca. 70kEUR Einsparungenfür Druck, Porto, Scan
• Wahlhelfer: 14 -> 4
59
ÜbungPriorisierung
60
PriorisierungMobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
Erfährt von Konzert
Kauft sobald
verfügbar
Wartet auf Konzert
Besucht Konzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
WahrscheinlicheReihenfolge vonEreignissen
Pri
ori
tät
61
WalkingSkeleton
Priorisierung
Erfährt von Konzert
Kauftsobald
verfügbar
Wartet auf Konzert
BesuchtKonzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
Pri
ori
tät
Aus-gelassen
Manuellerworkarnd
Mobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
WahrscheinlicheReihenfolge vonEreignissen
• Wählen Sie (ein) Deliverable für die erste Release• Priorisieren Sie die Stories pro Benutzeraktivität• Scheiben für: “Walking Skeleton” und “Minimum Viable Product”
62
Schneiden von User Stories
Milestone 1
Milestone 3
Milestone 4
63
Roadmap
Milestone 1 Milestone 2
Milestone 3
Milestone 4
64
WalkingSkeleton
Verfeinern
Erfährt von Konzert
Kauftsobald
verfügbar
Wartet auf Konzert
BesuchtKonzert
Liste nächster Konzerte
Zusätzliche Infos zu Künstler
Bezahlung mit
Kreditkarte
Bestellung auf
Rechnung
Papierticket drucken
Ticket über NFC
validieren
Neuigkeiten zum Konzert
Pri
ori
tät
Aus-gelassen
Manuellerworkarnd
Mobiles GerätBenutzer
Bestellt BlockbusterTickets
Bleibt aufWebsite
Statische Informationüber Konzerte in Bern
Bestellmöglichkeitfür ein Konzert
WahrscheinlicheReihenfolge vonEreignissen
• Verfeinern Sie die Stories für die ersten 1-2 Sprints
• Erzeugen Sie Wireframes entlang der User Journey
65
Tipps für die Praxis
66
Werkzeuge zur Erstellung
67
Erarbeitung von Story Maps
68
Von den Ergebnissen zu den Eingaben
Ergebnisse:• Kandidaten akzeptieren und bestätigen• Elektronische Publikation der Kandidatenprofile• Stiftungsrat über elektronische Wahl ermitteln• Wahlsystem für andere Organisationen als Service zur Verfügung stellen
69
Gruppierung von Features
70
Transport und Konservierung
71
Produktdesign mit Story Maps
72
Gemeinsames Verständnis
75
“Living Documentation”
76
Verknüpfung mit ALM
Refinement fürSprint Planung
Link mit Sprint Backlog(Tasks, Taskboard, Burndown)
Detailspezifikationen(Specification-By-Example)
77
User Stories vs. Features
Product/Sprint Backlog
User Story 1AccCrit 1
AccCrit 2
User Story 2AccCrit 3
AccCrit 4
Lebende Dokumentation
Feature 1
AccCrit 1
AccCrit 2
Feature nAccCrit 4
AccCrit mUser Story n
AccCrit 5
AccCrit m
AccCrit 3AccCrit 5
„Done“
• Zukünftige Optionen des Systems• Organisiert/verfeinert nach
Priorität, Nutzen, Aufwand, Risko, ...• Nächste mögliche Erweiterungen
des Produkts (Arbeitspakete)
• Aktueller Zustand des Systems• Organisiert/verfeinert nach
funktionalen Überblick• Versioniert und verwaltet
gemeinsam mit Source Code
78
Zusammenfassung
• User Stories: Agile (=flexible) Anforderungen• Mögliche Optionen einer Lösung• Verzögerung von Details
• Story Maps: Optimieren Lösungsweg• Schnellere Einschätzung und Minimierung von Risiken• Unterstützen Zusammenarbeit und Releaseplanung• Struktur für Produktdokumentation
• Impact Maps: Optimieren Lösungsoptionen• Mehr Experimente in kürzerer Zeit• Feingranulare Priorisierung des Portfolios• Evaluierung auf Basis von messbaren Zielen
79
Agile Fluency
KontinuierlicheOptimierungder Lösung
Impact MappingStory Mapping
80
Mehr zum Thema …
Gojko AdzicImpact Mapping
Product Owner Survival Camp20.-21. Januar in LondonmitGojko Adzic, Chris Matts,David Evans, Christian Hassa
www.productownersurvivalcamp.com
COPYRIGHT, TECHTALK - WWW.TECHTALK.CH
COPYRIGHT, TECHTALK - WWW.TECHTALK.CHChristian Hassa: [email protected] - @chrishassa