1. Agiles UCD – Grundlagen,
Erfahrungen, Best Practices
Dirk Zimmermann, Hartmut Obendorf, Thomas Memmel,
Stephan Nufer, Florian Schauderna
2. Warum dieses Tutorial?
Verschiedene Erfahrungsberichte in den letzten Jahren
UP 08: Session „Agiles UCD“
Einzelbeiträge in den Jahren davor
Interessenbekundung an einem AK „Agiles UCD“
Wunsch nach Entwicklung einer gemeinsamen Sicht der
deutschen Usability Professionals
Präsentation auf der Mensch & Computer 2009, 06.09.2009 2 German Usability Professionals Association e.V.
3. Outline (1)
Klassisches UCD in der Software-Entwicklung (Dirk)
Agile Softwareentwicklung (Hartmut)
Agiles User-Centered-Design (Thomas)
Übung 1: Nicht-Agiles und Agiles Zeichnen
<Pause>
Best Practices (Dirk)
Feature Based Programming (Stephan)
Vorgehen
Praxisbeispiel
Präsentation auf der Mensch & Computer 2009, 06.09.2009 3 German Usability Professionals Association e.V.
4. Outline (2)
Übung 2: Agile Projektpraxis in der Selbsterfahrung //
Rollenspiel Mondlandung (Hartmut)
<Pause>
Diskussion / Mini-Workshops zu weiteren Themen
Wrap-Up, Folgeaktivitäten
Präsentation auf der Mensch & Computer 2009, 06.09.2009 4 German Usability Professionals Association e.V.
6. Softwareentwicklung aus Sicht des
Software Engineering
Software Engineering (SE):
Zielt u.a. auf die Bereitstellung systematischer und planbarer
Vorgehensweisen für die Entwicklung von Software
Zielerreichung durch den Einsatz von SE Modellen
Kosten, Entwicklungszeit und Qualität der Ergebnisse über den gesamten
Entwicklungsprozess hinweg abschätzen, steuern und kontrollieren zu
können (Glinz 1999)
Ausrichtung der Modelle
Feste Prozessphasen
Den daraus resultierenden Ergebnissen (Artefakten)
Den entsprechenden Meilensteinen
Phasenorientierte und an Artefakten orientierte SE Modelle
können als „klassische“ SE Modelle bezeichnet werden
Präsentation auf der Mensch & Computer 2009, 06.09.2009 6 German Usability Professionals Association e.V.
7. Softwareentwicklung aus Sicht des
Usability Engineering
Usability Engineering (UE):
Zielt auf die Entwicklung gebrauchstauglicher Produkte
Modelle und Methoden zur Sicherstellung der
Nutzerorientierung
Einsatz in der Praxis meist stark an bereits existierenden
SE Modelle und dem zugehörigen Prozess orientiert
UE Aktivitäten häufig nebenläufig
Integration nicht (immer) gegeben
Präsentation auf der Mensch & Computer 2009, 06.09.2009 7 German Usability Professionals Association e.V.
8. Grundcharakteristiken und Gemeinsamkeiten
Neben vereinzelten, nebenläufigen Aktivitäten existieren einige
Ansätze die dies in Form von integrierten Modellen versuchen
(bspw. Mayhew, 1999; Cooper, 2003; IBM, 1996).
Übereinstimmung dieser Ansätze mit einigen
Grundcharakteristiken aus dem klassischen SE:
Bezug auf meist umfangreiche Dokumentationen und Artefakte
In der Regel phasenorientiert
Gemeinsamkeiten dienen oft als Grundlage für existierende
Integrationsansätze und Modelle
Präsentation auf der Mensch & Computer 2009, 06.09.2009 8 German Usability Professionals Association e.V.
9. ISO 13407: Monolithische Phasen
DIN EN ISO 9241-210 (ex 13407): generisches Modell
Context of Use
Evaluation of Use User Requirements
Design Solution
Präsentation auf der Mensch & Computer 2009, 06.09.2009 9 German Usability Professionals Association e.V.
10. Unterschiede zum Agilen
Neuere, agile Ansätze basieren nicht auf diesen
Grundcharakteristiken und Gemeinsamkeiten
Im Vordergrund:
Die Leichtgewichtigkeit der Prozesse
Das Auflösen der Phasen
Und das Lossagen von umfangreichen Dokumentationen
Präsentation auf der Mensch & Computer 2009, 06.09.2009 10 German Usability Professionals Association e.V.
12. „Neue Trends“ in der Softwareentwicklung
Agiles Software Engineering:
Weggehend von rigide definierten Prozessen,
hin zu leichtgewichtigeren Methoden und Vorgehensweisen
Besonderheiten und Eigenschaften Agiler Modelle:
Keine monolithischen Phasen
Weniger Wert auf umfangreiche Dokumentationen und Artefakte
Vielmehr auf Kommunikation und die Interaktion aller
Projektbeteiligten (Schwaber 2004)
Besonderer Umgang mit (wechselnden) Anforderungen
Vorgehen üblicherweise iterativ-inkrementell und kurzzyklisch
Wachstum des zu entwickelnden System stets um ein kleines Maß
an Funktionalität (Larman 2004)
Präsentation auf der Mensch & Computer 2009, 06.09.2009 12 German Usability Professionals Association e.V.
13. Agile 101 - Grundlagen
Agile Methoden beruhen auf vier grundsätzlichen
Abwägungen (aus dem Agile Manifesto):
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Gemeinsames Merkmal aller agilen Methoden ist der
Versuch, schnell zu Ergebnissen (Erfolgen und
Misserfolgen) zu kommen, iterativ zu entwickeln und
regelmäßig (meist am Ende einer Iteration) neu zu
priorisieren, wie auf geänderte Anforderungen reagiert
werden soll.
Präsentation auf der Mensch & Computer 2009, 06.09.2009 13 German Usability Professionals Association e.V.
14. Agile 101 - Ansätze
Scrum - eine Sammlung von Meetings, Artefakten, Rollen,
Werten und Grundüberzeugungen. Teammitglieder organisieren
ihre Arbeit weitgehend selbst und wählen auch die eingesetzten
Software-Entwicklungswerkzeuge und -Methoden. Sprints
(Iterationen) sind das wesentliche Mittel, mit denen der
Entwicklungsprozess strukturiert wird.
Extreme-Programming (XP) - agile Methode, die das Lösen
einer Programmieraufgabe in den Vordergrund der
Softwareentwicklung stellt und die Formalisierung des
Vorgehens mindert. Flexibles Vorgehensmodell, das sich den
Anforderungen des Kunden in wiederholten kleinen Schritten
unter Verwendung von Rückkoppelungen sowie einer
kommunikationsintensiven Herangehensweise zielgerichtet
annähert.
Präsentation auf der Mensch & Computer 2009, 06.09.2009 14 German Usability Professionals Association e.V.
15. Bist du schon agil oder dokumentierst du noch?
Agil bedeutet: Agil bedeutet nicht:
Inkrementell Keine Analyse
Iterativ
Keine Dokumentation
Timeboxed
Nur Code
Manage Change
Model with a Purpose
Travel Light
Communication over
Documentation
Präsentation auf der Mensch & Computer 2009, 06.09.2009 15 German Usability Professionals Association e.V.
16. Präsentation auf der Mensch & Computer 2009, 06.09.2009 16 German Usability Professionals Association e.V.
18. Entwicklung interaktiver Systeme
Entwicklung interaktiver Systeme
Form und Funktion interaktiver Systeme wachsen
zusammen
Software wird „erlebt“
Bedienqualität (Usability) und Benutzererlebnis (User
Experience) entscheiden über Erfolg und Misserfolg
Herausforderung
erreichen eines erfolgreichen Zusammenspiels von
Aussehen, Funktionalität und interaktivem Verhalten
Präsentation auf der Mensch & Computer 2009, 06.09.2009 18 German Usability Professionals Association e.V.
19. Agile + Usability
Agile Projekte
Fixes Budget, harte Deadline
Wesentliche Funktionen werden priorisiert
Knappe Analysephase, lebende, flexible Anforderungen
Änderungen akzeptiert
Usability
Funktionale und nicht-funktionale Anforderungen an das UI
Bedienqualität ist kein Zufallsprodukt
Sicherstellung über breiten Methodenbaukasten
Fixe UI Architektur erwünscht
Präsentation auf der Mensch & Computer 2009, 06.09.2009 19 German Usability Professionals Association e.V.
20. Agile + Usability – eine verführerische Liaison
Agile Methoden werden teilweise als Revolution gefeiert
Usability Engineering und UX Design liefern tolle Produkte
Beide Disziplinen verbindet das Ziel, Software zu
entwickeln, die die Ziele des Kunden optimal unterstützt
Das Beste aus beiden Welten?
Agile Methoden ermöglichen die Entwicklung von Software
in Time und Budget
Usability Methoden schlagen sich in reduzierten Support-
und Schulungskosten, einer höheren Kundenzufriedenheit
und einem größeren Markterfolg nieder
Präsentation auf der Mensch & Computer 2009, 06.09.2009 20 German Usability Professionals Association e.V.
21. Agile + Usability – ein ungleiches Paar
Eine Kombination beider Disziplinen ist verführerisch
Aber: wie können die ungleichen Partner einen
Entwicklungsprozess gemeinsam durchlaufen?
Präsentation auf der Mensch & Computer 2009, 06.09.2009 21 German Usability Professionals Association e.V.
22. Agile + Usability – Grundlage Produktvision
Ziel agile Projekte
in vorgegebenem Zeit- und Kostenrahmen
die einfachste funktionierende Lösung entwickeln
die zur Erfüllung der Kundenanforderungen ausreicht
Ziel Usability Engineering
Software „funktioniert“ erst dann, wenn sie eine hohe
Bedienqualität liefert
Präsentation auf der Mensch & Computer 2009, 06.09.2009 22 German Usability Professionals Association e.V.
23. Agile + Usability – Grundlage Produktvision
Ziel Agile + Usability
nicht nur eine einfache Lösung wird effizient und effektiv
entwickelt (Agile)
sondern Usability und User Experience Ziele werden
erreicht
Grundlagen
Gemeinsame Produktvision
Wenn die Vision eine hohe User Experience beschreibt,
dann muss auch die einfachste funktionierende Lösung
das Erreichen eines positiven Nutzerlebnisses ermöglichen
Die Vision ist der Ehevertrag zwischen Agile + Usability
Präsentation auf der Mensch & Computer 2009, 06.09.2009 23 German Usability Professionals Association e.V.
24. Scrum – der passende Partner für Usability
Methoden
Scrum basiert massgeblich auf der Definition von Visionen
und Entwicklungszielen zu Beginn eines Projekts
Scrum bietet daher eine ideale Grundlage für eine
glückliche Ehe zwischen Agilisten und Usability Experten
Von Scrum akzeptierte unvollständige, freie und flexible
Anforderungen sind eine besondere Chance
Der Design Space wird über mehrere Iterationen offen
gehalten
Durch die Auslieferung von Produktinkrementen lernen
Entwickler und Stakeholder dazu
Anforderungen und kreative Ideen werden genauer und
reifer
Präsentation auf der Mensch & Computer 2009, 06.09.2009 24 German Usability Professionals Association e.V.
25. Scrum – der passende Partner für Usability
Methoden
Die nach jedem Sprint ausgelieferten Small Releases können als
ausführbare UI Prototypen fungieren
UI Prototypen und Usability Tests können die Priorisierung von
Anforderungen für die Entwicklung vorantreiben
Bei einer Kombination von Usability und Scrum wird zu Beginn
kein vollständiges User Interface Konzept festgelegt
Architektur von Front- und Back-End müssen flexibel sein
Damit aus den einzelnen Produktinkrementen dennoch eine
hohe Qualität der Benutzerschnittstelle entsteht, ist viel
Erfahrung und umfassende Entwicklungskompetenz notwendig
Umfassendere Änderungen müssen von Usability Engineers und
Designern als Chance zur Verbesserung akzeptiert werden
Präsentation auf der Mensch & Computer 2009, 06.09.2009 25 German Usability Professionals Association e.V.
26. Agile + Usability
Agile + Usability passen erstaunlich gut zusammen
Die Ehe zwischen Agile + Usability kann funktionieren
Hybrid-Vorgehensweise stellt Anforderungen an
Menschen, Methoden und Kulturen
Agile Usability – Best Practices
Präsentation auf der Mensch & Computer 2009, 06.09.2009 26 German Usability Professionals Association e.V.
28. Der gemeinsame Nenner
Agil will: UCD will:
Den Scope modellieren Den Nutzer/Kontext modellieren
Story Cards / Task Cards User Profiles / Task Models
Schnelle Zwischenergebnisse Interaktionsmodell illustrieren
Testbare Systemiterationen Prototyping
Stakeholder einbeziehen Nutzer einbeziehen
Akzeptanz testen Usability testen
Small Releases / Refactoring Umfangreiche Analyse
Präsentation auf der Mensch & Computer 2009, 06.09.2009 28 German Usability Professionals Association e.V.
29. Agiles UCD Modell - Komponenten
Übergreifende Koordination
Konzeption Konstruktion
Anforderung
Konzeption Konstruktion
(Iteration 0)
Konzeption Konstruktion
Präsentation auf der Mensch & Computer 2009, 06.09.2009 29 German Usability Professionals Association e.V.
30. Anforderungsphase (Iteration 0)
Direkter Kontakt von Entwicklern und Stakeholdern
Methoden:
Offene Interviews, Fokusgruppen, teilnehmende Beobachtungen, Strukturlegetechniken
(Card Sorting), Storyboards, Personas
Nutzer:
Role Models / Role Maps, Focal User Roles, Relevanz
Aufgaben:
Szenarien, Essential Use Cases und Use Case Maps, User Stories, Task Cases
Anforderungen:
In Bezug auf Usability, Workflow und Gestaltung - Spezifikation auch interaktiv
Priorisierung:
Required - do first, Desired - do if time, Deferred - do next time
Präsentation auf der Mensch & Computer 2009, 06.09.2009 30 German Usability Professionals Association e.V.
31. Konzeptionsphase
Grundlage für Aufteilung von Funktions- und UI-Entwicklung
Ab der Konzeptionsphase unabhängig voneinander ausdifferenziert
Basierend auf Software- Patterns
Erstellung einer minimalen UI Spezifikation
Diskussionsbasis und Abstimmung in der Ausdifferenzierung
Definition von Schnittstellen zwischen UI und Funktionen
Prototyp-Entwicklung
Mindestens: Papier, wünschenswert: Interaktive Umsetzung
Erste Evaluationen
User- und Experten-Reviews, Usability Inspektionen
Kooperative Heuristische Evaluation
Präsentation auf der Mensch & Computer 2009, 06.09.2009 31 German Usability Professionals Association e.V.
32. Konstruktionsphase
Iteration Planning (XP) / Sprint Planning (Scrum)
Zuordnung, Gruppierung, Sortierung
Definition von Test Cases (Unit & Acceptance Tests)
Definition von Zielgrössen für Evaluation und Sprint Reviews
Parallele Entwicklung von UI und Funktionen
Wichtige UI Bereiche zunächst schnell und grob, dann verfeinern
Begleitende Evaluationen
Usability Tests, Funktionstests, Defect Cards
Präsentation auf der Mensch & Computer 2009, 06.09.2009 32 German Usability Professionals Association e.V.
33. Übergreifende Koordination
Usability „Scrum of Scrums“
Ein Vertreter aus jedem Entwicklungsteam
Übergreifendes Team
Regelmäßig, aber nicht täglich
Modellierung von wiederverwendbaren Komponenten
Ziel
Synchronisierung der verteilten UCD Aktivitäten in einzelnen Teams
Abgleich mit Analyse- und Evaluationsergebnissen
Präsentation auf der Mensch & Computer 2009, 06.09.2009 33 German Usability Professionals Association e.V.
34. Empfehlungen zur Integration
Usability Engineers and UI-Designers:
Experten als permanenter Teil des Entwicklungsteams
Preliminary Exploration & Analysis:
Vorgelagerte Analysephase um erste Einblicke in den Workflow und den
Nutzungskontext zu erhalten
Real Users:
Echte Nutzer anstatt Repräsentanten
Workflow Requirements:
Zentrales Artefakt zur Dokumentation der Nutzer-Arbeitsabläufe
Evaluation Activities:
Kontinuierliche Überprüfung von (Teil-) Ergebnissen
Gain quick user/customer feedback:
On-Site Customer/User für schnelles Feedback
Close Collaboration:
Kontinuierlicher Austausch aller Beteiligten
Präsentation auf der Mensch & Computer 2009, 06.09.2009 34 German Usability Professionals Association e.V.
35. Flexible Rollenverteilung
Anforderungen an Entwickler: Anforderungen an Usability Experten:
UI-Kompetenzen aufbauen: Kompetenzen in der Agilen Sys-
Grundlagen, Prinzipien und Me- tementwicklung aufbauen:
thoden des Usability-Engineerings Grundlagen, Prinzipien und Me-
thoden der agilen Entwicklung
Usability als gewichtigen Quali-
tätsfaktor verstehen: Im Entwicklungsteam positionieren:
Qualitäts-absicherungsmechanismen. Statt Trennung eher stetige
Warum nicht auch für Usability? Kommunikation und Koope-ration
Styleguides respektieren: Vorurteile abbauen:
Neben Konventionen der Program- Selbst XP ist weitaus strukturierter
mierung und Systemarchitektur auch und anforderungsorientierter als sein
Styleguides bei der UI-Gestaltung Ruf. Agile Methoden sind adaptierbar
einhalten. an die jeweiligen aktuellen Bedarfe,
ebenso die UCD Methoden.
Präsentation auf der Mensch & Computer 2009, 06.09.2009 35 German Usability Professionals Association e.V.
37. Themen für Folgeaktivitäten
Was macht einen "optimalen Prozess" aus?
Wir entwickeln einen AUCD-Prozess...
Was fehlt uns an Handwerkszeug?
Dokumentation, Design und Konstruktion
Rollen
Aufgaben
Organisation
...
Präsentation auf der Mensch & Computer 2009, 06.09.2009 37 German Usability Professionals Association e.V.