7 Min. Lesezeit

Agilität und Usability Engineering – passt das überhaupt zusammen? Diese Frage, die ich in diesem Blogartikel zu beantworten versuche, ist keine neue, sondern ein bereits viel diskutiertes Thema.

In einem früheren Blogbeitrag berichteten wir schon über die Herausforderungen von agilen Entwicklungsprojekten und wie sich ein Usability-Test erfolgreich in solche integrieren lässt. Heute möchte ich ein paar Erfahrungen mit euch teilen, wie die Zusammenarbeit von Usability und agiler Entwicklung in meinen Projekten funktioniert hat.

Konflikte zwischen Usability und agilen Entwicklungsmethoden

Die Methoden und Techniken der agilen Softwareentwicklung sind heutzutage nicht mehr wegzudenken und für Usability-Aktivitäten gilt das gleiche. Trotzdem haben Usability Engineering und User Experience gerade in der agilen Entwicklung immer noch einen vergleichsweise schweren Stand.

Die grundlegenden Konflikte zwischen den Prinzipien und Praktiken dieser beiden Disziplinen sind vielfältig: Im Usability Engineering wird zu Beginn einige Zeit für die Anforderungserhebung und Spezifikation des Nutzungskontextes verwendet. Es ist wichtig, den Nutzer und seinen Kontext zunächst zu verstehen und beschreiben zu können. Aufbauend auf den gewonnenen Erkenntnissen kann der Nutzungskontext schließlich gestaltet werden.

Im Gegensatz dazu fordern agile Vorgehensweisen zum Beispiel schnelle Ergebnisse, da nach jedem Sprint ein potentially shippable product erwartet wird: ein Produktinkrement, das in einem Zustand sein sollte, der es erlaubt, es an den Kunden auszuliefern. Während des gesamten Projektes muss die Möglichkeit bestehen, Anpassungen vorzunehmen. Der Dokumentations- und Spezifikationsprozess sollte dabei vergleichsweise knapp gehalten werden.

Parallelen zwischen Usability Engineering und Agile

Es gibt jedoch auch einige Parallelen und somit gute Ansatzpunkte, um die beiden Disziplinen zu vereinen. Zum Beispiel werden im Usability Engineering Zwischenstände immer wieder iterativ getestet und so lange verbessert, bis ein Großteil der Usability-Probleme behoben wurde.

Diese Vorgehensweise wiederum lässt sich gut in die agile Entwicklung integrieren, da man verschiedenste Usability-Aktivitäten in die kurzen Entwicklungszyklen einbinden kann. Diese positive Erfahrung habe ich in meinem letzten langlaufenden Projekt, in welchem wir nach Scrum entwickelten, gemacht.

Meine Doppelrolle Product Owner und Usability Engineer brachte hierbei einige Vorteile mit sich. So kann ein Product Owner, der über Usability-Kompetenz verfügt, die Nutzersicht stärker in das Entwicklungsteam bringen. Auf diese Weise kann das gesamte Team für Usability-Standards und benutzerzentrierte Entwicklung sensibilisiert werden.

Die positiven Effekte werden mit jeder Iteration deutlicher und am Ende kann ein Produkt mit hoher Bedienqualität ausgeliefert werden. Die nachfolgende Abbildung zeigt wie wir die Usability-Aktivitäten in meinem letzten Projekt integrierten. Mehr Infos dazu findet ihr übrigens auch in unserem Artikel zum Thema User Story Mapping.

Roadmap: Integration von Usability-Aktivitäten in ein Scrum-Projekt

Die Rahmenbedingungen des Projekts haben es mir ermöglicht, iterativ verschiedene Usability-Aktivitäten in die Entwicklung mit einfließen zu lassen. Mal konnten die gewonnenen Erkenntnisse bereits im darauffolgenden Sprint genutzt werden, mal waren es größere Anpassungen, welche zu einem späteren Zeitpunkt eingeplant wurden.

Abschließende User Acceptance Tests bestätigten mir und dem Kunden, dass die vorherigen Usability-Maßnahmen sinnvoll und erfolgreich waren.

