Product Canvas
Transcription
Product Canvas
Product Canvas Werkzeugkasten und Tools für den Agilen Requirements Engineer 8. Projektmanagement-Tag GPM Region Karlsruhe 3. Juli 2015 Benjamin Seidler, Mustafa Yilmaz © 2015 andrena objects ag 3 Experts in agile software engineering www.andrena.de [email protected] Benjamin Seidler © 2015 andrena objects ag Mustafa Yilmaz 5 Agile Requirements Engineering Agenda • Agiles Requirements Engineering • Business Model Canvas Werkzeugkasten Product Canvas • • • • Produktvision Rollen, Personas und Szenarien User Stories & Epics Design-Entwürfe & Nichtfunktionale Anforderungen © 2015 andrena objects ag 6 Agile Requirements Engineering Weitere Werkzeuge • • • • • • • • Specification by Example / Automatisierte Akzeptanztests Refinement & Product Backlog Zerlegen von User Stories Agiles Schätzen Priorisieren Story Maps Velocity & Release Planung Impact Mapping © 2015 andrena objects ag 7 Agile Requirements Engineering Agile Requirements Engineering © 2015 andrena objects ag 8 Agile Requirements Engineering 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 Agilitätsdreieck © 2015 andrena objects ag 10 Agile Requirements Engineering 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 11 Agile Requirements Engineering Das Projektmanagementdreieck Vom planbasierten zum nutzwertbasierten Ansatz Kosten Umfang festgelegt Planbasiert Dauer Wertbasiert geschätzt Kosten © 2015 andrena objects ag Dauer Nach: Dean Leffingwell: Agile Software Requirements Umfang (durch Priorisierung) 12 Agile Requirements Engineering Empirischer bzw. agiler Ansatz • Iterativ, inkrementell, Just in Time. • Überprüfen und Anpassen, Selbstorganisation Scrum SPRINT 1 Tag ≤ 30 Tage Sprint Backlog Product Backlog © 2015 andrena objects ag Product Increment 14 Agile Requirements Engineering Agile Requirements Engineering – was muss es leisten? • • • • Wert-/Nutzenorientierung Iterativ und inkrementell Anforderungen Just-in-time Direkte Kommunikation © 2015 andrena objects ag 16 Agile Requirements Engineering Werkzeuge des Agilen RE © 2015 andrena objects ag 17 Agile Requirements Engineering Business Model Canvas © 2015 andrena objects ag 18 Agile Requirements Engineering 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 19 Agile Requirements Engineering 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 20 Agile Requirements Engineering 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 21 Agile Requirements Engineering © 2015 andrena objects ag Quelle: http://www.businessmodelgeneration.com 22 Agile Requirements Engineering © 2015 andrena objects ag 23 Agile Requirements Engineering © 2015 andrena objects ag 24 Agile Requirements Engineering © 2015 andrena objects ag 25 Agile Requirements Engineering © 2015 andrena objects ag 26 Agile Requirements Engineering © 2015 andrena objects ag 27 Agile Requirements Engineering 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 28 Agile Requirements Engineering Product Canvas © 2015 andrena objects ag 30 Agile Requirements Engineering Produktplanung: Von der Erhebung bis zur Umsetzung Vision Sprintplan Übergeordnete Ziele (Taktik) Personas & Szenarien Releaseplan (Strategie) Epen & User Stories Refinement Product Backlog © 2015 andrena objects ag 34 Agile Requirements Engineering Das Product Canvas Name Vision / Ziel Metriken Zielgruppe: „Big Picture“: • • • • • • Product Details: Rollen Personas © 2015 andrena objects ag Szenarien Epen / User Stories Design-Skizzen Einschränkungen / NFAs • Sprintziele • „Ready“ Stories 35 Agile Requirements Engineering Produktvision © 2015 andrena objects ag 36 Agile Requirements Engineering Produkt Vision • Kurz und prägnant • Emotional und mitreißend • Sichtbar als Text oder Bild © 2015 andrena objects ag Vision F ü r we n ? Wa s ? Wie? Besser als? 37 Agile Requirements Engineering Elevator Elevator Pitch Pitch © 2015 andrena objects ag 38 Agile Requirements Engineering 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 39 Agile Requirements Engineering 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 40 Agile Requirements Engineering 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 41 Agile Requirements Engineering Rollen & Personas © 2015 andrena objects ag 42 Agile Requirements Engineering 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 43 Agile Requirements Engineering Rollen (Beispiele) Kunden Bestandskunde Händler Neukunde Reseller Auftragsbearbeitung Designer © 2015 andrena objects ag Admin Marketing Support 44 Agile Requirements Engineering 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 45 Agile Requirements Engineering 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 46 Agile Requirements Engineering 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 47 Agile Requirements Engineering Persona (Beispiel) Lisa © 2015 andrena objects ag • • • • • • Ich wünsche mit 33 Jahre, weiblich die Möglichkeit, eigene Shirts zu Alternativ, qualitätsbewusst Keine Lust auf „Standardmode“ gestalten. Ideen dazu Kreativ: Basteln, Einrichten, … entwickle ich Beruf: Marketing selbst und meide Familie, 1 Kind Standardmode. 48 Agile Requirements Engineering 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 49 Agile Requirements Engineering Szenarien © 2015 andrena objects ag 50 Agile Requirements Engineering 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 51 Agile Requirements Engineering 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 52 Agile Requirements Engineering Szenarien (Beispiel) Lisa, individuelles Shirt erstellen 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 ShirtModelle 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 © 2015 andrena objects ag 53 Agile Requirements Engineering Weitere Darstellungsformen für Szenarien • Workflow • Ereignisgesteuerte Prozesskette (EPK) • Use Case © 2015 andrena objects ag 54 Agile Requirements Engineering User Stories © 2015 andrena objects ag 55 Agile Requirements Engineering 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 56 Agile Requirements Engineering 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 57 Agile Requirements Engineering 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 58 Agile Requirements Engineering Format einer User Story Als Wer macht was, warum? © 2015 andrena objects ag Benutzerrolle will ich das Ziel so dass Grund für das Ziel 59 Agile Requirements Engineering 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 60 Agile Requirements Engineering 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 62 Agile Requirements Engineering Card, Conversation, Confirmation User Stories bedeuten, miteinander zu sprechen und zu wissen, wann ein Anforderung umgesetzt ist. Conversation & Confirmation Product Owner © 2015 andrena objects ag Team 64 Agile Requirements Engineering 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 65 Agile Requirements Engineering 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 67 Agile Requirements Engineering 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 68 Agile Requirements Engineering 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 70 Agile Requirements Engineering 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 71 Agile Requirements Engineering Design-Entwürfe © 2015 andrena objects ag 72 Agile Requirements Engineering Design-Entwürfe • Skizzen • Wireframes / Mockups • Ablaufbäume/ -diagramme © 2015 andrena objects ag 73 Agile Requirements Engineering Nichtfunktionale Anforderungen © 2015 andrena objects ag 74 Agile Requirements Engineering Nicht funktionale Anforderungen (NFA) • • • • • • • Performance Sicherheit Wartbarkeit Wiederverwendbarkeit Verfügbarkeit Datenschutz … © 2015 andrena objects ag 75 Agile Requirements Engineering 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 77 Agile Requirements Engineering Das Product Canvas Name Vision / Ziel Metriken Zielgruppe: „Big Picture“: • • • • • • Product Details: Rollen Personas © 2015 andrena objects ag Szenarien Epen / User Stories Design-Skizzen Einschränkungen / NFAs • Sprintziele • „Ready“ Stories 78 Agile Requirements Engineering Anforderungsworkshop mit Product Canvas © 2015 andrena objects ag 79 Weiteres Beispiel © 2015 andrena objects ag 80 Agile Requirements Engineering Weitere Werkzeuge Welche Themen interessieren Sie am meisten? 1. Specification by Example 2. Refinement & Backlog 3. Zerlegen von User Stories 4. Agiles Schätzen © 2015 andrena objects ag 5. Priorisieren 6. Story Maps 7. Velocity & Release Planung 8. Impact Mapping 82 Agile Requirements Engineering Specification by Example © 2015 andrena objects ag 83 Agile Requirements Engineering 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 84 Agile Requirements Engineering Idee • Konkrete Beispiele beschreiben das Verhalten • Gemeinsame domänenspezifische Sprache verbessert die Kommunikation • Ausführbare Beispiele als „Lebende Dokumentation“ © 2015 andrena objects ag 85 Agile Requirements Engineering Specification by Example Beispiele erzeugen beschreiben Tests prüfen Anforderungen Quelle: Gojko Adzic © 2015 andrena objects ag 86 Agile Requirements Engineering 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 87 Agile Requirements Engineering Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic © 2015 andrena objects ag 88 Agile Requirements Engineering 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 89 Agile Requirements Engineering Automatisierte Akzeptanztests © 2015 andrena objects ag 91 Agile Requirements Engineering Quelle: Specification by Example: How Successful Teams Deliver the Right Software, Gojko Adzic © 2015 andrena objects ag 92 Agile Requirements Engineering Quelle: Specification by Example: How Successful Teams Deliver © 2015 andrena objects agthe Right Software, Gojko Adzic 93 Agile Requirements Engineering Quelle: Specification by Example: How Successful Teams Deliver © 2015 andrena objects agthe Right Software, Gojko Adzic 94 Agile Requirements Engineering Werkzeuge für die Automatisierung http://cukes.info/ http://robotframework.org/ http://fitnesse.org/ © 2015 andrena objects ag 95 Agile Requirements Engineering Selenium Tests © 2015 andrena objects ag 97 Agile Requirements Engineering Product Backlog © 2015 andrena objects ag 98 Agile Requirements Engineering Product Backlog • • • • • Enthält alle Anforderungen (Backlog Items) Geordnet und geschätzt Grundlage für die Releaseplanung Kommunikationsgrundlage Verantwortet durch Product Owner SPRINT 1 Tag Product Backlog © 2015 andrena objects ag ≤ 30 Tage Sprint Backlog Product Increment 99 Agile Requirements Engineering Eisberg der Anforderungen … als nächstes umsetzen … danach umsetzen … später umsetzen © 2015 andrena objects ag Priorität 100 Agile Requirements Engineering Refinement © 2015 andrena objects ag 101 Agile Requirements Engineering 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 102 Agile Requirements Engineering Refinement Product Backlog Product Backlog Items • Überprüfen • Überarbeiten • Priorisieren • Analysieren & Klären • Zerlegen • Schätzen Die Verfeinerung des Product Backlog ist ein kontinuierlicher Prozess. Das Entwicklungsteam wendet dafür bis zu 10% der Sprintzeit auf. © 2015 andrena objects ag 103 Agile Requirements Engineering Iterative Detailierung Aktueller Sprint Nächster Sprint Nächster nächster Sprint UserStory UserStory UserStory UserStory UserStory UserStory UserStory UserStory UserStory UserStory UserStory UserStory Spike UserStory UserStory UserStory UserStory. PO clarification UserStory UserStory UserStory UserStory UserStory UserStory © 2015 andrena objects ag Sprint 4 -8 UserStory UserStory UserStory 105 Agile Requirements Engineering 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 109 Agile Requirements Engineering Zerlegen von User Stories © 2015 andrena objects ag 110 Agile Requirements Engineering 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 112 Agile Requirements Engineering Negativ-Beispiele Teilaufgaben Schichten Schneiden anhand von Unteraufgaben wie Analyse, Implementierung, Tests etc. Schneiden anhand von Architekturschichten wie Datenhaltung, Applikationslogik und Nutzerschnittstelle. Hinterlässt kein inspizierbares und bewertbares Softwareinkrement. Hinterlässt kein inspizierbares und bewertbares Softwareinkrement. Besser „Durchstich“ mit wenig Funktionalität. © 2015 andrena objects ag 113 Agile Requirements Engineering Zerlegen von User Stories Etablierte Muster für das Zerlegen von User Stories 1. Workflow-Schritte 2. Variation der Geschäftsregeln 3. Größter Aufwand 4. Komplexität 5. Datenvariation 6. 7. 8. 9. Schnittstellenvariation Nachlagern von NFRs Operationen Spike herausbrechen http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/ © 2015 andrena objects ag 123 Agile Requirements Engineering 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 125 Agile Requirements Engineering Agiles Schätzen © 2015 andrena objects ag 126 Agile Requirements Engineering 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 © 2015 andrena objects ag S M L 130 Agile Requirements Engineering Magic Estimation • Schätzwerte ausgelegt • Keine Kommunikation! 3 2 1 • Reihum: 1. Neue Story nehmen & auslegen (schätzen) 2. Oder Story umlegen • Mehrfach umgelegte Stories raus © 2015 andrena objects ag 5 8 13 20 132 Agile Requirements Engineering 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 135 Agile Requirements Engineering Priorisieren © 2015 andrena objects ag 136 Agile Requirements Engineering 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 137 Agile Requirements Engineering 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 138 Agile Requirements Engineering Kano-Modell Zufriedenheit Kreativitätstechniken Begeisterungsfaktoren Leistungsfaktoren Erfüllungsgrad Beobachtung © 2015 andrena objects ag Basisfaktoren 140 Agile Requirements Engineering Story Map © 2015 andrena objects ag 141 Agile Requirements Engineering Story Map “Rückgrat” “Lauffähiges Gerippe” Priorität R1 © 2015 andrena objects ag R2 R3 142 Agile Requirements Engineering Story Map (Beispiele) © 2015 andrena objects ag 143 Agile Requirements Engineering © 2015 andrena objects ag 145 Agile Requirements Engineering Releaseplanung © 2015 andrena objects ag 146 Agile Requirements Engineering Release Planning Backlog Ein guter Releaseplan erfordert ein geordnetes und geschätztes Backlog. Velocity Ein guter Releaseplan erfordert eine bekannte Velocity. © 2015 andrena objects ag 147 Agile Requirements Engineering 147 Basistypen der Release Planung Feature Target Planning Date Target Planning Das Produkt wird zu einem bestimmten Datum released. Das Produkt wird released, wenn bestimmte Features fertig sind. “Wie viel des Product Backlog wird an einem bestimmten Datum fertig sein?” “Wann wird Feature A, B und C fertig sein?” © 2015 andrena objects ag 149 Agile Requirements Engineering Velocity Die Velocity beschreibt die Geschwindigkeit, mit der das Entwicklungsteam Product Backlog Items pro Sprint abarbeitet. © 2015 andrena objects ag 150 Agile Requirements Engineering Planung mit Velocity 30 Bester Fall: Top 3 => Ø 23 Story Points 25 20 Wahrscheinlichster Fall: Mittlere 3 Ø 19 15 10 5 0 1 © 2015 andrena objects ag 2 3 4 5 Sprint 6 7 8 9 Schlechtester Fall: Unterste 3 Ø 14 152 Agile Requirements Engineering Agile Requirements Engineering Product Backlog Größe: 13 Wann wird Feature A wahrscheinlich geliefert? Größe: 20 Größe: 20 Größe: 3 Größe: 5 • Mittlere Team Velocity = 32 • Sprint Länge= 2 Wochen Größe: 1 Größe: 8 Größe: 13 Größe: 3 A Größe: 13 Größe: 3 © 2015 andrena objects ag 6 Wochen 153 Agile Requirements Engineering Agile Requirements Engineering Product Backlog Größe: 13 Größe: 1 Größe: 2 Größe: 8 Größe: 5 Größe: 13 Größe: 3 Größe: 13 Größe: 5 Größe: 8 Größe: 2 © 2015 andrena objects ag Das Alles Was wird in 8 Wochen alles geliefert? • Mittlere Team Velocity = 16 • Sprint Länge= 2 Wochen 154 Agile Requirements Engineering Release Burndown Features Velocity: Heute tatsächliche beste durchschnittliche schlechteste Fertigstellung Zeit © 2015 andrena objects ag 156 Agile Requirements Engineering Impact Mapping © 2015 andrena objects ag 158 Agile Requirements Engineering 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 160 Agile Requirements Engineering Aufbau einer Impact Map Ziel Person Effekt Feature Was? Wie? … Wer? Wie? Warum? … Was? Wie? … Wer? Wie? © 2015 andrena objects ag … 161 Agile Requirements Engineering Warum? Wer? Wie? Was? © 2015 andrena objects ag Quelle: http://impactmapping.org 164 Agile Requirements Engineering Ziel Person Impact Map (Beispiel) Effekt Für Freunde bestellen Kunde Größere Bestellungen Feature Mehrere Adressen Geschenkverpackung Mengenrabatt Top 10 Designs anpreisen Shirt Verkauf verdoppeln Spontankäufe Rabatt-Aktion Designer © 2015 andrena objects ag Designs für Freunde Eigene Designs teilen 165 Agile Requirements Engineering 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 168 Agile Requirements Engineering Zusammenfassung • Agiles Requirements Engineering • Business Model Canvas Werkzeugkasten Product Canvas • • • • • • Produktvision Rollen und Personas Szenarien User Stories & Epics Design-Entwürfe Nichtfunktionale Anforderungen © 2015 andrena objects ag Weitere Werkzeuge • • • • • • • • Specification by Example Refinement & Product Backlog Zerlegen von User Stories Agiles Schätzen Priorisieren Story Map Velocity & Release Planung Impact Mapping 170 Experts in agile software engineering andrena objects ag Albert-Nestler-Straße 9 76131 Karlsruhe Tel. + 49 (0) 721 6105 122 © 2015 andrena objects ag Weitere Standorte: • Frankfurt • München • Stuttgart www.andrena.de [email protected]