Freitag, 29. September 2017

Agile UX: Die Verknüpfung von Scrum und UX-Design für ein erfolgreiches Produkt


Mit agilen Vorgehensweisen und User Design existieren zwei Modelle, die oft nebeneinander betrieben werden. Doch anstatt mehrere Methoden anzuwenden, wäre es besser, diese beiden Vorgehen miteinander zu verknüpfen und damit weniger Aufwand und eine bessere Zusammenarbeit herzustellen. Im folgenden Artikel möchte ich aufweisen, wie das möglich ist.

Warum ist die User Experience (UX) so wichtig?


Ein Softwareprodukt wird erst dann zu einem Erfolg, wenn die späteren Anwender es auch gerne benutzen. Die Software muss den Benutzer nicht nur bei der Erledigung seiner Aufgaben unterstützen, sondern ihm dabei auch ein gutes Gefühl vermitteln. Das wird im Allgemeinen als User Experience (UX) bezeichnet und stellt vor allem in der heutigen Zeit einen wesentlichen Erfolgsfaktor bei einem Softwareprodukt dar.

Der Mehrwert einer Software kann nicht mehr durch Funktionen erreicht werden, da im Wettbewerb bereits ein hoher Standard erreicht worden ist und sich viele Produkte funktional kaum noch voneinander unterscheiden. Von den Kunden werden daher eher Produkte bevorzugt, die ein positives Nutzungserlebnis liefern.

Die Nutzererfahrung bzw. das Erlebnis spielt sich auf übergeordneter Ebene ab, den Emotionen. Das heißt, es beinhaltet nicht nur praktische Qualitäten, z.B. ob ein Ziel effektiv und effizient erreicht werden kann, sondern es wird die gesamte Qualität der Software betrachtet. Bugs und Fehler stören den gesamten Ablauf und wirken sich negativ auf das Benutzererlebnis aus. Eine hohe Softwarequalität wird dadurch umso wichtiger.

UX ist vor allem ein Erfolgsfaktor für das Produkt, wenn die Benutzer nicht nur zufrieden, sondern begeistert sind von der Software. Ziele werden schnell und vielleicht sogar spielerisch erreicht (Gamification), Abläufe sind einfach zu erlernen (verringerte Schulungsaufwände und Kosten) und die Anwender sind motiviert. Das erhöht deutlich die Wahrscheinlichkeit, dass die Software weiterempfohlen wird, was zu mehr Verkäufen führt. Letztendlich führen diese erhöhten Verkäufe zu einem noch größeren Unternehmenserfolg.

Wie wird Agile UX praktiziert?


Agile Vorgehensweisen, wie z.B. Scrum, sind inzwischen weit verbreitet, vor allem in der Softwareentwicklung. Das alte Wasserfallmodell hat aufgrund sich schnell ändernder Anforderungen weitestgehend ausgedient, es ist zu teuer und zu unflexibel. In vielen anderen Bereichen ist die klassische Vorgehensweise aber noch verbreitet und die Übergänge zu diesen angrenzenden Disziplinen sind oft hart und nicht geplant.

So wird es beim UX-Design oftmals praktiziert, dass das Design in eigene Teams ausgelagert wird und die Konzeption vor der Entwicklung stattfindet. User Tests werden dadurch erst im Anschluss durchgeführt und Fehler im Konzept werden zu spät erkannt. Nachträgliche Änderungen werden dann sehr teuer. Änderungsvorschläge vom Entwicklungsteam oder den Anwendern kommen spät beim Design-Team an und die Konzeptphase beginnt von Neuem. Die User Experience sollte daher von Anfang an berücksichtigt und als integraler Bestandteil der agilen Entwicklung mit eingebunden werden.

Ab diesem Zeitpunkt spricht man von Agile UX, sobald das UX-Design in den Scrum-Prozess eingebunden wurde. Ein Cross-Functional-Team sieht das sogar vor, dass alle Expertisen in einem Team zusammenarbeiten müssen, damit das Produkt erfolgreich wird. Das Team sollte möglichst unabhängig entwickeln können. Durch die Integration des Designs entfällt eine weitere externe Abhängigkeit.

Um das Produkt als ein gemeinsames Team iterativ entwickeln zu können, müssen die Hürden zwischen Entwicklern und Designern abgebaut werden. Das ist durch viel direkte Kommunikation und gemeinsamen Meetings möglich und es werden umfangreiche Design- und Spezifikationsdokumente vermieden. Probleme, Fragen, Anregungen und Vorschläge können direkt kommuniziert werden, ohne den phasenhaften Übergang zwischen Konzeption und Entwicklung abzuwarten. Das UX-Team wird dadurch stärker in den Entwicklungsprozess mit einbezogen und eine engere Zusammenarbeit mit den Entwicklern wird gefördert.

