Agile UCD (UP09 Tutorial)
-
Upload
dirkzimmermann -
Category
Technology
-
view
3.032 -
download
0
description
Transcript of Agile UCD (UP09 Tutorial)
Agiles UCD – Grundlagen, Erfahrungen, Best Practices
Dirk Zimmermann, Hartmut Obendorf, Thomas Memmel, Stephan Nufer, Florian Schauderna
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
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
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
Klassisches UCD in der SE: Wasserfall
Dirk Zimmermann
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
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
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
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
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
Agile Softwareentwicklung
Hartmut Obendorf
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)
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.
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.
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
German Usability Professionals Association e.V. Präsentation auf der Mensch & Computer 2009, 06.09.2009 16
Agile plus Usability - Einführung
Dr. Thomas Memmel
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
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
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
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?
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
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
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
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
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
Best Practices und Empfehlungen
Dirk Zimmermann
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
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
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
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
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
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
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
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.
Resümee & Diskussion
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 ...
Vielen Dank