Was sind Design Studios? Prototyping in der agilen Entwicklung

Iteratives Prototyping ist ein wesentlicher Teil des Usability Engineering Prozesses. Er hilft, die zu entwickelnde Anwendung Schritt für Schritt zu verfeinern und weiter auszubauen. Zudem kann darauf basierend leicht Nutzerfeedback gesammelt werden. Prototyping ist auch für agile Entwicklungsprozesse, in die Usability Engineering Methoden integriert werden sollen, ein guter Ansatz, da in sehr kurzer Zeit Entwürfe erstellt werden können, mit denen die Entwickler weiterarbeiten können. Wie und wann das Prototyping möglichst sinnvoll in den agilen Entwicklungsprozess eingesetzt werden sollte, sollte jedoch gut abgewogen werden.

Prototyping als vorgelagerter Schritt?

Ein Lösungsansatz zur Verbindung von Usability Engineering und agiler Entwicklung ist oftmals, dass Usability Prozesse vorgelagert werden. Das heißt, als Usability Engineer erhebe ich in vorhergehenden Sprints Anforderungen und erstelle darauf basierend Prototypen. Die Implementierung startet dann in nachgelagerten Sprints. Das hat den Vorteil, dass der Usability Engineer sich viele Gedanken über die Entwürfe machen und diese ausführlich ausarbeiten kann.

Jeder, der schon einmal in agilen Projekten gearbeitet hat, weiß allerdings, dass sich das Product Backlog ständig ändern kann: Es kommen neue Anforderungen hinzu und es wird für jeden Sprint neu priorisiert, welche Tasks umgesetzt werden sollen. Wenn etwa dringende neue Kundenanforderungen eingeworfen wurden, kann es sein, dass diese Vorrang vor anderen Aufgaben haben. Das kann also bedeuten, dass sich die Entwickler im Sprint nicht mit der Realisierung der vorher ausgearbeiteten Prototypen beschäftigen, sondern mit den neuen Anforderungen. Das hat mehrere Nachteile:

  • Bis der Prototyp des Usability Engineers umgesetzt wird, vergehen mehrere Sprints, d.h. mehrere Wochen. Als Konsequenz bedeutet das, dass Gedanken sehr detailliert aufgeschrieben werden müssen, damit jeder nach dieser Zeit noch weiß, was er sich bei den Entwürfen gedacht hat.
  • Mit der Zeit stellt der Entwickler fest, dass die Entwürfe so technisch gar nicht umsetzbar sind. Die Entwürfe müssen geändert werden, was wieder Zeit kostet und die Entwicklung bremst. Die Umsetzung verschiebt sich wieder.

Solche Negativ-Erfahrungen kann man schnell machen, wenn man eine derart vorgelagerte Vorgehensweise nutzt. Was also tun?

Agile Softwareentwicklung heißt, die Köpfe zusammen zu stecken

Wichtig ist daher zu überlegen, was eigentlich der Grundsatz der agilen Entwicklung ist: Man arbeitet in interdisziplinären Teams zusammen, man steckt die Köpfe zusammen. Eine Vorverlagerung gibt es eigentlich nicht. Wenn wir diesen Grundsatz berücksichtigen, lösen sich schon einige Probleme.

Damit sich die Umsetzung von Prototypen nicht über mehrere Sprints hinweg verschiebt, sollte angestrebt werden, die Entwurfs- und Umsetzungsphase direkt innerhalb eines Sprints zu realisieren. Dadurch werden auch umfassende Dokumentationen vermieden, die ebenfalls gegen die Prinzipien der agilen Entwicklung sprechen und zu viel Zeit in Anspruch nehmen. Auch sollte direkt geklärt werden, was technisch realisierbar ist und was nicht. Man könnte hier natürlich als Usability Engineer mit Entwürfen starten und diese den Entwicklern zum Review geben, um anschließend das Feedback einzuarbeiten. Dies kann aber ebenfalls zeitraubend sein, da jeder unterschiedliche Sichtweisen auf solche Entwürfe hat. Warum also nicht direkt alle zentralen Rollen beim Entwurf einbeziehen?

Design Studios als gemeinsame Prototyping-Methode

Ein vielversprechender Ansatz ist die Design Studio Methode. Dabei entwickeln verschiedene Projektbeteiligte gemeinsam in einem Workshop Prototypen. Das heißt, nicht nur der Usability Engineer, sondern z. B. auch die Entwickler sind an der Prototypen-Erstellung beteiligt. Weitere Beteiligte können der Product Owner, der Projektleiter oder auch Vertreter der Kundenseite sein.

An einem solchen Workshop sollten ca. 5-8 Personen teilnehmen. Grundlage ist ein konkretes Problem bzw. eine konkrete User Story, für die ein Prototyp zu entwickeln ist. Hierbei hilft es, wenn ausgehend von einer zuvor erstellten Persona gearbeitet wird, um sich besser in die Nutzer hineinversetzen zu können.

Zunächst wird eine Time-Box von 5 Minuten gesetzt, in der jeder für sich einen ersten Papier-Prototyp sketchen soll. Diese Entwürfe werden anschließend im Team innerhalb von 3 Minuten vorgestellt, ohne diese zu kommentieren. Dann werden die Entwüfe kritisiert, d.h. deren Vor- und Nachteile diskutiert (2 Minuten). Hier sollte man als Grundregel 2 Dinge nennen, die gut funktionieren würden, sowie 1-2 Aspekte, die man verbessern müsste. Dann startet der Prozess erneut. Allerdings werden zuvor kleine Gruppen gebildet und im Team weitergearbeitet. Die drei Phasen – Skizzieren, Präsentieren, Kritisieren – bleiben erhalten.

Design-Studio-prototyping-methode-agile-softwareentwicklung-usability-engineering

Durch das iterative Vorgehen entstehen viele gute Ideen, die durch die Kritikphasen immer besser zur tatsächlichen Lösung passen. Wichtig ist jedoch, dass mittels eines Design Studios nicht die finale Lösung entwickelt wird. Allerdings kann der Usability Engineer im Anschluss an den Workshop die Lösungen recht schnell vereinen und optimieren.

Die Methode hat durch den Einbezug verschiedener Personen und die iterativen Phasen mehrere Vorteile:

  • Das Team gelangt sehr schnell zu verschiedenen Lösungen.
  • Durch verschiedene Perspektiven und Vorerfahrungen werden Lösungen entwickelt, die sonst nicht zustande gekommen wären.
  • Entwürfe werden direkt diskutiert und optimiert.
  • Jeder hat ein Verständnis und eine Akzeptanz für die finale Lösung, weil er am Prototyping-Prozess beteiligt war. Auf umfassende Dokumentationen kann daher verzichtet werden.
  • Der finale Prototyp entsteht nach nur sehr kurzer Zeit. Die Entwickler können diesen direkt im Sprint umsetzen.

Design Studios lassen sich daher sehr gut als Bindeglied zwischen Usability Engineering und agiler Entwicklung einsetzen. Und: Sie machen Spaß! 

Über den Autor

Sandra Schering leitet den Bereich Usability Engineering bei der itemis AG. Zudem unterstützt und berät sie Kunden bei der Einführung, Planung und Durchführung von Usability-Maßnahmen in Softwareentwicklungsprozessen.