Agile + Usability: Produkte mit hoher Bedienqualität agil entwickeln (Teil 2)

Usability in Scrum – Glückliche Ehe oder garantierter Scheidungsfall?

Wie in meinen ersten Beitrag zum Thema „Agile + Usability“ besprochen, bietet die Hochzeit von Agilisten und Usability Spezialisten eine attraktive Perspektive bei der Entwicklung gebrauchstauglicher und erlebnisreicher Softwareprodukte.

Für die Integration der beiden Disziplinen ist es wichtig, dass nicht nur eine einfache Lösung effizient und effektiv entwickelt wird (Agile), sondern auch definierte Usability und User Experience Ziele erreicht werden. Beides lässt sich miteinander vereinen, wenn eine gemeinsame Produktvision vorhanden ist. Wenn die Vision eine hohe User Experience beschreibt, dann muss auch die einfachste funktionierende Lösung das Erreichen eines positiven Nutzerlebnisses ermöglichen. Mit der Vision einigen sich Agilisten und User Experience Spezialisten auf das Erreichen einer hohen Bedien- und Erlebnisqualität. Die Vision fungiert wie der Ehevertrag zwischen den Disziplinen. Der Erfolg des agilen Vorgehensmodells Scrum (Schwaber & Beedle 2001; Pichler 2008), das seinen Ursprung in der Produktentwicklung hat (Takeuchi & Nonaka 1986), 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 bzw. User Experience Experten. Einige ausgewählte Gründe für diese erfolgreiche Liaison möchte ich im Folgenden anhand des Entwicklungsprozess und der Rollen innerhalb des Scrum Teams näher erläutern.

Prozess

Das Scrum Vorgehensmodell vermeidet eine umfangreiche Analysephase. Während unvollständige Anforderungen in vielen Entwicklungsprozessen den Projekterfolg in Frage stellen, sieht Scrum darin eine besondere Chance. In Scrum leben Anforderungen besonders frei und flexibel und erst im Laufe der Entwicklung werden die Anforderungen für das Produkt präzisiert. Grundlage ist lediglich eine formulierte Produktvision und damit verbundene Entwicklungsziele. Gerade bei der Konzeption und Entwicklung innovativer Produkt eignet sich Scrum daher auch aus Sicht des Usability Engineering sehr gut. Der Design Space wird über mehrere Iteraktionen hinweg offen gehalten und durch die Auslieferung von Produktinkrementen lernen Entwickler und Stakeholder dazu, wodurch auch die Anforderungen genauer und reifer werden. Die nach jedem Sprint ausgelieferten Small Releases können dabei als ausführbare (User Interface) Prototypen angesehen werden, zu denen das Scrum Team Feedback einholen kann. Im Gegensatz zu Usability Engineering Prozessen wird bei einer Kombination von Usability und Scrum zu Beginn kein vollständiges User Interface Konzept festgelegt. Dies ist für neue Produkte, zu denen keine Erfahrung in der Auftraggeberorganisation und im Scrum Team vorhanden ist, aber auch in anderen Entwicklungsprozessen kaum möglich. Damit aus den einzelnen Produktinkrementen dennoch eine hohe Qualität der Benutzerschnittstelle entstehen kann, benötigen die Entwickler eine große Erfahrung und umfassende Entwicklungskompetenzen, um die Architektur von Front- und Back-End flexibel zu halten. Gleichzeitig müssen auch umfassendere Änderungen von Usability Engineers und Designern als Chance zur Verbesserung akzeptiert werden. Ist diese Grundlage geschaffen, können Usability und User Experience auch ohne Analysephase entstehen. Da Scrum intensives Testing vorsieht, können auch Usability Tests in den Sprint eingebettet werden. Wenn Usability Experten ins Scrum Team integriert sind, kann im Rahmen des Sprint Review auch gezielt Feedback zum User Interface eingeholt werden.

Rollenverteilung

Zur erfolgreichen Integration von Usability Expertise ins Scrum Team bestehen mehrere Möglichkeiten. In Scrum bietet es sich beispielsweise an, dass die Rolle des Product Owner durch einen Product Manager bzw. User Experience Manager besetzt wird. Dies ist möglich, weil der Product Owner selbst keine Softwareentwicklungskompetenz einbringen muss. Er hat jedoch die Verantwortung für das Produkt und ist die Schnittstelle zum Kunden und seinen Anforderungen. Ein Product Owner, der über Usability Kompetenz verfügt, kann die Benutzersicht daher an der Schnittstelle zwischen Kunde und Scrum Entwicklungsteam einbringen. Eine andere Möglichkeit besteht darin, dem Product Owner einen Usability Engineer als Coach zur Seite zur Stellen. Auf diese Weise kann Usability Qualität auch dann berücksichtigt werden, wenn der Product Owner selbst keine entsprechende Erfahrung aufweisen kann. Der Usability Coach ist im Optimalfall gleichzeitig auch ein Mitglied des Entwicklungsteams und springt zwischen der Rolle eines Usability Beraters und der eines Usability Entwicklungsingenieurs (z.B. User Interface Programmierer) hin und her. Dies ist in Scrum durchaus erlaubt, was zudem erhebliche Synergieeffekte mit sich bringt. Durch den Usability Entwicklungsingenieur kann Usability Kompetenz im Team aktiv gelebt werden, so dass andere Programmierer etwa durch Pair Programming zusammen mit dem Usability Experten z.B. für Design Prinzipien und Usability Standards sensibilisiert werden. Auf diese Weise wird der Qualitätsfaktor Bedienqualität mit jeder Iteration mehr gelebt und gefördert.

Zusammenfassung

Die Verschmelzung von agilen Methoden mit Usability Engineering und User Experience Design birgt enormes Potential. Damit die Kombination beider Vorgehensweisen funktionieren kann, müssen beide Populationen aufeinander zu gehen. Weil insbesondere in Scrum der Teamgedanke sowie eine intensive Kommunikation wichtig sind, müssen sich Usability und User Experience Designer unter Umständen neue Arbeitsmethoden aneignen, sich von Individualisten zu Team Playern entwickeln und für Transparenz im Design Prozess sorgen. Dies kann durch die Verwendung von Methoden und Werkzeugen gelingen, die auch in der agilen Welt bekannt sind (Memmel et al., 2007). Eine in Scrum favorisierte Verwendung von Karteikarten und Skizzen, zum Beispiel innerhalb eines Design Room, passt bereits gut zu vorhandenen Praktiken aus dem Usability Engineering, darunter zum Beispiel die Entwicklung von Personas und Essential Use Cases auf Karteikarten nach dem Modell von (Constantine & Lockwood, 1999). Grundsätzlich lassen sich Methoden des Usability Engineering sehr gut mit Scrum vereinbaren, da Usability Experten ähnlich wie die meisten Agilisten eher leichtgewichtige Modellierungsmethoden anwenden und eher selten komplexe CASE-Werkzeuge zum Einsatz kommen. Erkennen die Agilisten umgekehrt den Mehrwert einer hohen Usability und User Experience Qualität, steht der agilen Entwicklung erfolgreicher Softwareprodukte nichts mehr entgegen.

Es interessiert mach sehr, wie Ihre Einschätzung zur Kombination von Scrum und Usability ist und von welchen Praxiserfahrungen Sie berichten können.

Literatur

Ein Gedanke zu „Agile + Usability: Produkte mit hoher Bedienqualität agil entwickeln (Teil 2)

  1. Pingback: Twitter Trackbacks for Agile + Usability: Produkte mit hoher Bedienqualität agil entwickeln (Teil 2) | usabilityblog.de [usabilityblog.de] on Topsy.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.