Methoden und Techniken der agilen Softwareentwicklung sind inzwischen so stark verbreitet, dass sie aus der Softwareentwicklungspraxis nicht mehr wegzudenken sind. Obwohl es bereits erste Erfahrungen und Vorgehensmodelle gibt, haben Usability Engineering und User Experience (UX) Design in agilen Projekten jedoch weiterhin einen schweren Stand.
Obwohl sie selbst oft iterativ angewendet werden, werden sie vielfach als zu schwergewichtig empfunden. Der Anspruch von Usability Experten, möglichst früh im Prozess ein stimmiges und vollständiges Bild des User Interface zu erarbeiten, passt auf den ersten Blick nicht zum Charakter agiler Softwareentwicklungsprojekte.
Die Autoren stellen in diesem Tutorial diese Schwierigkeiten vor, zeigen Ansätze zu ihrer Lösung auf und skizzieren die zu bearbeitende Themenfelder.
Erstellung Von Personas Für das Business-Netzwerk XING (Rainer Gibbert, World...
Agile UX - Tutorial auf der Mensch & Computer 2010
1. Agile UX UPA-Tutorial @ Mensch & Computer 2010 Teil 1: Eine Einführung in die agile Softwareentwicklung Dr. Hartmut Obendorf, C1 WPSRainer Gibbert, Inken Petersen, XING AG
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 4 12.09.2010
6. 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 6 12.09.2010
7. Prinzipien der agilen Entwicklung Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 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 7 12.09.2010 http://agilemanifesto.org/principles.html
8. Prinzipien der agilen Entwicklung Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity – the art of maximizing the amount of work not done – is essential. The best architectures, requirements, and designs emerge from self-organizing teams. 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 8 12.09.2010 http://agilemanifesto.org/principles.html
21. Scrum: Sprint Umsetzungeiner 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.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 21
22. Scrum: Rollen Product Owner Verantwortlichfür die Profitabilität des Produkts (ROI) Definition derFunktionenimProdukt Entscheidungüber Release-Daten und -Inhalte Priorisierung derFunktionennachMarkt- und Nutzwert AnpassungderFunktionen und Prioritätenfürjede Iteration, beiBedarf Akzeptieren (oderAblehnen) derErgebnisse 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 22
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 23
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 24
25. Scrum: Meetings Sprint 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 Obendorf, Gibbert, Petersen — Tutorial Agile UX 25
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.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 26
32. Übung 1 - Rollen im agilen Prozess Entwickler 2–3 Usability / QA 1–3 Kunde 1 + n
33. Übung 1 - Zeitplan 10 min 5-15 Stories schreiben und schätzen(Umsetzung in 1…3 min) 3 min Planungssitzung: Storiespriorisieren 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 33
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 34
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 35
36. Ü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 Obendorf, Gibbert, Petersen — Tutorial Agile UX 36
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 Obendorf, Gibbert, Petersen — Tutorial Agile UX 37
38. Agile UX UPA-Tutorial @ Mensch & Computer 2010 Teil 2: Agile UX Design – Chancen, Herausforderungen, Best Practices Dr. Hartmut Obendorf, C1 WPSRainer Gibbert, Inken Petersen, XING AG
40. 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 40 12.09.2010
41. 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 41 12.09.2010
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 42
43. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 43 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.
44. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 44 Äh… Wow… Was hast du gesagt?
45. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 45 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.
46. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 46 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!
47. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 47 Du solltest dich zum Team setzten und Ihnen helfen, die Sachen für den Sprint zu erledigen. Aber dauert der Sprint nicht nur zwei Wochen? Ja, das ist ja das großartige an agiler Entwicklung: fertige Produkte alle zwei Wochen!!!
48. Wenn ein UX-Designer in ein agiles Team kommt… 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 48 Äh… ich muss mal schnell weg. Hab noch ein Vorste… äh… einen Arzttermin… Kein Problem, das Team wird deine Sachen schon mit erledigen.
50. Defizite „klassischer“ Usability Lange Vorbereitung und Anforderungsanalyse Meist „schwerfällige“ Methoden Studienkönnengerne 1 Monatoderlängerdauern ImmernochwenigBerücksichtigung agiler Ansätze Zu hoherAnspruch an einheitliche User Experience Die Folge: zu spät, zu wenig FormalesUsability-Testing erst am EndederEntwicklung Design abgeschlossen, Einflußbegrenzt 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 50
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 51 Obendorf, Gibbert, Petersen — Tutorial Agile UX
59. Wann und wie? 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 57 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
65. Wann und wie? 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 61 Fachlich dichte, technisch herausfordernde, interne (effizienzorientierte) oder kleine Projekte Hohe Anforderungen an fachliche Architektur, technische Möglichkeiten und Hindernisse, schnelle Iterationsfolge
69. 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 65
70. Execution Phase Ziele Implementierung der ersten Produktversion durch das Scrum-Team Testing und Release Parallel ggf. Beginn der nächsten Discovery Phase durch das Discovery-Team Dazu gehört Keine Störung des Entwicklungs-Teams, z.B. durch neue Anforderungen Keine Veränderungen am aktuellen Produktkonzept 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 66
71. GuteProdukte… …haben folgende drei Eigenschaften: 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 67 Valuable Product Owner Tech Lead Usable & Desirable Feasible UX Lead
72. Discovery- und Scrum-Team 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 68 Product Owner UX Lead Tech Lead 90% 20-30% Discovery Phase Execution Phase Rücksprache Ideen Tech Lead Scrum Team (Engineering, QA) 70-80% UX Lead 10%
73. OpportunityAssessment Welches Problem sollgelöstwerden? (Value Proposition) Fürwensoll das Problem gelöstwerden? (Zielgruppe) WiewirdderErfolggemessen? (Metriken) WelcheLösungengibtesbereits? (Wettbewerbsumfeld) Warumkönnenwiresbesser? (Differenzierung) Warumgeradejetzt? (Marktfenster) Wiewerdenwiresumsetzen? (Aufstellung) Wiehochsind die geschätzenKosten? (groß, mittel, klein) Was sindkritischeErfolgsfaktoren? (solution requirements) 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 69 http://www.svpg.com/opportunity-assessment/
75. Wann und wie? 12.09.2010 Obendorf, Gibbert, Petersen — Tutorial Agile UX 71 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
77. Ü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 73 12.09.2010
78. Ü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 74 12.09.2010
79. Ü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 75 12.09.2010
80. Literatur Marty CaganInspired: 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 76 12.09.2010