View
220
Download
0
Category
Preview:
Citation preview
So kommen Farbe und Form ins Spiel:
Usability Engineering in Projekten nach ScrumEin Erfahrungsbericht
Ursula MesebergmicroTOOL GmbH · Berlin
© 2010 microTOOL GmbH, Berlin. Alle Rechte vorbehalten.
UsabilityUm was geht es?
2
Darum?3
Darum!
4
Nutzungskontext
Benutzer
Produkt
Ziele
Maße derGebrauchstauglichkeit
Effektivität
5
Genauigkeit und Vollständigkeit der ZielerreichungAufwand im Verhältnis zu Genauigkeit und Vollständigkeit
Usability
Nach DIN EN ISO 9241
Zufriedenstellung
Effizienz
Unsere Ziele
Bessere Usability durch einen besseren Entwicklungsprozess
Integration von Usability Engineering in die Softwareentwicklung nachScrum
6
7
Agenda
Das Projekt
Scrum aus Entwicklersicht
Der Usability Engineering Prozess
Integrationsansatz: Parallel Tracking
Integration: Unser Weg
Scrum aus Sicht des Usability Engineer
Ein Beispiel aus dem Projekt
Lessons Learned
8
Das Projekt SPSF
Entwicklung einer Software-Produktlinie für modellgetriebene Software-Fabriken
Variabilitäts-management
IndividuelleKomponenten
Komponenten, die in allen Varianten vorkommen
AlternativeKomponenten
Gefördert vom BMBF im Rahmen von KMU-innovativ: IKT
Technologie: Microsoft .NET, WPF, C#
9
EntwickleTests
Imple-mentiereFunktion
Denke
Stand-up Meeting
NUnit-Testsin
Build-Datei
ProductBacklog
Sprint
Ein-gecheckte, lauffähige Funktionen
Referenz-implemen-tierungen
Der EntwicklungsprozessScrum aus Entwicklersicht – wie wir es nutzen
2 Wochen
Tasks
Sprint-Review
10
Sprint Backlog
Sprint-Planung
1
Sprint-Planung
2
Anforderungen definieren
Ein Usability Engineering Prozess11
Nach EN ISO 13407:
Benutzerorientierte Gestaltung interaktiver Systeme(User-centered Design UCD)
Lösung entwickeln
Lo-Fi Prototypen
Hi-Fi Prototypen
Lauffähige Produktversionen
Lösung gegen Anforderungen
evaluieren
Benutzer und Nutzungskontext analysieren
Passen Scrum und der
Usability Engineering Prozesszusammen?
12
Beide sind
anforderungsgetrieben
iterativ
feedback-orientiert
13
Up-front Analyse von Nutzerwünschen und Nutzerverhalten
Up-front Design von visuellen Schemata und Interaktionsarchitektur für eine einheitliche und konsistente Benutzeroberfläche
Up-front-Analyse & Design
Usability Engineering setzt auf …A
ber
…
14
Up-front-Aktivitäten sind ein No-go der agilen Entwicklung:
Wie kommt man ohne sie zu
homogenem Interface Design und
konsistenter Benutzerinteraktion ?
Das Up-front-Problem15
sehr kurze Zyklen: Anforderungen definieren – Lo-Fi Prototyp erstellen –Usability am Prototyp evaluieren
auch sehr lange Zyklen z.B. durch Usability-Tests mit Endnutzern
Usability Engineering hat …A
ber
…
16
Wietaktetman dieseZyklenin gleich lange Sprints ein?
Das Synchronisations-problem
17
In Scrum werden die Anforderungen desKunden (Auftraggebers) umgesetzt
Der Kunde ist nicht der Endnutzer
Usability Engineering erfordert EndnutzerbeteiligungA
ber
…
18
Wie erreicht man, dass nicht nur
anforderungsgerechte,
sondern auch endnutzergerechteSysteme entstehen?
Das Problem derNutzerbeteiligung
19
Entwicklungs-Track
Usability EngineeringTrack
Synchronisation durch Parallel Tracking
Technologie-Exploration
Analyse der Benutzer
Grundlagen des Interaktions-designs
Basis-funktionenentwickeln
Sprint 0 Sprint 1 Sprint 2 Sprint 3
Usability der Lösung aus Sprint 1 testen
Oberfläche für Sprint 3 entwerfen
Benutzungs-kontext fürSprint 4 analysieren
Oberfläche für Sprint 2 entwerfen
Benutzungs-kontext für Sprint 3analysieren
20
Entwurfimplementieren
Usability der Lösung aus Sprint 2 testen
Oberfläche für Sprint 4 entwerfen
Benutzungs-kontext für Sprint 5 analysieren
Entwurfimplementieren
Parallel Tracking
Agilität eingeschränktPlanung über drei Sprints
Synchronität nicht stabil
Zusammenarbeit unproduktivKlassischer Workflow Usability EngineerEntwickler
21
Entwurf/Prototyping mitAdobePhotoshop
Usability Engineer Entwickler
Visual StudioProjekt
Implementierung von Layout, Interaktion und Funktionalität mit Microsoft Visual Studio
JPG
BMP
GIF
22
nicht direkt verwertbarer Rastergrafik„Klassischer“ Workflow mit
MS Windows Presentation Foundation (WPF)
Usability Engineer
„Neuer“ Workflow auf Basis von
Visual StudioProjekt
WPF-Anwendung
in C#
XAML
Implementierung der Anwendungs-logik mit MS Visual Studio
Implemen-tierungLayout/ Interaktionmit MS Visual Studio
Entwurf/PrototypingmitAdobeIllustrator
AI
Vektorgrafik
Entwicklung Layout/ Interaktion mit MS Expression Blend
Data Binding
XAML
Usability Engineer Entwickler
23
Erster Versuch
Der „neue“ Workflow als Grundlage
Aufteilung des Usability Engineering auf zwei Rollen
Integration beider in das Scrum-Team
User Interface DesignerLayout, XAML
User Interaction DesignerInteraktion, XAML & C#
24
Guter Start mit Sprint 0
Benutzer- und Nutzungskontextanalyse mit Discount-Methode
Anlegen eines Style Guides im Firmen-Wiki
Konzentration auf Interface Design − Interaction Design nachgelagert
25
Aber dann ...
Aufteilung des Usability Engineering auf zwei Rollen unproduktiv
Layout vor Interaktion: Falsche Reihenfolge
User Interface Designer technisch überfordert
Nur Bilder statt Lösungen
26
27
„Aber wir brauchen doch jemanden fürs User Interface!“
28
Das Team:
29
Unser Weg
Festhalten am „neuen“ Workflow
Usability Engineer – besetzt mit hoher fachlicher und technischer Kompetenz
Usability Engineer bleibt „Vollmitglied“ des Scrum-Teams
Erst Interaction Design – dann Interface Design
Im zweiten Anlauf
30
Aus Sicht eines Usability Engineer
Implementiere Benutzer-
interaktionmit gestalteter
Oberfläche (Layout) Sprint-
Review
Denke
Mache „Refactoring“
Hi-Fi Prototyp der Benutzer-interaktion
(XAML)
Der Scrum-Ablauf
Sprint-Planung
Eingecheckte,lauffähige Funktionen
für Benutzer-interaktion
mit gestalteter Oberfläche
Denke − Anleihe vom Parallel TrackingMache „Refactoring“ − Vereinheitlichung von Layout/Interaktion
Lo-Fi Prototypen (Papier oder
Adobe Illustrator)
ReviewProductOwner
31
Die Zusammenarbeit zwischen Entwickler und Usability Engineer
Ein Beispiel aus dem SPSF-Projekt
32
RIA – Rich Internet Applicationfür .NET
Views(Layout)
Data Binding
Commands& Handlers
(Interaktion)
ViewModel
ViewModel
Services
EntityModel
Client-Komponenten Server-Komponenten
33
Typische Stories und Tasks
Entwickle View (Layout)
mitInteraktion
Erstelle das View Model
(die technischeImplemen-
tierung)des Views
für Usability Engineer und Entwickler
Prototyp der Benutzer-
interaktionaus vorherigem
Sprint
34
Definiere Inhalt des Views
Transformiere View in View Model und
View Model Services
Gestalte View (grafisch/XAML)
Lege Data Binding der View Model Properties fest (XAML)
Definiere Commands/Handlers für die Interaktion
ImplementiereCommands/Handlers in C#
Prüfe View Model
Prüfe View
Geht das alles wirklich in einem Sprint?
Und passen denn die Geschwindigkeiten?
35
JaSchlüssel ist der
Automatisierungsgradder modellgetriebenen Entwicklung
36
DiagrammvorschauBeispiel
Entwickle View(Layout) mit
Interaktion für eine Diagrammvorschau
Erstelle das View Model
(die technischeImplementierung)
des Views derDiagrammvorschau
37
© 2009 microTOOL GmbH, Berlin.
Definiere Inhalt des Views
Arbeitstage des Sprints
38
Transformiere View in View Model& View Model Services
Arbeitstage des Sprints
View Model mit Code
View Model Services mit Code
39
Arbeitstage des Sprints
Klassen des durch Transformation erzeugten View Model
Gestalte View (grafisch/XAML)
Controls auswählen (hier Canvas und Grid)
In XAML implementieren (keine Generierung aus einem grafischem Entwurf möglich, da Layout flexibel ist)
40
Arbeitstage des Sprints
Lege Data Binding der View Model Properties fest (XAML)
Per Transformation erzeugterC# Code des View Model
Hier: Relative Position des Grids an Wert der X- undY-Properties des View Model binden
41
Arbeitstage des Sprints
Event Handlers definieren
Zuordnung in XAMLimplementieren
Hier: Bei Doppelklick öffne Diagramm
Definiere Commands/Handlers für die Interaktion
42
Arbeitstage des Sprints
ImplementiereCommands/Handlers in C#
43
Das fertige Feature
Arbeitstage des Sprints
44
LessonsLearned
45
Up-front-Problem gelöst durch:
Sprint 0
Discount-Methoden des Usability Engineering
Kontinuierliches Refactoring der Usability
Product Owner und Usability Engineer müssen einheitliche Vision von Layout und Interaktionsarchitektur entwickeln
46
Synchronisations-Problem gelöst durch:
„neuen“ Workflow
Anleihen beim Parallel Tracking
47
Product Owner und Usability Engineer müssen Entwicklern immer einen Schritt voraus sein
Problem der Nutzerbeteiligung noch nicht vollständig gelöst
Heute: Usability Engineer definiert, was der Endnutzer braucht
Zukünftig: Einbeziehung von Endnutzern bei Kunden in Benutzungsanalyse und Usability Tests
48
Usability Engineer muss Anwalt der Endnutzer und Berater des Product Owners sein
In qualifizierte Usability Engineers investieren
Usability Engineer nicht zum Zulieferer, sondern zum Mitglied des Scrum-Teamsmachen
Kreative, respektvolle Zusammenarbeit durch Wissen über das jeweils andere Fachgebiet fördern
49
Dann funktioniert gemeinsame agile Entwicklung nach Scrum
50
Vielen Dank
51
ursula.meseberg@microTOOL.de
Quellen
Beispiel für misslungene Fehlermeldungen:http://www.focus.de/digital/multimedia/witzige-fehlermeldungen_did_11996.html
Zum Usability Engineering Prozess:EN ISO 13407 – Benutzerorientierte Gestaltung interaktiver Systeme, DIN Deutsches Institut für Normung e.V., 1999
Zum Parallel Tracking: Miller, Lynn: Case Study of Customer Input For Successful Product, Proceedings of the Agile Development Conference 2005, S. 225-234. IEEE Computer Society
Schauderna, F.; Stucki, J.: Praxisbericht aus drei Perspektiven: Usability Engineering, Design und Entwicklung im agilen User Centered Design, Usability Professionals 2009, S. 274-278.
Sy, Desirée: Adapting Usability Investigations for Agile User-Centered Design, Journal of Usability Studies, Band 2, 3. Ausgabe, 2007, S. 112-132.
Zum Problem von Up-front Analyse & Design:Constantine, L. L.: Process Agility and Software Usability: Toward Leightweight Usage-Centered Design, Information Age, August 2002.
Zu Personas:Cooper, A., Reimann, R., Cronin, D.: About Face 3. The Essentials of Interaction Design, Wiley Publishing, Inc., 2007.
Allgemein zum Usability Engineering in agilen Projekten:Nodder, Chris; Nielsen, Jakob: Agile Usability: Best Practices for User Experience on Agile Development Projects, 2nd Edition, Nielsen Norman Group, 2008
52
Recommended