26.11.2009, 11:31 Uhr

Agile User Experience macht Anwender glücklich

User Experience Design und agile Methoden ergänzen sich aufgrund ihrer empirischen Verfahren ideal. Die beiden Vorgehens­weisen bilden daher eine perfekte Symbiose bei der Entwicklung innovativer, benutzerfreundlicher Software-Systeme.
Ralph Jocham ist Agile-Spezialist bei Zühlke. Er hat über 8 Jahre praktische Erfahrung mit agilen Entwicklungsmethoden wie XP und Scrum und ist Certified Scrum Master und Certified Scrum Practitioner

Dr. Thomas Memmel ist Senior Usability Engineer bei Zühlke, Trainer für Requirements und Usability Engineering, begleitet seit über 8 Jahren benutzerorientierte Projekte und ist Certified Scrum Master Die Entwicklung interaktiver Systeme spielt sich im Spannungsfeld von Anforderungen, verfügbaren Ressourcen und Time-to-Market ab. Agile Entwicklungsmethoden meistern diese Herausforderung: Sie ermöglichen, in der vorgegebenen Zeit das bestmögliche Produkt zu entwickeln und dieses optimal auf die Bedürfnisse des Kunden anzupassen. Wenn die Qualität des User Interface (UI) dabei eine zentrale Rolle spielt, steht jedoch nicht nur die Umsetzung der richtigen Funktionalität im Vordergrund. Ebenso wichtig ist eine hohe User Experience (UX). User Experience beschreibt Wahrnehmungen und Reaktionen bei der Benutzung einer Software wie Spass oder ästhetisches Empfinden. Sie wird bestimmt durch Funktionalität, Präsentation und das interaktive Verhalten einer Anwendung. Wie hoch die UX empfunden wird, hängt auch von Zielen, Einstellungen und Erfahrungen des Benutzers ab. Als Qualitätskriterium ist sie verwandt mit der Usability einer Software (DIN EN ISO 9241-210). Gerade in Projekten mit unsicheren Anforderungen bieten Verfahren nach der Philosophie von «Inspect and Adapt» (Überprüfen und Anpassen) eine gute Grundlage zur iterativen Entwicklung. Da empirische Methoden sowohl das Herzstück agiler Methoden als auch von UX-Design sind, können beide Vorgehensweisen sehr gut kombiniert werden. Dabei kommt dem UX-Experten eine tragende Bedeutung zu. Arbeitet er eng mit dem Entwicklungsteam zusammen, profitieren alle von transparenter, interdisziplinärer Kommunikation und vom Wissenstransfer. Der UX-Experte kann als Coach des Produktverantwortlichen die Businessziele früh beeinflussen oder sich als vollständiges Mitglied aktiv an der Programmierung des UI beteiligen. So wird sichergestellt, dass die Bedürfnisse des Benutzers bei Entscheiden genügend berücksichtigt werden und dass die Inhalte der einzelnen Versionen auch aufgrund der Prioritäten der UX geplant werden. Voraussetzung für die Integration der beiden Methoden ist eine gemeinsame Produktvision, die eine gute UX einschliesst. Anhand der Vision legen sich beide Disziplinen auf die agile Entwicklung einer Software mit hoher Bedien- und Erlebnisqualität fest.

Exploration - gemeinsame Vision

Entscheidend ist der direkte Kontakt von agilen Entwicklern, UX-Experten und Stakeholdern bereits zu einem frühen Zeitpunkt im Projekt. Um ein gemeinsames Verständnis zu schaffen, tauschen sich die Beteiligten am besten im Gespräch unter Zuhilfenahme von textbasierten und grafischen Modellierungstechniken aus. Agile User Stories beschreiben die Features aus Sicht des Kunden in Kurzform. Sie werden durch Usage Scenarios ergänzt. Diese skizzieren den gewünschten Bedienablauf über mehrere User Stories hinweg in Textform in einer Art Drehbuch und treffen dabei bereits Annahmen über das Look & Feel der Software. Mit beiden Modellen zusammen lässt sich das UI-Konzept in einer für alle verständlichen Form beschreiben. Ein Usage Scenario wird von UX-Experten in der Regel in Kombination mit Personas verwendet, insbesondere wenn in einem Projekt der tatsächliche Endbenutzer nicht greifbar ist. In diesem Fall helfen Personas als fiktive Anwenderprofile, die Benutzerbedürfnisse und UX-Ziele im Auge zu behalten. Die Personas können dazu auf Karteikarten geschrieben und allen Beteiligten leicht zugänglich gemacht werden. Mit UI-Storyboards kann zusätzlich der Dialogfluss modelliert werden. Dabei werden die User Stories einzelnen oder mehreren Dialogschritten zugeordnet. Die zuvor definierten Usage Scenarios dienen dabei als Leitfaden. Die Bestandteile des Storyboards werden in der Entwicklung detailliert und danach iterativ und inkrementell implementiert. Eine tragfähige Architektur ist die Voraussetzung für eine leistungsfähige Software; das UI ist die Voraussetzung für eine hohe UX. Beide Bestandteile müssen daher frühzeitig abgesichert sein. Das UI-Konzept zeigt, wie die Architektur gestaltet sein muss, damit die geforderte UX erreicht wird. Vorstudien, sogenannte UI- und Architektur-Spikes, helfen, die Komplexität und das Risiko von Lösungsansätzen zu untersuchen, bevor der Entscheid für eine System- und Client-Technologie getroffen wird.