Erfolgsfaktoren

Doch was gilt es nun zu beachten, wenn die Entscheidung getroffen wird, Usability Engineering in die agile Entwicklung zu integrieren?

Integration verschiedener Personen/Rollen und räumliche Nähe

Es ist wichtig, dass das agile Team und der Usability Engineer eng zusammenarbeiten. Das Entwicklungsteam sollte in die Usability Aktivitäten mit einbezogen werden, um ein grundlegendes Verständnis für Usability und UX aufzubauen. Das kann gut funktionieren, wenn Product Owner und Usability Engineer ein- und dieselbe Person sind.

Denkbar ist aber auch, dass der Usability Engineer als fester Bestandteil des agilen Teams fungiert. Eine räumlich Nähe unterstützt diese Integration maßgeblich. Kurze Kommunikationswege im Team führen zu einem schnellen Austausch, zur Klärung von technischen Machbarkeiten und letztendlich zu einem positiveren Gesamtergebnis.

Frühzeitiger Einbezug von Usability und UX: vorgelagerter “Sprint 0” mit Nutzungskontextanalysen

Das Team sollte sich im besten Fall frühzeitig Gedanken über mögliche Usability-Aktivitäten in dem Projekt machen. Bereits bei der Formulierung der Vision und der Planung der nächsten Schritte sollte die Definition des Nutzungskontextes mit einbezogen werden. Vor Start des erstens Entwicklungssprints können mit Hilfe von Interviews und weiteren Analysen relevante Nutzer und deren Kontext identifiziert werden.

Einbezug echter Nutzer

Während der Entwicklung ist es wichtig, echte Nutzer einzubinden. Es bringt nichts, wenn die Usability-Tests von den eigenen Entwicklern oder dem Kunden, sofern er kein Nutzer ist, durchgeführt werden.

Design Sprints oder Design Studios in Erwägung ziehen

Es kann hilfreich sein, wenn Design Sprints in die Entwicklung integriert werden, um eine featureübergreifende Gestaltung oder ein eventuelles Redesign zu ermöglichen. Oftmals ist es jedoch auch so, dass sich Anforderungen ändern und Prototypen aus vorherigen Sprints nicht mehr relevant sind.

Aus diesem Grund ist es nicht immer sinnvoll, die Usability- und Design-Aktivitäten in vorgelagerte Sprints zu absolvieren. Stattdessen sollten die Entwurfs- und Umsetzungsphase direkt innerhalb eines Sprints erfolgen. Ein guter Ansatz hierfür ist die Design-Studio-Methode, mit der die Projektbeteiligten gemeinsam Prototypen entwickeln.

Iterative Gestaltung von Features

Aufgrund von sich ändernden Gegebenheiten sollte der Fokus beim Usability Engineering nicht nur auf der Gestaltung von ganzheitlichen Produkten liegen. Natürlich ist es wichtig, die Produktvision im Auge zu behalten, dennoch bietet es sich in der agilen Entwicklung an, inkrementell zu gestalten. Beim Prototyping beispielsweise sollte sich der Usability Engineer  mehr auf die Gestaltung von einzelnen Features konzentrieren, als immer und immer wieder das gesamte Produkt anzupassen.

Fazit

Aus meiner Sicht und meinen Erfahrungen passen Agilität und Usability Engineering sehr gut zusammen. Es gibt viele Ansatzpunkte, auf denen sich aufbauen lässt. Sicherlich gibt es Projekte, die es einem Product Owner oder Usability Engineer nicht ermöglichen, so eng mit dem Team zusammenzuarbeiten, wie es nötig wäre. Ich bin jedoch überzeugt davon, dass die enge Kopplung der beiden Disziplinen einen gewaltigen Mehrwert für jedes Projekt mit sich bringen kann.

Ihr wollt mehr zu agiler Softwareentwicklung und Usability Engineering – und einer erfolgreichen Zusammenführung beider Disziplinen erfahren? Dann schaut euch in unserem Blog um.

Erfahrt mehr über Agilität und  Usability Engineering in unserem Blog

Kommentare