Um ein grundlegendes Verständnis für das zu erzielende Gesamtbild und einer einheitlichen Produktvision zu erlangen, empfiehlt sich vor der Implementierung der Oberfläche ein Workshop, dem alle Projektbeteiligten beiwohnen, dazu gehören die Entwickler, UX-Designer, der Product Owner sowie die Stakeholder. Durch diesen Workshop entfallen zeitraubende und möglicherweise missverständliche Dokumentationen, da die Ergebnisse von allen Beteiligten direkt festgelegt werden können. Die Ergebnisse des Workshops sollten danach möglichst bald in User Stories überführt werden, damit nichts in Vergessenheit gerät. Es ist allerdings wichtig, dass diese nicht bis ins kleinste Detail ausformuliert und spezifiziert werden. Das ist nicht nur unmöglich, es widerspricht auch dem Ziel agiler Methoden und Vorgehensweisen. Nach diesem Treffen haben alle Beteiligten das gleiche Bild im Kopf und die Nähe zum eigenen Produkt wird gefestigt.

Was ist im Sprint zu beachten?


Sobald die ersten User Stories stehen, können diese im Sprint angegangen werden. Dabei ist jedoch darauf zu achten, dass das Interface und das Design vor Entwicklungsbeginn nicht vollständig fertig sein muss, ein detailliertes UX-Design sollte erst dann erstellt werden, wenn es auch benötigt wird und nicht schon weit im Voraus. Zu viele Details ändern sich noch im Laufe der Entwicklung.

Viel wichtiger ist es, dass Prinzipien und Guidelines so früh wie möglich erstellt werden und sich das gesamte Team an diesen Guidelines orientieren kann, damit sich das Produkt am Ende wie "aus einem Guss" anfühlt. Dazu gehört auch, dass User Stories gemeinsam definiert und abgeschätzt werden, damit eine Umsetzung in Zusammenarbeit erfolgen kann.

Nicht nur vor Beginn der Entwicklung, auch während der Umsetzung werden fortlaufend die Bedürfnisse und Anforderungen der Zielgruppen erhoben. Die Anforderungen können sich schnell ändern, weswegen bei Anpassungen und Fortschritten im Design-Prozess alle beteiligten Personen des Workshops in regelmäßigen Abständen über Updates informiert werden sollten. "Mini-Wasserfälle" im agilen Gewand müssen vermieden werden, Kommunikation steht an oberster Stelle.

Ein wichtiges Element von Agile UX stellen die Usability-Tests dar, die in regelmäßigen Abständen durchgeführt werden müssen. Die Tests können mit Prototypen, aber auch mit dem echten Produkt durchgeführt werden, sofern eine lauffähige Version zur Verfügung steht. Die Usability-Tests sollten auf drei Ebenen durchgeführt werden:

Usability-Test vom UX-Designer
Der UX-Designer muss spätestens am Ende eines jeden Sprints einen Test der Usability durchführen, damit Änderungen und Anpassungen direkt im darauf folgenden Sprint berücksichtigt werden können.
Usability-Test vom Entwicklungsteam
Das Entwicklungsteam stellt eine wichtige Gruppe von Testern dar, da nicht nur die Usability bewertet wird, sondern auch die technische Machbarkeit, zum Beispiel von neuen Features, die dann ebenfalls vorgestellt werden. Der UX-Designer sollte während dieser Zeit zur Verfügung stehen, um etwaige Fragen zur UX oder dem Design schnell beantworten zu können.
Usability-Test von Stakeholdern
Die wichtigste Test-Gruppe sind die Anwender selbst. Dieser Usability-Test sollte alle zwei Sprints an einem festen Termin durchgeführt werden, damit jeder diesen Zeitpunkt einplanen kann. Bei diesem Test gilt der Merksatz “Get out of the building” - die echten Nutzer findet man nicht im Gebäude der eigenen Organisation.
Natürlich ist es auch möglich, eine Kombination aus den Personen dieser Gruppen zu erstellen. Die Diskussionen sind umso anregender, je unterschiedlicher die Bereiche sind, aus denen die Probanden kommen. Es gilt, den richtigen Weg zu finden und dafür müssen unterschiedliche Varianten ausprobiert werden. Es gibt nicht den einen Lösungsweg, es muss zur Gruppe und zum Produkt passen. Wichtig ist lediglich die Regelmäßigkeit, mit der Usability-Tests durchgeführt werden.

