Agile UCD (UP09 Tutorial)

38
Agiles UCD – Grundlagen, Erfahrungen, Best Practices Dirk Zimmermann, Hartmut Obendorf, Thomas Memmel, Stephan Nufer, Florian Schauderna

description

Der Foliensatz aus dem Tutorial "Agiles UCD" der Usability Professionals Konferenz 2009 in Berlin.

Transcript of Agile UCD (UP09 Tutorial)

Page 1: Agile UCD (UP09 Tutorial)

Agiles UCD – Grundlagen, Erfahrungen, Best Practices

Dirk Zimmermann, Hartmut Obendorf, Thomas Memmel, Stephan Nufer, Florian Schauderna

Page 2: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 3: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 4: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 4

Outline (2)

  Übung 2: Agile Projektpraxis in der Selbsterfahrung // Rollenspiel Mondlandung (Hartmut)

<Pause>

  Diskussion / Mini-Workshops zu weiteren Themen

  Wrap-Up, Folgeaktivitäten

Page 5: Agile UCD (UP09 Tutorial)

Klassisches UCD in der SE: Wasserfall

Dirk Zimmermann

Page 6: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 7: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 8: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 9: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 9

Context of Use

User Requirements

Design Solution

Evaluation of Use

ISO 13407: Monolithische Phasen

  DIN EN ISO 9241-210 (ex 13407): generisches Modell

Page 10: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 11: Agile UCD (UP09 Tutorial)

Agile Softwareentwicklung

Hartmut Obendorf

Page 12: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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)

Page 13: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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.

Page 14: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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.

Page 15: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 15

Bist du schon agil oder dokumentierst du noch?

Agil bedeutet:

  Inkrementell   Iterativ   Timeboxed   Manage Change   Model with a Purpose   Travel Light   Communication over

Documentation

Agil bedeutet nicht:

  Keine Analyse   Keine Dokumentation   Nur Code

Page 16: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 16

Page 17: Agile UCD (UP09 Tutorial)

Agile plus Usability - Einführung

Dr. Thomas Memmel

Page 18: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 19: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 20: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 21: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 21

Agile + Usability – ein ungleiches Paar

  Eine Kombination beider Disziplinen ist verführerisch   Aber: wie können die ungleichen Partner einen

Entwicklungsprozess gemeinsam durchlaufen?

Page 22: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 23: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 24: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 25: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 26: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 27: Agile UCD (UP09 Tutorial)

Best Practices und Empfehlungen

Dirk Zimmermann

Page 28: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 28

Der gemeinsame Nenner

Agil will:

  Den Scope modellieren   Story Cards / Task Cards

  Schnelle Zwischenergebnisse   Testbare Systemiterationen

  Stakeholder einbeziehen

  Akzeptanz testen

  Small Releases / Refactoring

UCD will:

  Den Nutzer/Kontext modellieren   User Profiles / Task Models

  Interaktionsmodell illustrieren   Prototyping

  Nutzer einbeziehen

  Usability testen

  Umfangreiche Analyse

Page 29: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 29

Agiles UCD Modell - Komponenten

Übergreifende Koordination

Anforderung (Iteration 0)

Konzeption Konstruktion

Konzeption Konstruktion

Konzeption Konstruktion

Page 30: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 31: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 32: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 33: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 34: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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

Page 35: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 35

Flexible Rollenverteilung

Anforderungen an Entwickler:

  UI-Kompetenzen aufbauen:   Grundlagen, Prinzipien und Me-

thoden des Usability-Engineerings

  Usability als gewichtigen Quali-tätsfaktor verstehen:   Qualitäts-absicherungsmechanismen.

Warum nicht auch für Usability?

  Styleguides respektieren:   Neben Konventionen der Program-

mierung und Systemarchitektur auch Styleguides bei der UI-Gestaltung einhalten.

Anforderungen an Usability Experten:

  Kompetenzen in der Agilen Sys-tementwicklung aufbauen:   Grundlagen, Prinzipien und Me-

thoden der agilen Entwicklung

  Im Entwicklungsteam positionieren:   Statt Trennung eher stetige

Kommunikation und Koope-ration

  Vorurteile abbauen:   Selbst XP ist weitaus strukturierter

und anforderungsorientierter als sein Ruf. Agile Methoden sind adaptierbar an die jeweiligen aktuellen Bedarfe, ebenso die UCD Methoden.

Page 36: Agile UCD (UP09 Tutorial)

Resümee & Diskussion

Page 37: Agile UCD (UP09 Tutorial)

German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 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   ...

Page 38: Agile UCD (UP09 Tutorial)

Vielen Dank