Entwicklung - gemeinsame Sprints

Agile Methoden legen Wert auf Transparenz, auch bei der Messung des Projektfortschritts. Mit der sogenannten «Definition of Done» werden alle Aktivitäten festgelegt, die für eine erfolgreiche Abnahme notwendig sind. Erst wenn diese umgesetzt sind, ist eine User Story komplett und ihr Fortschritt kann verbucht werden. Agile Projekte verwenden meist drei Abnahmekriterien: erstens implementiert, zweitens vom Kunden und drittens von der Qualitätssicherung akzeptiert. Um der UX-Integration Rechnung zu tragen, wird ein viertes Kriterium eingeführt: UX akzeptiert. Erst wenn auch dieses erfüllt ist, darf die User Story beim Showcase vorgeführt werden. Die UX-Akzeptanzkriterien sind für jede User Story zu definieren. Die klassische Form von als Beschreibung der Kundenbedürfnisse und für Akzeptanzkriterien sind nicht mehr ausreichend. Insbesondere bei Anwendungen mit interaktivem UI benötigen die User Stories als Orientierungshilfe für die Entwicklung einen Prototypen auf Papier. In komplexen Projekten können auch detaillierte Prototypen mit UI-Werkzeugen erstellt werden, die als visuelle Spezifikation dienen. Der Prototyp fungiert dabei als interdisziplinäres Kommunikationsmittel, das eine Reduktion von textbasierter Dokumentation erlaubt. Die weitere Entwicklung kann parallel ablaufen (Abbildung 1). Während die Entwickler ausgewählte Bestandteile implementieren (Iteration n), bereiten die UX-Experten weitere Iterationen vor. So können sie zum Beispiel wichtige Benutzerstudien für die übernächste Iteration (n+2) durchführen. Für die nächste Iteration (n+1) können die UX-Experten bereits konkrete UI-Elemente gestalten und interaktive Prototypen entwickeln. Diese dienen dann als interaktive Spezifikation. So arbeiten beide Disziplinen optimal zusammen und vermeiden, dass es durch die UX-Integration zu Wartezeiten bei der Entwicklung kommt. Selbstverständlich geben die UX-Experten den Entwicklern nicht nur neue Konzepte und Designs vor. Sie führen auch Usability Tests der bereits entwickelten Module durch (zum Beispiel aus der Iteration n-1) und geben die entsprechenden Rückmeldungen. Zur Qualitätsprüfung der UX dienen Evaluationstechniken, die mit geringem Aufwand umsetzbar sind, wie Expert Reviews oder Usability-Inspektionen. Sie gewährleisten zudem, dass alternative Lösungen für das UI nicht unberücksichtigt bleiben. Die transparente Zusammenarbeit und Verfügbarkeit des UX-Experten stellt dabei sicher, dass alle Anforderungen an die Usability erfüllt sind. Die UX darf auch beim Rückblick nicht vergessen werden: Was lief gut? Was könnte besser sein und wie kann es verbessert werden?

User Interfaces Agil entwickeln

Sowohl agile Methoden als auch UX leisten in vielen Projekten einen enormen Beitrag. Darüber hinaus sind die Vorgehensweisen sehr flexibel und leicht erweiterbar. Dank der Kombination von agilen Methoden mit UX-Praktiken ist es auch unter schwierigen Bedingungen möglich, eine benutzerfreundliche Software zu entwickeln. Damit Agile UX gelebt werden kann, ist neben einer intensiven Kommunikation und einer engen Zusammenarbeit viel Erfahrung in beiden Disziplinen erforderlich.
Dr. Thomas Memmel, Ralph Jocham


Das könnte Sie auch interessieren