Upload
phungtram
View
213
Download
0
Embed Size (px)
Citation preview
© 2015 andrena objects ag
Product Canvas
8. Projektmanagement-Tag
GPM Region Karlsruhe
3. Juli 2015
Benjamin Seidler, Mustafa Yilmaz
Werkzeugkasten und Tools für den Agilen Requirements Engineer
© 2015 andrena objects ag
Experts in agile software engineering 3
Benjamin Seidler Mustafa Yilmaz
www.andrena.de
© 2015 andrena objects ag
Agile Requirements Engineering 5
Agenda
• Agiles Requirements Engineering
• Business Model Canvas
• Produktvision
• Rollen, Personas und Szenarien
• User Stories & Epics
• Design-Entwürfe & Nichtfunktionale Anforderungen
Werkzeugkasten Product Canvas
© 2015 andrena objects ag
• Specification by Example / Automatisierte Akzeptanztests
• Refinement & Product Backlog
• Zerlegen von User Stories
• Agiles Schätzen
• Priorisieren
• Story Maps
• Velocity & Release Planung
• Impact Mapping
Agile Requirements Engineering 6
Weitere Werkzeuge
© 2015 andrena objects ag
Agile Requirements Engineering 8
Was ist Requirements Engineering (RE) ein systematischer und disziplinierter Ansatz zur Spezifikation und zum Management von Anforderungen mit den folgenden Zielen:
1. Die relevanten Anforderungen zu kennen, Konsens unter den Stakeholdern über die Anforderungen herzustellen, die Anforderungen konform zu vorgegebenen Standards zu dokumentieren und die Anforderungen systematisch zu managen.
2. Die Wünsche und Bedürfnisse der Stakeholder zu verstehen, zu dokumentieren sowie die Anforderungen zu spezifizieren und zu managen, um das Risiko zu minimieren, dass das System nicht den Wünschen und Bedürfnissen der Stakeholder entspricht.
Definition: International Requirements Engineering Board (IREB)
© 2015 andrena objects ag
Agile Requirements Engineering 10
Prinzipien hinter dem Agilen Manifest
1. Unsere höchste Priorität ist es, den Kunden durch frühe und
kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.
2. Anforderungsänderungen selbst spät in der Entwicklung willkommen
heißen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil
des Kunden.
6. Die effizienteste und effektivste Methode, Informationen an und
innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von
Angesicht zu Angesicht.
© 2015 andrena objects ag
Agile Requirements Engineering 11
Das Projektmanagementdreieck
Vom planbasierten zum nutzwertbasierten Ansatz
Plan-basiert
Wert- basiert
Umfang
Dauer Kosten
Dauer Kosten
Umfang (durch Priorisierung)
festgelegt
geschätzt
Nach: Dean Leffingwell: Agile Software Requirements
11
© 2015 andrena objects ag
Agile Requirements Engineering 12
Empirischer bzw. agiler Ansatz
• Iterativ, inkrementell, Just in Time.
• Überprüfen und Anpassen, Selbstorganisation
Scrum SPRINT
≤ 30 Tage 1 Tag
Product Backlog
Sprint Backlog
Product Increment
© 2015 andrena objects ag
Agile Requirements Engineering 14
Agile Requirements Engineering – was muss es leisten?
• Wert-/Nutzenorientierung
• Iterativ und inkrementell
• Anforderungen Just-in-time
• Direkte Kommunikation
© 2015 andrena objects ag
Agile Requirements Engineering 18
Business Model
• Geschäftsmodelle beschreiben, wie eine Organisation bzw. ein Unternehmen Mehrwert für Kunden erzeugt und einen Ertrag für die Organisation sichern kann.
• Geschäftsmodelle helfen, die Schlüsselfaktoren des Unternehmenserfolges oder -misserfolges zu verstehen, zu analysieren und zu kommunizieren.
© 2015 andrena objects ag
Agile Requirements Engineering 19
Business Model Canvas
Eine Methode zur Visualisierungen von Geschäftsmodellen
• Erarbeitung eines Geschäftsmodells für eine Firma, ein Produkt oder einen Service.
• Strukturierung der wesentlichen Fragen eines Geschäftsmodells und seiner Abhängigkeiten.
• Konzentration auf die Stärken und damit den Wert, der sich mit dem Geschäftsmodell generieren lässt.
http://fa.ltings.de/geschaeftsmodelle-visualisieren/
© 2015 andrena objects ag
Agile Requirements Engineering 20
Business Model Canvas
• Erleichtert die Erfassung gesamter Geschäftsmodelle
• Hilft dabei, stillschweigende Annahmen in eindeutige Informationen zu verwandeln.
• Geschäftsideen werden greifbar und erlauben eine zielführende, klare Diskussion und Anpassungen.
• Die Visualisierung haucht jedem Geschäftsmodell Leben ein und erleichtert die gemeinsame Ideenfindung.
http://fa.ltings.de/geschaeftsmodelle-visualisieren/
© 2015 andrena objects ag
Agile Requirements Engineering 21
Quelle: http://www.businessmodelgeneration.com
© 2015 andrena objects ag
Agile Requirements Engineering 27
Produktidee (Beispiel): Shirt-Creator
• Firma verkauft bereits T-Shirts, Polo-Shirts, …
• Bisher werden nur feste Varianten davon angeboten
• Idee: Individuell konfigurierbare Varianten (bedruckbar) Personalisierte, qualitativ hochwertige Shirts
• „Konfigurator“ für die Bestellseite
© 2015 andrena objects ag
Agile Requirements Engineering 30
Produktplanung: Von der Erhebung bis zur Umsetzung
Vision Übergeordnete Ziele
Personas & Szenarien
Epen & User Stories
Product Backlog
Releaseplan (Strategie)
Sprintplan (Taktik)
Refinement
© 2015 andrena objects ag
Agile Requirements Engineering 34
Das Product Canvas
Name Metriken
Zielgruppe:
• Rollen • Personas
„Big Picture“:
• Szenarien • Epen / User Stories • Design-Skizzen • Einschränkungen /
NFAs
Product Details:
• Sprintziele • „Ready“
Stories
Vision / Ziel
© 2015 andrena objects ag
Agile Requirements Engineering 36
Produkt Vision
• Kurz und prägnant
• Emotional und mitreißend
• Sichtbar als Text oder Bild
Vis ion Für wen? Was? Wie? Besser a ls?
© 2015 andrena objects ag
Agile Requirements Engineering 38
Vision (Beispiel)
Mit dem Shirt-Creator können modebewusste Individualisten mit selbstgestalteten hochwertigen Shirts auffallen.
Kunde: Reseller, Designer, Individualisten
Bedarf: hochwertiges individuelles Kleidungsstück
Hauptvorteil: Kleinserien für Designer
Produkt: Bedrucken von Shirts für alle
über die Bestellplattform für jeden zugänglich machen.
© 2015 andrena objects ag
Agile Requirements Engineering 39
Formulierung einer Vision
Für Kunde
die Beschreibung des Bedarfs
ist das Produktname
eine Produktkategorie, die Hauptvorteil, Grund dieses Produkt zu kaufen; anders als Alternative des Wettbewerbs
kann unser Produkt Beschreibung des Hauptunterschieds.
© 2015 andrena objects ag
Agile Requirements Engineering 40
Vision (Beispiel)
Für Reseller, Designer und Individualisten, die sich nach hochwertigen individuellen Kleidungsstücken sehnen, ist der Shirt-Creator ein Produktkonfigurator, der es modebewussten Individualisten gestattet, mit selbstgestalteten hochwertigen Shirts aufzufallen.
Im Gegensatz zu vergleichbaren Angeboten steht der Shirt Creator Resellern zur Verfügung und gestattet neben der Auswahl vorgefertigter auch die Verwen-dung und Bereitstellung selbst erstellter Motive.
© 2015 andrena objects ag
Agile Requirements Engineering 42
Stakeholder
• Stakeholder sind alle Menschen, die von Entwicklung, Einsatz und Betrieb des Systems betroffen sind (Projektbetroffene)
• Alle mit Einfluss auf die Anforderungen
• Anforderungen/Bedürfnisse aus Nutzersicht Kundennutzen (in den Nutzer hineinversetzen)
• Ein vergessener Stakeholder ist eine vergessene Anforderung
• Stakeholder identifizieren und mit ihren Rollen dokumentieren
© 2015 andrena objects ag
Agile Requirements Engineering 43
Rollen (Beispiele)
Kunden
Designer
Reseller Bestands- kunde
Admin
Neu- kunde Auftrags-
bearbeitung
Händler
Marketing
Support
© 2015 andrena objects ag
Agile Requirements Engineering 44
Personas
• Personas sind am lebenden Menschen orientierte, imaginierte Personen, die unsere Produkte benutzen.
• Sie stehen stellvertretend für Mitglieder realer Nutzergruppen.
• Sie erhalten fiktive, persönliche Eigenschaften.
• Sind wirklickkeitsnah.
© 2015 andrena objects ag
Agile Requirements Engineering 45
Personas
• Personas leisten einen wichtigen Beitrag zum besseren Verständnis der Nutzer-Anforderungen.
• Sie helfen, sich in die Situation der Nutzer zu versetzen.
• Sie fokussieren die Entwicklungsarbeiten auf die Ziele und Bedürfnisse der Nutzer (statt auf die der Projektentscheider, oder auf technische Restriktionen).
© 2015 andrena objects ag
Agile Requirements Engineering 46
Vorlage einer Persona
• Name
• Beruf und Position im Unternehmen
• Erscheinungsbild (Foto bzw. Avatar/Skizze oder Beschreibung)
• Berufserfahrung
• Tägliche Aufgaben (auch außerhalb der Applikation)
• Vorlieben und Hobbys, Abneigungen
• Ziele
© 2015 andrena objects ag
Agile Requirements Engineering 47
Persona (Beispiel)
• 33 Jahre, weiblich
• Alternativ, qualitätsbewusst
• Keine Lust auf „Standardmode“
• Kreativ: Basteln, Einrichten, …
• Beruf: Marketing
• Familie, 1 Kind
Ich wünsche mit die Möglichkeit, eigene Shirts zu gestalten. Ideen dazu entwickle ich selbst und meide Standardmode.
Lisa
© 2015 andrena objects ag
Agile Requirements Engineering 48
Rollen und Personas
• Keine allgemeinen Begriffe wie „Nutzer“ oder „Kunde“.
• Möglichst konkret:
• Konkretes Individum
• Persona
• Rolle oder Jobtitel
• Gruppe oder Abteilung
© 2015 andrena objects ag
Agile Requirements Engineering 50
Szenarien
• Realistisches Beispiel, wie ein Benutzer mit dem geplanten System interagieren wird.
• Einfache Sätze beschreiben einen konkreten Ablauf aus Benutzersicht.
• Inhaltlich richtige Aussagen sind wichtiger als formale Korrektheit.
© 2015 andrena objects ag
Agile Requirements Engineering 51
Szenarien
• Motivation: den Benutzer verstehen.
• Szenarien können iterativ oder zusammen mit den Benutzer erarbeitet werden.
• Die Reflektion am konkreten Beispiel erlaubt es Auftraggebern und Benutzern, Anforderungen in der konkreten Anwendungssituation zu vergegenwärtigen, zu überprüfen und zu ergänzen.
• Gute Grundlage für den Entwurf von User Stories.
© 2015 andrena objects ag
Agile Requirements Engineering 52
Szenarien (Beispiel)
20:00 Uhr Abends, Lisa ist zu Hause und surft im Internet
Lisa hat eine gute Idee für ein individuelles Shirt
Sie ruft den Shop auf und sucht sich mehrere Shirts aus
Ihr „Design“ lädt sie im Shirt-Creator hoch und betrachtet sich ihre Shirt-Modelle
Sie wählt ein Shirt aus und legt es in den Warenkorb, um es zu kaufen
Zwei Tage später wird ihr das Poloshirt nach Hause geliefert
Lisa, individuelles Shirt erstellen
© 2015 andrena objects ag
Agile Requirements Engineering 53
Weitere Darstellungsformen für Szenarien
• Workflow
• Ereignisgesteuerte Prozesskette (EPK)
• Use Case
© 2015 andrena objects ag
Agile Requirements Engineering 55
Begrifflichkeiten
• Verschiedene Begriffe werden üblicherweise genutzt, um den relativen Umfang einer Anforderung zu beschreiben
• Die Verwendung ist nicht einheitlich geregelt
• Epic bzw. Epos
• Thema / Feature
• User Story
• Task
© 2015 andrena objects ag
Agile Requirements Engineering 56
Epics / grobe User Stories (Beispiele)
• Lisa möchte individuelle Shirts erstellen können
• Als Designer möchte ich meine Designs anderen Benutzern zur kostenpflichtigen Nutzung bereitstellen können.
• Als Kunde möchte ich Unterstützung bei der Text- bzw. Bildgestaltung der Poloshirts (z.B. Transparenz, Farbgestaltung, …).
• Als Shop-Betreiber möchte ich Auswertungen über die Anwendung haben, damit ich die Kundenwünsche besser erfüllen kann.
© 2015 andrena objects ag
Agile Requirements Engineering 57
User Story: Definition
„Eine User Story beschreibt eine Funktionalität, die entweder für einen User oder Käufer […] von Wert ist.“ Mike Cohn, User Stories applied
© 2015 andrena objects ag
Agile Requirements Engineering 58
Format einer User Story
Als Benutzerrolle
will ich das Ziel
so dass Grund für das Ziel
Wer macht was, warum?
© 2015 andrena objects ag
Agile Requirements Engineering 59
User Stories (Beispiele)
Als Kunde Lisa möchte ich eine Vorschau angezeigt bekommen, damit ich einen Eindruck des Poloshirts erhalte.
Der Käufer möchte hochgeladene Designs speichern können, damit diese später wiederverwendet werden können.
© 2015 andrena objects ag
Agile Requirements Engineering 60
Vorteil von User Stories
Beim Schreiben von User Stories nehmen wir bewusst die Sichtweise des Nutzers bzw. Kunden ein.
Jede User Story zielt darauf ab, den Nutzer bzw. Kunden zufriedener zu machen.
© 2015 andrena objects ag
Agile Requirements Engineering 62
Card, Conversation, Confirmation
User Stories bedeuten, miteinander zu sprechen und zu wissen, wann ein Anforderung umgesetzt ist.
Product Owner
Team
Conversation & Confirmation
© 2015 andrena objects ag
Agile Requirements Engineering 64
Confirmation durch Akzeptanzkriterien
• „Überprüfbare“ Anforderungen
• Gemeinsam erstellt vom Scrum-Team und den Stakeholdern
• Legen fest, ob ein Feature fertig umgesetzt ist
• Bilden die Basis für Akzeptanztests
© 2015 andrena objects ag
Agile Requirements Engineering 65
Akzeptanzkriterien (Beispiele)
Als Kunde möchte ich Bilder hochladen, um diese in meinen Designs zu verwenden. Akzeptanzkriterien: • Der Kunde kann ein Bild auswählen und hochladen. • Die Webshop zeigt das hochgeladene Bild in der Liste verfügbarer
Bilder für Designs an. • Wählt ein Kunde ein anderes Format als JPG und PNG aus, wird
eine Fehlermeldung angezeigt. • Bei Dateien größer als 2 MB wird eine Fehlermeldung angezeigt.
© 2015 andrena objects ag
Agile Requirements Engineering 67
Akzeptanztest
Ein Akzeptanztest ist ein Ablauf, wie die Akzeptanzkriterien überprüft werden kann.
Besteht aus:
• Vorbedingungen
• Ablauf eines Szenarios / Beispiels
• Nachbedingungen bzw. erwartetes Ergebnis
© 2015 andrena objects ag
Agile Requirements Engineering 68
Akzeptanztest (Beispiel)
Als Kunde möchte ich Bilder hochladen, um diese in meinen Designs zu verwenden.
Akzeptanztest: Vorbedingung: Bild test.PNG auf Kundenrechner 1. Der Kunde wählt „Bild hochladen“. 2. Der Browser öffnet den Dateiauswahldialog. 3. Der Kunde wählt Bild test.PNG aus und wählt „Öffnen“ 4. Der Webshop lädt das ausgewählte Bild hoch. Nachbedingung: Der Webshop zeigt das hochgeladene Bild in der Liste verfügbarer Bilder für Designs an.
© 2015 andrena objects ag
Agile Requirements Engineering 70
User Stories in Kürze
• De-facto Standard für agiles Anforderungsmanagement
• Kurze Beschreibung der Anforderung aus Benutzersicht
• Details werden per Konversation ausgearbeitet und in den Akzeptanzkriterien festgehalten
© 2015 andrena objects ag
Agile Requirements Engineering 72
Design-Entwürfe
• Skizzen
• Wireframes / Mockups
• Ablaufbäume/ -diagramme
© 2015 andrena objects ag
Agile Requirements Engineering 74
Nicht funktionale Anforderungen (NFA)
• Performance
• Sicherheit
• Wartbarkeit
• Wiederverwendbarkeit
• Verfügbarkeit
• Datenschutz
• …
© 2015 andrena objects ag
Agile Requirements Engineering 75
Definition of „Done“
Sorgt für ein gemeinsames Verständnis, ob eine Arbeit abgeschlossen ist.
Was muss alles getan werden, damit eine Story als „fertig“ angesehen wird?
„Done“ – Es ist nichts mehr zu tun!
© 2015 andrena objects ag
Agile Requirements Engineering 77
Das Product Canvas
Name Metriken
Zielgruppe:
• Rollen • Personas
„Big Picture“:
• Szenarien • Epen / User Stories • Design-Skizzen • Einschränkungen /
NFAs
Product Details:
• Sprintziele • „Ready“
Stories
Vision / Ziel
© 2015 andrena objects ag
Agile Requirements Engineering 80
Weitere Werkzeuge
Welche Themen interessieren Sie am meisten?
1. Specification by Example
2. Refinement & Backlog
3. Zerlegen von User Stories
4. Agiles Schätzen
5. Priorisieren
6. Story Maps
7. Velocity & Release Planung
8. Impact Mapping
© 2015 andrena objects ag
Agile Requirements Engineering 83
Häufige Probleme
• Anforderungen sind unklar oder mehrdeutig
• Anwender und Entwickler sprechen unterschiedliche
Sprachen
• Domänen-Experten können keine Unit Tests schreiben bzw.
überprüfen
• Die Dokumentation ist bei Änderungen am Produkt nicht
mehr aktuell
© 2015 andrena objects ag
Agile Requirements Engineering 84
Idee
• Konkrete Beispiele beschreiben das Verhalten
• Gemeinsame domänenspezifische Sprache verbessert die
Kommunikation
• Ausführbare Beispiele als „Lebende Dokumentation“
© 2015 andrena objects ag
Agile Requirements Engineering 85
Specification by Example
beschreiben prüfen
Beispiele Tests
Anforderungen
erzeugen
Quelle: Gojko Adzic
© 2015 andrena objects ag
Agile Requirements Engineering 86
Vorteile
• Bessere Zusammenarbeit der verschiedenen Rollen
• Besseres gemeinsames Verständnis der Anforderungen
• Automatisiertes Testen der fachlichen Anforderungen möglich
• Dokumentation passt zum Produkt (Living Documentation)
© 2015 andrena objects ag
Agile Requirements Engineering 87
Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic
© 2015 andrena objects ag
Agile Requirements Engineering 88
Spezifikation mit Beispielen
1. Use Context: Als ein _ will ich, _ so dass _
2. Allgemeine Regeln des Features
3. Beispiele zu den Regeln
• Präzise, testbar, selbsterklärend
• Geschäftsfunktionalität, in Domänensprache
• „Was“, nicht „Wie“
• Weitere Fälle lassen sich ableiten
• Given - When - Then Sprache
© 2015 andrena objects ag
Agile Requirements Engineering 91
Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic
© 2015 andrena objects ag
Agile Requirements Engineering 92
Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic
© 2015 andrena objects ag
Agile Requirements Engineering 93
Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic
© 2015 andrena objects ag
Agile Requirements Engineering 94
Werkzeuge für die Automatisierung
http://cukes.info/
http://fitnesse.org/
http://robotframework.org/
© 2015 andrena objects ag
Agile Requirements Engineering 98
Product Backlog
• Enthält alle Anforderungen (Backlog Items)
• Geordnet und geschätzt
• Grundlage für die Releaseplanung
• Kommunikationsgrundlage
• Verantwortet durch Product Owner SPRINT
≤ 30 Tage 1 Tag
Product Backlog
Sprint Backlog
Product Increment
© 2015 andrena objects ag
Agile Requirements Engineering 99
Eisberg der Anforderungen
… als nächstes umsetzen
… danach umsetzen
… später umsetzen
Priorität
© 2015 andrena objects ag
Agile Requirements Engineering 101
Refinement
„Als Verfeinerung [Refinement] des Product Backlogs wird der Vorgang angesehen, in dem Details zu Einträgen hinzugefügt, Schätzungen erstellt, oder die Reihenfolge der Einträge im Product Backlog bestimmt werden. Die Verfeinerung ist ein kontinuierlicher Prozess, in dem der Product Owner und das Entwicklungsteam gemeinsam die Product Backlog-Einträge detaillieren. „ (Scrum Guide)
© 2015 andrena objects ag
• Überprüfen
• Überarbeiten
• Priorisieren
• Analysieren & Klären
• Zerlegen
• Schätzen
Agile Requirements Engineering 102
Refinement
Product Backlog
Product Backlog Items
Die Verfeinerung des Product Backlog ist ein kontinuierlicher Prozess.
Das Entwicklungsteam wendet dafür bis zu 10% der Sprintzeit auf.
© 2015 andrena objects ag
Aktueller Sprint
UserStory
UserStory
UserStory
UserStory
UserStory
UserStory
UserStory
UserStory
UserStory
Nächster Sprint
UserStory
UserStory
Spike
UserStory
UserStory
UserStory
UserStory
UserStory
Nächster nächster Sprint
UserStory
UserStory
UserStory
UserStory. PO clarification
UserStory
UserStory
Sprint 4 -8
UserStory
UserStory
UserStory
Agile Requirements Engineering 103
Iterative Detailierung
© 2015 andrena objects ag
Agile Requirements Engineering 105
Refinements - Ziele
• Kleine und gut verstandene Backlog Items für die nächsten Sprints („Ready“)
• Verstandene Backlog Items bis zum nächsten Release
• Geschätztes und geordnetes Backlog
• Entwickeln und Anpassen des Release Plans
© 2015 andrena objects ag
Agile Requirements Engineering 110
Gründe für das Zerlegen
• User Stories müssen in einem Sprint fertigzustellen sein.
• Kleinere User Stories lassen sich besser schätzen.
• Kleinere User Stories gestatten eine detailliertere Priorisierung.
© 2015 andrena objects ag
Teilaufgaben
Schneiden anhand von Unteraufgaben wie Analyse, Implementierung, Tests etc.
Hinterlässt kein inspizierbares und bewertbares Softwareinkrement.
Schichten
Schneiden anhand von Architektur-schichten wie Datenhaltung, Applika-tionslogik und Nutzerschnittstelle.
Hinterlässt kein inspizierbares und bewertbares Softwareinkrement.
Besser „Durchstich“ mit wenig Funktionalität.
Agile Requirements Engineering 112
Negativ-Beispiele
© 2015 andrena objects ag
Agile Requirements Engineering 113
Zerlegen von User Stories
1. Workflow-Schritte
2. Variation der Geschäftsregeln
3. Größter Aufwand
4. Komplexität
5. Datenvariation
6. Schnittstellenvariation
7. Nachlagern von NFRs
8. Operationen
9. Spike herausbrechen
Etablierte Muster für das Zerlegen von User Stories
http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/
© 2015 andrena objects ag
Agile Requirements Engineering 123
Praxistipps
• Geeignete Methode zum Zerlegen verwenden
• In wichtigere und weniger wichtige User Stories zerlegen
• Stories nicht in Taskgröße zerlegen
• Ein Spike ist die letzte Möglichkeit
• Stories in einem Sprint umsetzbar
Stories besser schätzbar
Detaillierter zu priorisieren
http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/
© 2015 andrena objects ag
Agile Requirements Engineering 126
Agiles Schätzen
• „Nur“ eine Schätzung!
• Entwicklungsteam schätzt
• Schätzen der Größe
• Abstrakte Einheit: Story Points
• Relatives Schätzen (Referenz)
• Nichtlineare Skala: 1, 2, 3, 5, 8, 13, 20, 40, 100
S L M
© 2015 andrena objects ag
Agile Requirements Engineering 130
Magic Estimation
• Schätzwerte ausgelegt
• Keine Kommunikation!
• Reihum: 1. Neue Story nehmen & auslegen (schätzen) 2. Oder Story umlegen
• Mehrfach umgelegte Stories raus
1 2 3 5 8 13 20
© 2015 andrena objects ag
Agile Requirements Engineering 132
Planning Poker
• Jeder Planning-Pokerkarten
• Diskussion der User Story
• Jeder wählt eine Karte
• Karten gleichzeitig aufdecken
• Unterschiede diskutieren
• Dann ggf. erneut schätzen
© 2015 andrena objects ag
Agile Requirements Engineering 136
Mögliche Einflüsse auf die Priorisierung
• Aufwand
• Nutzen, Geschäftswert
• Risiko (z.B. Risikomatrix)
• Abhängigkeiten
• Cost of Delay (COD) (Kosten einer späteren Umsetzung)
© 2015 andrena objects ag
Agile Requirements Engineering 137
Priorisierungsmöglichkeiten
• Kano-Modell (siehe nächste Folie)
• Rangliste / Direkter Vergleich
• Sortierung / Ping-Pong-Bälle
• „Bauchgefühl“
MVP (Minimum Viable Product)
© 2015 andrena objects ag
Agile Requirements Engineering 138
Kano-Modell
Erfüllungsgrad
Zufriedenheit
Leistungsfaktoren
Basisfaktoren
Begeisterungsfaktoren
Kreativitätstechniken
Beobachtung
© 2015 andrena objects ag
Agile Requirements Engineering 141
Story Map
“Lauffähiges
Gerippe”
“Rückgrat”
R1
R2
R3
Prioritä
t
© 2015 andrena objects ag
Agile Requirements Engineering 146
Release Planning
Velocity Ein guter Releaseplan erfordert eine bekannte Velocity.
Backlog Ein guter Releaseplan erfordert ein geordnetes und geschätztes Backlog.
© 2015 andrena objects ag
Das Produkt wird zu einem bestimmten Datum released.
“Wie viel des Product Backlog wird an einem bestimmten Datum fertig sein?”
Das Produkt wird released, wenn bestimmte Features fertig sind.
“Wann wird Feature A, B und C fertig sein?”
Basistypen der Release Planung
Feature Target Planning Date Target Planning
147 Agile Requirements Engineering 147
© 2015 andrena objects ag
Agile Requirements Engineering 149
Velocity
Die Velocity beschreibt die Geschwindigkeit, mit der das Entwicklungsteam Product Backlog Items pro Sprint abarbeitet.
© 2015 andrena objects ag
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9
Sto
ry P
oin
ts
Sprint
Agile Requirements Engineering 150
Planung mit Velocity
Bester Fall: Top 3 =>
Ø 23
Wahrschein-lichster Fall: Mittlere 3
Ø 19
Schlechtester Fall:
Unterste 3 Ø 14
© 2015 andrena objects ag
152
Wann wird Feature A wahrscheinlich
geliefert?
Agile Requirements Engineering
6 Wochen
Product Backlog
Größe: 1
Größe: 20
Größe: 13
Größe: 20
Größe: 3
Größe: 5
Größe: 13
Größe: 8
Größe: 3
Größe: 3
Größe: 13
A
Agile Requirements Engineering
• Mittlere Team Velocity = 32
• Sprint Länge= 2 Wochen
© 2015 andrena objects ag
153
Was wird in 8 Wochen alles
geliefert?
Agile Requirements Engineering
Product Backlog
Größe: 13
Größe: 2
Größe: 13
Größe: 1
Größe: 8
Größe: 5
Größe: 13
Größe: 3
Größe: 5
Größe: 2
Größe: 8
Das Alles
Agile Requirements Engineering
• Mittlere Team Velocity = 16
• Sprint Länge= 2 Wochen
© 2015 andrena objects ag
Agile Requirements Engineering 154
Release Burndown
Features Heute
Zeit
Fertigstellung
Velocity: tatsächliche beste durchschnittliche schlechteste
© 2015 andrena objects ag
Agile Requirements Engineering 158
Impact Map
• Gemeinsam erstellt von Fachabteilung und Entwicklung
• Mind-Map aus der Diskussion um die vier Fragen Warum? Wer? Wie? Was?
• Visualisierung von Scope und zugrundeliegenden Annahmen Annahmen tranparent machen und in Frage stellen
• Ausrichtung aller Aktivitäten auf die Business Ziele Bessere strategische Planung
© 2015 andrena objects ag
Agile Requirements Engineering 160
Aufbau einer
Impact Map
Warum?
Wer?
Wie? Was?
…
Wie? …
Wer?
Wie? Was?
…
Wie? …
Ziel Person Effekt Feature
© 2015 andrena objects ag
Agile Requirements Engineering 161
Warum?
Wer?
Wie?
Was?
Quelle: http://impactmapping.org
© 2015 andrena objects ag
Agile Requirements Engineering 164
Impact Map
(Beispiel)
Shirt Verkauf verdoppeln
Kunde
Für Freunde bestellen
Mehrere Adressen
Geschenk-verpackung
Größere Bestellungen
Mengenrabatt
Spontankäufe
Top 10 Designs anpreisen
Rabatt-Aktion
Designer Designs für
Freunde Eigene Designs
teilen
Ziel Person Effekt Feature
© 2015 andrena objects ag
Agile Requirements Engineering 165
Impact Map
• Alles unterstützt das Ziel! (wenn die Annahmen stimmen)
• Mapping von Features auf Ziele
• Scope und Annahmen visualisiert
• Überprüfen der Annahmen möglich
• Konzentrieren auf einzelne Zweige möglich
© 2015 andrena objects ag
• Agiles Requirements Engineering
• Business Model Canvas
Werkzeugkasten Product Canvas • Produktvision
• Rollen und Personas
• Szenarien
• User Stories & Epics
• Design-Entwürfe
• Nichtfunktionale Anforderungen
Weitere Werkzeuge • Specification by Example
• Refinement & Product Backlog
• Zerlegen von User Stories
• Agiles Schätzen
• Priorisieren
• Story Map
• Velocity & Release Planung
• Impact Mapping
Agile Requirements Engineering 168
Zusammenfassung
© 2015 andrena objects ag
andrena objects ag
Albert-Nestler-Straße 9
76131 Karlsruhe
Tel. + 49 (0) 721 6105 122
Weitere Standorte:
• Frankfurt
• München
• Stuttgart
www.andrena.de
Experts in agile software engineering 170