Ursula Meseberg microTOOL GmbH Berlin - sigs.de · MS Windows Presentation Foundation (WPF)...

Post on 05-Jun-2018

221 views 0 download

Transcript of Ursula Meseberg microTOOL GmbH Berlin - sigs.de · MS Windows Presentation Foundation (WPF)...

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