Bei allen Usability-Tests gilt, dass mögliche Änderungswünsche umgehend berücksichtigt werden können. Um einen transparenten Austausch aufrecht zu erhalten, sollte der UX-Designer, der für die Tests der Hauptansprechpartner ist, die Ergebnisse zeitnah im Daily Scrum dem Team präsentieren.

Es gibt noch weitere Varianten, die ausprobiert werden können und von jedem Team unterschiedlich angenommen werden. Manchmal empfiehlt es sich auch, den Usability-Test mit einem Sprint Verzögerung durchzuführen, um kleinere Anpassungen im Test noch mit abzudecken. Auch gibt es Ideen, abwechselnd einen Sprint die Usability anzupassen und im darauf folgenden Sprint die Usability zu testen, immer im Wechsel. Eine immer gültige Formel gibt es da nicht, es muss ausprobiert werden.

Was muss außerdem beachtet werden?


Für eine stetige Weiterentwicklung und Verbesserung des an den Kunden ausgelieferten Produktes ist es wichtig, den Anwender direkt mit einzubeziehen, da niemals alle Kunden bei den Entscheidungstreffen mit dabei sein können. Daher spielt eine Feedback-Funktion innerhalb des Programms eine wichtige Rolle, da eine bessere Nähe zum Nutzer kaum möglich ist. Für den Anwender bedeutet das, dass seine Meinung zählt und fördert zudem die offene, ehrliche und direkte Kommunikation, da keine autoritäre Zwischenebene vorhanden ist, die die Meinung beeinflussen könnte.

Außerdem ist es wichtig, vor der eigentlichen Entwicklung Personas zu erstellen, damit jeder der Beteiligten eine Vorstellung davon hat, wer das spätere Softwareprodukt bedienen soll. Die User Experience wird so aus einer anderen (externen) Perspektive betrachtet und die Entwickler, Tester und Designer können sich in die eigentlichen Anwender besser hineinversetzen. Falls keine Personas vorhanden sind kann es im Worst Case vorkommen, dass jeder eine eigene Meinung über die Bedürfnisse der Benutzer vertritt und im schlimmsten Fall aus der eigenen Sicht argumentiert.

Als weiteren Punkt ist anzuführen, dass Perfektion stets wertvolle Zeit kostet, die bekanntlich immer zu knapp ist. Das gilt vor allem für Prototypen, bei denen eine sinngemäße Abbildung der Idee völlig ausreicht. Alles andere produziert Stress und Zeitnot. Auch das fertige Produkt sollte immer Raum für Verbesserungen und Erweiterungen offen lassen, da sich im Nachgang immer Änderungen am Design ergeben werden.

Ein zusätzliches Element, welches bei Agile UX zunehmend Bedeutung findet, ist der Design Sprint. Bei diesem Vorgehen widmet sich das gesamte Scrum Team dem UX-Design zu und erarbeitet an mehreren aufeinander folgenden Tagen strukturiert Lösungen für die User Experience. Diese Vorgehensweise hat einige Vorteile, aber auch Nachteile. Sobald das Thema für mich wichtiger wird, werde ich mich damit genauer auseinandersetzen. Wer mehr darüber wissen möchte, wird hier fündig:

https://www.tandemseven.com/experience-design/ux-agile-run-product-design-sprint/
https://uxmastery.com/enough-agile-sprints-time-design-sprints/

Nicht lange überlegen, sondern anfangen!


Die Verknüpfung von Scrum und UX-Design ist sinnvoll und für ein erfolgreiches Produkt notwendig. Die Einbindung aller Beteiligten in ein Projekt bietet nur Vorteile und es kommt letztendlich dem Anwender zugute. Das Vorgehen ist auch nicht so schwierig oder kompliziert, wie es oftmals behauptet wird. Es muss einfach nur ausprobiert und ernsthaft praktiziert werden.

Über den Autor
Stephan Klimmeck ist seit 2009 in der Softwareentwicklung tätig und aktuell bei einem Softwareunternehmen für Personalabrechnungen angestellt. Dort füllt er hauptsächlich die Rolle als Scrum Master aus, unterstützt aber auch bei der Programmierung. Als Agile Coach hat Klimmeck die Einführung von Scrum in dem Unternehmen maßgeblich betreut.

Keine Kommentare:

Kommentar posten