Agile UX UPA-Tutorial @ Mensch & Computer 2010 Teil 1: Eine Einführung in die agile Softwareentwicklung Dr. Hartmut Obendorf, C1 WPS Rainer Gibbert, Inken Petersen, XING AG
Jun 24, 2015
Agile UXUPA-Tutorial @ Mensch & Computer 2010
Teil 1: Eine Einführung in die agile Softwareentwicklung
Dr. Hartmut Obendorf, C1 WPSRainer Gibbert, Inken Petersen, XING AG
3
Agenda
Agile Software-Entwicklung Definition, Werte und Motive Methoden Grundbegriffe Praktische Übung
Agile UX Design Herausforderungen und Chancen Integrationsformen Projektarten und –rollen Praktische Übung
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
4
Klassische Software-Entwicklung
Software-Engineering Bereitstellung systematischer und planbarer Vorgehensweisen
für die Entwicklung von Software
Ausrichtung der Modelle Feste Prozessphasen mit den daraus resultierende Ergebnisse (Artefakten) und den entsprechenden Meilensteinen
Problematik Schwergewichtig, unflexible, zu viel Dokumentation
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
Das agile Manifest (2001)
Obendorf, Gibbert, Petersen — Tutorial Agile UX 512.09.2010
http://agilemanifesto.org
Das agile Manifest (2001)
Individuen und Austauschüber Prozesse und Werkzeuge
Lauffähige Softwareüber ausführlicher Dokumentation
Zusammenarbeit mit Kundenüber Vertragsaushandlung
Offenheit für Veränderungenüber verfolgen starrer Pläne
Obendorf, Gibbert, Petersen — Tutorial Agile UX 612.09.2010
7
Prinzipien der agilen Entwicklung1. Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
http://agilemanifesto.org/principles.html
8
Prinzipien der agilen Entwicklung7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
http://agilemanifesto.org/principles.html
Obendorf, Gibbert, Petersen — Tutorial Agile UX 912.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1012.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1112.09.2010
Agilität – Iterativität
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1212.09.2010
Agilität – Iterativität
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1312.09.2010
Agilität – Prototyping
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1412.09.2010
Agilität – Prototyping
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1512.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 16
Agilität – Time-Boxing
12.09.2010
Standish Group Chaos Report 2004
Agilität – Time-Boxing
Obendorf, Gibbert, Petersen — Tutorial Agile UX 1712.09.2010
18
Agile Prozesse Scrum
Sprint, Product Backlog, Sprint Backlog, Story, Task, Daily Scrum, Increment
CrystalCrystal Clear, Yellow, Orange, Orange Web, Red, Magenta, Blue
Extreme Programming (XP)Iteration, v1 vs. v2, corollary techniques
Feature Driven Development (FDD)Model, F. List, Feature as Unit of planning, design, construction, Chief-Programmer
KanbanPull-System, verringert WiP und Durchlaufzeiten, erfordert gleichmäßige Taktung
… uvm.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 19
SCRUMAgile Prozesse: ein Beispiel
12.09.2010
20
Scrum: Elemente
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX
21
Scrum: Sprint Umsetzung einer Iteration
Dauer: meist 2-4 Wochen
Zu Beginn wird ein Sprint Backlog erstellt
Im Sprint: Design, Programmierung, Testen
Team organisiert sich im Sprint selbst
Keine Änderungen während des Sprints
Am Ende des Sprints: Vorführung, Review, Akzeptanztests und Retrospektive
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX
22
Scrum: Rollen
Product Owner Verantwortlich für die Profitabilität des Produkts (ROI)
Definition der Funktionen im Produkt
Entscheidung über Release-Daten und -Inhalte
Priorisierung der Funktionen nach Markt- und Nutzwert
Anpassung der Funktionen und Prioritäten für jede Iteration, bei Bedarf
Akzeptieren (oder Ablehnen) der Ergebnisse
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX
Obendorf, Gibbert, Petersen — Tutorial Agile UX 23
Scrum: Rollen
Scrum Master Projektmanagement
Verantwortlich für das Einhalten der Scrum-Werte und Praktiken
Behebung von Problemen
Sorge tragen, dass das Team funktioniert und produktiv ist
Für eine enge Kooperation der verschiedenen Rollen und Funktionen sorgen
Das Team von externen Problemen abschirmen
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 24
Scrum: Rollen
Team Typischer Weise 5-9 Personen
Cross-Funktional: Entwickler, Tester, UX-Designer, etc.
Idealer Weise arbeiten alle Vollzeit
Das Team organisiert sich selbst
Änderungen am Team nur zwischen Sprints
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 25
Scrum: MeetingsSprint Planning
Welche Aufgaben kommen in den Sprint? Wie aufwändig sind diese?
Daily Scrum max. 15 Minuten
Was wurde fertiggestellt? Was kommt heute? Welche Probleme gibt es?
Sprint Review Vorstellung der Ergebnisse
Sprint Retrospektive wertfreier Rückblick auf Sprint
Sammlung von Problemen und Verbesserungsvorschlägen
12.09.2010
26
Scrum: Artefakte
Product Backlog enthält alle Features des Produkts (unvollständig) bewertet und
priorisiert Aufwandsschätzung für hoch priorisierte Features
Sprint Backlog alle Aufgaben eines Sprints (jeweils max. 1 Tag)
Impediment List Hindernisse des Projekts
Burndown / Burnup Chart
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX
Exemplarisches Product Backlog
Backlog item Priority Estimate
Allow a guest to make a reservation 1 3
As a guest, I want to cancel a reservation. 2 5
As a guest, I want to change the dates of a reservation. 3 3
As a hotel employee, I can run RevPAR reports (revenue-per-available-room) 4 8
Improve exception handling 5 8
... 6 30
... 7 50
Burnup chart
Obendorf, Gibbert, Petersen — Tutorial Agile UX 2912.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 3012.09.2010
Übung
Agile Entwicklung: ein Praxisbeispiel
Übung 1 - Rollen im agilen Prozess
Entwickler 2–3
Usability / QA 1–3
Kunde 1 + n
Obendorf, Gibbert, Petersen — Tutorial Agile UX 33
Übung 1 - Zeitplan
10 min 5-15 Stories schreiben und schätzen(Umsetzung in 1…3 min)
3 min Planungssitzung: Stories priorisieren
2 min Tasks verteilen
5 min Entwickeln…
10 min Abnahmetest; neue Stories schreiben und schätzen
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 34
Übung 1 - Aufgabe
Es war einmal ein Regierungschef, der ein Zeichen hinterlassen wollte. Auf dem Mond.
Also sorgte er auf den üblichen Wegen dafür, dass in Europa Begeisterung entstand – ein Forschungslabor sollte entstehen. Dieses sollte als Zeichen interkultureller Verständigung dienen und wichtige wissenschaftliche Aufgaben übernehmen.
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 35
Übung 1 - Aufgabe
Ihr Auftrag ist es, innerhalb von 6 Monaten eine funktionsfähige Mondstation zu entwerfen. Als Transportmittel wird eine günstig erworbene gebrauchte Raumfähre, die Endeavour dienen.
Sie wird monatlich zwischen Pisa und dem Mare Serenitatis verkehren.
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX
Übung 1 – Veränderte Anforderungen 1
Dänische Bastler haben eine Rakete entwickelt, die nur einen Bruchteil der Raumfähre kostet. Daher wird es in den ersten 20 Projektjahren nur eine Einwegverbindung geben.
12.09.2010 36
Obendorf, Gibbert, Petersen — Tutorial Agile UX 37
Übung 1 – Veränderte Anforderungen 2
Aufgrund der anstehenden Wahlen soll ein neues Gesetz die lebenslange Immunität des Staatschefs bestätigen.
Der Forschungsauftrag der Mondstation wird aus diesem Grund zurückgestellt, zunächst sollen einige ausgewählte Parlamentarier in den Genuss der ersten Flüge kommen. Mit ihren Familien.
12.09.2010
Agile UXUPA-Tutorial @ Mensch & Computer 2010
Teil 2: Agile UX Design – Chancen, Herausforderungen, Best Practices
Dr. Hartmut Obendorf, C1 WPSRainer Gibbert, Inken Petersen, XING AG
39
Agenda
Agile Softwareentwicklung Definition, Werte und Motive Methoden Grundbegriffe Praktische Übung
Agile UX Design Herausforderungen und Chancen Integrationsformen Projektarten und –rollen Praktische Übung
Obendorf, Gibbert, Petersen — Tutorial Agile UX 12.09.2010
Agile Methoden erfüllen Wünsche der Praxis Schnelle Ergebnisse in Form funktionierender Software Flexibilität für wechselnde Anforderungen Stetige Abstimmung mit dem Kunden
Agile Methoden genießen einen immer höher werdenden Verbreitungsgrad
Wrap-up aus Teil 1
Obendorf, Gibbert, Petersen — Tutorial Agile UX 4012.09.2010
Prinzipiell ähnliche Ziele: Zufriedene Kunden / Benutzer durch nutzbringende Produkte Schnelle Bereitstellung funktionierender Software Fortlaufende Weiterentwicklung und dadurch Reaktion auf
Veränderungen Enge Zusammenarbeit aller Beteiligten Nachhaltige Entwicklung Aufmerksamkeit auf technische Exzellenz und gutes Design Fokus auf Einfachheit
(Entsprechend der agilen Prinzipien)
Agile Entwicklung und UX-Design
Obendorf, Gibbert, Petersen — Tutorial Agile UX 4112.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 42
Aber!
UX-Design wurde von den Begründern der agilen Software-Entwicklung anfänglich überhaupt
nicht bedacht bzw. verstanden!
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 43
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Hi, ich bin hier um ein tiefergehendes Verständnis der Nutzer zu schaffen. Dieses wird uns helfen zu entscheiden, welches Produkt wir bauen sollen, wie es aussieht
und sich verhalten soll. Und ich werde es mit Nutzern validieren.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 44
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Äh…Wow…
Was hast du gesagt?
Obendorf, Gibbert, Petersen — Tutorial Agile UX 45
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Ich bin hier um ein tiefergehendes Verständnis der
Nutzer zu schaffen….
Ok, ok, ok.Das hört sich nach etwas für den Product Owner an. Du
solltest mal mit ihm sprechen.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 46
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Hi, ich bin hier um ein tiefergehendes Verständnis der Nutzer zu schaffen und um zu
sehen, welches Produkt…
Halt, halt, halt!
Ich habe den Product-Backlog schon längst erstellt und
priorisiert!
Obendorf, Gibbert, Petersen — Tutorial Agile UX 47
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Aber dauert der Sprint nicht nur zwei Wochen?
Du solltest dich zum Team setzten und Ihnen helfen, die Sachen für
den Sprint zu erledigen.
Ja, das ist ja das großartige an agiler Entwicklung: fertige
Produkte alle zwei Wochen!!!
Obendorf, Gibbert, Petersen — Tutorial Agile UX 48
Wenn ein UX-Designer in ein agiles Team kommt…
12.09.2010
Äh… ich muss mal schnell weg. Hab noch ein Vorste… äh… einen
Arzttermin…
Kein Problem, das Team wird deine Sachen schon mit
erledigen.
Obendorf, Gibbert, Petersen — Tutorial Agile UX
Software-Entwicklung vs. Usability: Das Vogel-Strauß-Prinzip
12.09.2010 49
Obendorf, Gibbert, Petersen — Tutorial Agile UX 50
Defizite „klassischer“ Usability
Lange Vorbereitung und Anforderungsanalyse
Meist „schwerfällige“ Methoden Studien können gerne 1 Monat oder länger dauern Immer noch wenig Berücksichtigung agiler Ansätze
Zu hoher Anspruch an einheitliche User Experience
Die Folge: zu spät, zu wenig Formales Usability-Testing erst am Ende der Entwicklung Design abgeschlossen, Einfluß begrenzt
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 51
Defizite agiler Methoden
Stärke auch Schwachpunkt Feature Driven Development erschwert einheitliches
Design Scheu vor dem „big upfront design“ Fokus auf Einzelheiten verstellt Blick auf‘s Ganze
Fehlende Detaillierung der Methoden bei der Integration der Nutzer in den Prozess Ermittlung der Anforderungen
12.09.2010
Integration?
Gemeinsame Basis Fokus auf nutzbringende Produkte iteratives Vorgehen
erhoffter Vorteil Team Experience +
Customer Satisfaction +User Experience
Resultat Agile (?) UX-Methoden – je nach
Gewichtung / Kommunikation
Obendorf, Gibbert, Petersen — Tutorial Agile UX 5212.09.2010
53
Drei Ansätze zur Integration
1. Verzahnung Sprint Zero und Planung für Sprint n+1
2. Integration Verteilte Rollen im Team
3. Entkopplung Product Discovery und Product Execution
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX
Ansatz 1: Verzahnung
Obendorf, Gibbert, Petersen — Tutorial Agile UX 5412.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 55
Best Practices?
12.09.2010
Getrennte UX- und Entwicklungs-Teams
Definierte Übergabepunkte, RITE & Prototyp als Übergabedokumentation
Conserve User Time: Integrierte Design- und Evaluationsaktivität
Kontinuierliche Aktivitäten (z.B. User Research)
Obendorf, Gibbert, Petersen — Tutorial Agile UX 56
Iteration-Roundtrip
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 57
Wann und wie?
12.09.2010
Einbindung externer Dienstleister, Koordination mit großen UX- und Design-Teams, für große Änderungen oder langfristige Produktentwicklung
Iterative UX-Techniken, hohe Anforderungen an Dokumentation und Kommunikation
Ansatz 2: Integration
Obendorf, Gibbert, Petersen — Tutorial Agile UX 5812.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 59
Prozess-Integration
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 60
UX-Praxis-Integration
Balance im VerhältnisUsability –– Team
Experten? Heimwerker? Moderatoren!
PD2 – Benutzer & Entwickler als Designer
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 61
Wann und wie?
12.09.2010
Fachlich dichte, technisch herausfordernde, interne (effizienzorientierte) oder kleine Projekte
Hohe Anforderungen an fachliche Architektur, technische Möglichkeiten und Hindernisse, schnelle Iterationsfolge
Ansatz 3: Entkopplung
Obendorf, Gibbert, Petersen — Tutorial Agile UX 6212.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 63
Ansatz 3: Entkopplung
12.09.2010
Das richtige Produkt identifizieren und gestalten
Produktfindung / Discovery Phase
Das Produkt richtig implementieren
Produkterstellung / Execution Phase
Obendorf, Gibbert, Petersen — Tutorial Agile UX 64
Ansatz 3: Entkopplung
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 65
Discovery Phase
Ziele Herausfinden, ob es überhaupt Nutzer für das Produkt gibt Identifizieren eines Produkts, das nutzbringend (valuabe),
benutzbar (usable) und machbar (feasible) ist.
Dazu gehört Neue Ideen generieren und explorieren Mit Kunden und Nutzern sprechen Neue Technologien ausprobieren Erste Produktkonzepte und Prototypen erstellen Konzepte mit Nutzern evaluieren
12.09.2010
Obendorf, Gibbert, Petersen — Tutorial Agile UX 67
Gute Produkte…
…haben folgende drei Eigenschaften:
12.09.2010
Valuable
Usable & DesirableFeasible
Product Owner
UX Lead
Tech Lead
Obendorf, Gibbert, Petersen — Tutorial Agile UX 68
Discovery- und Scrum-Team
12.09.2010
Discovery Phase
Execution Phase
Product Owner
UX Lead
Tech Lead
Tech Lead
UX Lead
Scrum Team(Engineering, QA)
20-30%
70-80%
90%
10%
IdeenRücksprache
Obendorf, Gibbert, Petersen — Tutorial Agile UX 69
Opportunity Assessment
1. Welches Problem soll gelöst werden? (Value Proposition)
2. Für wen soll das Problem gelöst werden? (Zielgruppe)
3. Wie wird der Erfolg gemessen? (Metriken)
4. Welche Lösungen gibt es bereits? (Wettbewerbsumfeld)
5. Warum können wir es besser? (Differenzierung)
6. Warum gerade jetzt? (Marktfenster)
7. Wie werden wir es umsetzen? (Aufstellung)
8. Wie hoch sind die geschätzen Kosten? (groß, mittel, klein)
9. Was sind kritische Erfolgsfaktoren? (solution requirements)
12.09.2010
http://www.svpg.com/opportunity-assessment/
Obendorf, Gibbert, Petersen — Tutorial Agile UX 70
Minimales Produkt
12.09.2010
http://en.wikipedia.org/wiki/Minimum_viable_product
Obendorf, Gibbert, Petersen — Tutorial Agile UX 71
Wann und wie?
12.09.2010
Eigenschaften Ausreichend Zeit, um sich über ein gutes Produkt Gedanken zu
machen Einbeziehung aller Disziplinen und Perspektiven Keine Störung während der Implementierung
Anwendungsfälle Wo Usability und UX entscheidende Wettbewerbsvorteile sind
(z.B. Consumer-Produkte im Internet) Bei weniger komplexen Produkten Bei genügend UX Ressourcen
Übung
Discovery Phase für ein minimales Produkt und mögliche Inkremente
Übung: Discovery Phase
Rollen Anwender Hat ein Problem / Bedürfnis
- Hilft es mir bei meinem Problem?- Versteh ich, wie ich es benutzen kann?- Etc.
Product Owner verantwortlich für Kosten und Nutzwert- Braucht der Nutzer es wirklich?- Wieviel Mehrwert bietet es?- Was kostet die Umsetzung?- Etc.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 7312.09.2010
Übung: Discovery Phase
Rollen UX-Lead verantwortlich für Benutzbarkeit und Design
- Wie kann der Nutzer es bedienen?- Ist es einfach und verständlich?- Etc.
Tech-Lead verantwortlich für Machbarkeit und Aufwand- Was benötige ich dafür?- Wie viel Aufwand ist das?- Etc.
Obendorf, Gibbert, Petersen — Tutorial Agile UX 7412.09.2010
Übung: Discovery Phase
Problemstellung / Bedürfnis Jonas möchte gerne mit seiner Freundin und zwei Koffern von
Duisburg nach München reisen. Stellen Sie sich vor: sämtliche bekannten Transportmöglichkeiten
(Bahn, Auto, Flieger, Schiff, etc.) gibt es noch nicht!
Aufgabe Finden Sie ein minimales, aber nutzbringendes Produkt, das das
Problem von Herrn Müller löst. Finden Sie anschließend ein (oder mehrere) Inkremente des
Produkts. Gehen Sie iterativ vor und beziehen Sie immer wieder die
Anwender in Ihre Discovery ein.Obendorf, Gibbert, Petersen — Tutorial Agile UX 7512.09.2010
Literatur Marty Cagan
Inspired: How To Create Products Customers Lovehttp://www.svpg.com
Jeff Pattonhttp://www.agileproductdesign.com
Scott W. AmblerAgile Modeling: Effective Practices for Extreme Programming and the Unified Process
David Verba, Todd WillkensSubject to Change
Kent Beck, Cynthia AndresExtreme Programming Explained
Karen Holtzblatt et al. Rapid Contextual Design
Hartmut ObendorfMinimalism: Designing Simplicity
Obendorf, Gibbert, Petersen — Tutorial Agile UX 7612.09.2010
Vielen Dank!Dr. Hartmut ObendorfC1 WPS [email protected]/profile/Hartmut_Obendorf
12.09.2010Obendorf, Gibbert, Petersen — Tutorial Agile UX 77
Rainer GibbertXING [email protected]/profile/Rainer_Gibbert
Inken PetersenXING [email protected]/profile/Inken_Petersen