User Story Mapping

Was ist User Story Mapping?

In einem Product Backlog stehen alle Aufgaben, die erledigt werden müssen, um ein Produkt herzustellen. Diese Aufgaben werden nach ausgewählten Eigenschaften der Aufgaben sortiert und priorisiert. Dies hat für die Produktentwickler den gravierenden Nachteil, nicht über das große Ganze im Bilde zu sein. Die Zusammenhänge sind in einer sortierten Liste nicht sichtbar. Anhand eines Product Backlog ist es unmöglich zu verstehen, welchen Mehrwert das Produkt liefern und wie dieser Mehrwert erreicht wird.

User Story Mapping ist ein Tool mit nützlichen Eigenschaften

Eine User-Story Map fügt dem eindimensionalen Product Backlog eine weitere, horizontale, Dimension hinzu. Dabei bleiben die Prioritäten erhalten – ergänzt um die zeitliche Abfolge der Aufgaben. User Story Maps helfen:

  • gemeinsames Verständnis herzustellen,
  • Missverständnisse zu vermeiden,
  • Erkenntnis über interne Abläufe zu erhalten,
  • das Produkt in seiner Gesamtheit zu verstehen,
  • Releases zu planen,
  • Szenarien und Ausnahmen zu modellieren,
  • als Grundlagenpapier für Diskussionen.

Alle Stakeholder sollen sich beim Erstellen einer User-Story Map beteiligen.

Wie funktioniert User Story Mapping?

Ähnlich wie Jeff Patton in seinem Buch “User Story Mapping”[1], verwende ich hier das Beispiel: morgens die Wohnung verlassen, um zur Arbeit zu kommen. Vom Aufstehen bis zum Losgehen.

Das benötigst du für das User Story Mapping

  • Stakeholder (nur in der Gruppe): Entwickler, Anwender, Kunden, Produktmanager.
  • Produktidee: was die User Story Map zum Ziel hat.
  • Büromaterial: Klebezettel in verschiedenen Farben und Form, Stifte, Klebepunkte.
  • Elektronisches Tool (optional): ein Tool, mit dem man elektronische Klebezettel beliebig anordnen kann. Zum Beispiel Miro.
  • Snacks & Erfrischungen: mit Nervennahrung geht es leichter.

Wenn du eine User-Story Map nur für dich erstellst, brauchst du in der Regel nur die Produktidee und ein elektronisches Tool oder Klebezettel.

So fängst du mit User Story Mapping an

Fangen wir an: Schreibe die, aus deiner Sicht, notwendigen Aufgaben auf, um aus dem Haus zu gehen. Schreibe aus deiner persönlichen Sicht. Gehe dazu einfach einen normalen Morgen in Gedanken durch, so wie du ihn erlebt und was du getan hast.

Von der Idee zur User Story Map

Wenn du in der Gruppe User Story Maps entwickelst, müssen die Teilnehmer ihre Tasks gleichzeitig, jeder für sich, schreiben. Doppelte Tasks werden später beim Bau der Story Map entfernt.

Bei mir entstehen unter anderem diese Tasks:

User Tasks organisiert

Wecker ausmachen, Aufstehen, Duschen, Zähne putzen, Haare stylen, Abtrocknen und so weiter.

Nach einer Weile hast du eine Menge Aufgaben vor dir liegen. Vermutlich sind sie nicht vollständig. Das macht nichts.

Übrigens: Jeder von uns hat unterschiedliche Vorgehensweisen für seine Morgenroutine. Wenn du Haustiere hast, wird das Füttern der Tiere an einen anderen Ort untergebracht. Oder wenn, du Medikamente nehmen musst, oder nicht Frühstückst oder Tee statt Kaffee trinkst. Streite nicht darüber.

User Tasks aufschreiben

Schauen wir uns jetzt die aufgeschriebenen Aufgaben mal genauer an. Jede Aufgabe enthält ein Verb. Wenn nicht, dann ist es keine Tätigkeit und hier nicht verwendbar. Ich nenne die Aufgaben von jetzt an Tasks, weil sie im Kontext der User Story Mapping so genannt werden.

Tasks sind das, was wir tatsächlich tun. Wenn wir Tasks beschreiben, bei denen jemand mit unserem Produkt wie Software, Fahrzeug oder Bratpfanne interagiert, dann sind dies User Tasks.

Formuliere die Aufgaben, ich verwende ab jetzt den Begriff Tasks, aus Sicht des Benutzers. Benutzer wenden das Produkt in verschiedenen Kontexten an und sind vielleicht gezwungen, abweichend handeln zu müssen. Versuche immer aus Sicht des jeweiligen Nutzers zu beschreiben. Bei unserem Beispiel wird dir das wirklich leicht fallen.

Du hast bisher Klebezettel mit den Tasks beschriftet, die du erledigen musst, um das Ziel zu erreichen. War doch ganz einfach.

In der Gruppe wirst du feststellen, dass jeder unterschiedlich viele Tasks geschrieben hat. Das ist in Ordnung. Wenn du Tasks als Steine betrachtest, und auf diese darauf haust, zerbricht der Stein in kleinere Steine. Es gibt nun mal Personen, die mehr ins Detail gehen als andere – oder fester draufhauen. Was die richtige Größe einer Task ist, entscheidest du selbst.

Du kannst das “Ziel Level”-Tool von Alistair Cockburn nutzen. Es basiert auf einer Höhen-Metapher. Der Meeresspiegel ist die Mitte und die Tasks können sich entweder über oder unter dem Meeresspiegel befinden.

Höhenmetapher nach Alistair Cockburn

Tasks über dem Meeresspiegel beschreiben Aufgaben, die zuerst abgeschlossen werden, bevor wir bewusst damit aufhören. Insbesondere Duschen. Duschen ist ein Meeresspiegel-Task, weil vermutlich niemand auf die Idee kommt, mittendrin aufzuhören, zu frühstücken und später fertig zu duschen.

Solche Tasks lassen sich in mehrere Sub-Tasks aufteilen. Kräftig draufhauen, um bei der Steine Metapher zu bleiben. Dabei kommen dann vielleicht Bröckchen wie: Wasser aufdrehen, Temperatur einstellen, Haare waschen bei heraus. Vielleicht fällt Haare waschen auch weg, weil keine Haare vorhanden. Anstelle dessen kommt vielleicht Schädel rasieren. Menschen sind einfach unterschiedlich, immer. Diese Bröckchen sind Subtasks und werden unter der Meereslinie angeordnet.

Organisiere die User Tasks

Jetzt werden die Tasks von links nach rechts in der Reihenfolge der Ausführung angeordnet. Bleibe dabei oberhalb der Meereslinie. Erzähle dabei eine Geschichte, nimm den ersten Task und erkläre, was du zuerst tust, dann nimmst du den nächsten Task und sagst, was du danach tust. Es entsteht ein narrativer Flow, eine Erzählrichtung.

Meine Tasks im Narrative Flow

Während du die Story erzählst, fällt dir vielleicht auf, dass Tasks fehlen. Versuche zu entscheiden, ob sie wichtig sind und wenn, ergänze entsprechend.

Die User Story verdichten

Um die Story nicht zu breit werden zu lassen, kannst du Tasks, die ungefähr gleichzeitig durchgeführt werden untereinander anordnen. Bei mir fallen duschen, Zähne putzen und abtrocknen fast zeitgleich zusammen. Auch das Aufstehen, Wecker ausmachen, Bett verlassen ist fast zeitgleich.

User Tasks Organisiert

Trotzdem kann dein Erzählfluss ziemlich in die Breite gehen, hilft dir aber, Lücken zu finden und zu füllen. Du bekommst schnell hunderte von Zetteln zusammen.

Varianten und Alternativen finden

Frage dich: “was habe ich gestern getan, oder letzte Woche”. Denke an Tage, wo was schiefging. Vielleicht gab es keinen Strom oder kein Wasser oder der Hund hat in die Wohnung gepinkelt. Schreibe die zusätzlichen Tasks auf und ergänze den Erzählfluss der Geschichte.

Dann stelle dir deinen perfekten Morgen vor. Vielleicht kannst du Dinge tun, die du sonst nicht tun konntest. Du hast vielleicht mehr Zeit und kannst im Bett frühstücken. Solche Details, Szenarien und Ausnahmen gehören in deiner Story Map vertikal untereinander.

Schreibe dazu die Tasks auf Klebezettel und ordne sie vertikal unter den thematisch passenden Tasks an, die sich über dem Meeresspiegel befinden. Wenn du zusätzliche Tasks über dem Meeresspiegel hinzufügst, wirst du sie vermutlich zwischen andere Tasks in der ersten Ebene quetschen müssen. Mach dir dabei keinen Druck. Füge die zusätzlichen Tasks da ein, wo sie sich richtig anfühlen.

Strukturieren durch Zusammenfassen

Die Map ist vermutlich ziemlich breit geworden. Vielleicht ist sie auch ein wenig in die Tiefe gegangen. Lass uns die Story Map strukturieren. Schau dir die Map so an, dass du sie ganz überblicken kannst. Wenn du mit Klebezetteln arbeitest, tritt etwas zurück. Arbeitest du elektronisch, stelle den Zoom passend ein.

Wenn du dir jetzt die Tasks aus der obersten Ebene anschaust, wirst du bemerken, dass diese thematisch zusammen hängen. So kannst du etwa Duschen, Haare stylen, Zähne putzen etc. zu “Körperpflege” zusammenfassen.

Brote schmieren, Kaffee kochen und Eier kochen könntest du als “Frühstück” zusammenfassen.

User Tasks komprimiert

Der Backbone der User Story Map ist fertig

Wir nennen die Zusammenfassungen: Aktivitäten. Schreibe diese Aktivitäten auf andersfarbige Klebezettel und füge sie über dem Task ein, an dem die Aktivität beginnt. Es ist ein wenig so, als wenn du deine Geschichte in Kapitel aufteilen möchtest. Damit hast du den Backbone der User Story Map erstellt. Die Aktivitäten bilden die Wirbelsäule deiner User Story Map.

Versuche herauszufinden, wie die Nutzer des Produkts diese Aktivitäten bezeichnen und schreibe diese auch so auf. Wording ist ein mächtiges Instrument.

Arbeiten mit der User Story Map

Du bist jetzt schon sehr weit mit deiner Map gekommen. Du kannst leicht das Produkt überblicken, anderen das Produkt erklären und darüber diskutieren. Du hast jetzt eine Basis Map, die den Happy Path beschreibt, also das was geschieht, wenn alles nach Plan läuft.

Leider läuft es nicht immer nach Plan. Wenn das passiert, kannst du die richtig coolen Möglichkeiten einer Story Map nutzen. Du kannst jetzt Szenarien, Ausnahmen, Releases und vieles weitere planen. Schauen wir uns mal an, wie das geht.

Szenario: Stromausfall

Lass uns ein Szenario “Stromausfall” planen. Ziehe zuerst eine horizontale Linie unter die Tasks. Schreibe “Stromausfall” auf einen Notizzettel, mit einer noch nicht benutzen Farbe, und positioniere ihn an die linke Seite deiner Map, oberhalb der Linie.

EIn Szenario der Benutzerhandlung

Positioniere nun alle Tasks unter der Linie, von denen du weißt, dass diese zur Ausführung Strom benötigen. Zum Beispiel “Kaffee machen”, oder “Haare föhnen”. Dann erstellst du Tasks, die du stattdessen nutzen kannst, wie “Kerzen anzünden”, “Kaffee mit Campingkocher” machen, “Mütze rauskramen” – wegen der nassen Haare und so weiter. Danach hast du dein komplettes Szenario geplant.

Ausnahme: Verschlafen

Oje, du hast vergessen, den Wecker zu stellen. Jetzt lautet dein Outcome nicht mehr, “Die Wohnung verlassen, um zur Arbeit zu gelangen”, sondern “Die Wohnung *möglichst schnell* zu verlassen, um zur Arbeit zu gelangen”. Wie lässt sich diese Ausnahme in der Story Map darstellen?

Schreib den neuen Outcome auf einen Zettel und positioniere ihn auf der linken Seite der Story Map. Ziehe eine horizontale Linie darunter und verschiebe alle Tasks, die nicht zwingend benötigt werden, um den Outcome zu erreichen, unterhalb der Linie. Das könnten alle Tasks, der Aktivität “Frühstücken” sein. Vielleicht lässt du “Kaffee kochen” lieber oberhalb hängen, weil du sonst gar nicht in die Gänge kommst. Vielleicht duschst du auch nicht, putzt die aber die Zähne. Wenn du nur noch die wirklich erforderlichen Tasks beim neuen Outcome stehen hast, ist deine Ausnahme fertig beschrieben.

Achte darauf, dass du niemals Aktivitäten vertikal verschiebst. Aktivitäten bleiben auf der Ebene wo sie sind.

Releaseplan: Minimum Valueable Product (MVP)

Releasepläne sind wichtig. Deshalb werden wir jetzt ein Minimum Valueable Product planen. Ja, ich weiß, du glaubst, ich habe das jetzt falsch ausgedrückt. Heißt es nicht Minimum Viable Product?

Überraschung! Nein, das war meine volle Absicht. Meine These lautet: Was soll ich mit einem kleinsten lebensfähigen Produkt anfangen, dass weder Outcome noch Nutzen bietet und für mich keinen Wert hat? Deshalb nenne ich das Produkt wertvoll, weil es mir einen Wert bietet.

Mike Cohn geht sogar einen Schritt weiter und nennt solch ein Produkt “Minimum Marketable Feature”, das kleinstmögliche vermarktbare Feature. Diese Zuschreibung finde ich ideal, wenn Produkte für den Massenmarkt entwickelt werden. Zurück zum Release-Plan.

User Story Map

Schreibe “Minimum Valuable Product” auf einen Zettel – das ist schließlich ein Outcome und positioniere ihn links neben der Story Map. Ziehe eine horizontale Linie unter die Tasks und ordne alle Tasks, die nicht für das MVP benötigt werden, unter die Linie.

Für das Folgerelease schreibst du den Outcome des nächsten Releases auf einen Zettel und ordnest ihn unter der Linie an. Ziehe eine weitere Linie unter die Tasks und verschiebe alle Tasks, die nicht für den Outcome des Folgerelease notwendig sind, unter die Linie.

Wiederhole den Vorgang so oft, bis du die erforderlichen Releases geplant hast. Es ist beeindruckend einfach, oder nicht?

Mehrere Akteure berücksichtigen

Vielleicht fragst du dich schon eine Weile, was du tun musst,, wenn die Bearbeitung von Fällen innerhalb des Narrative-Flows, den Akteur wechselt. Für unser Beispiel wäre das der Fall, wenn du mit jemandem zusammen wohnst, der dir das Frühstück zubereitet.

Um Akteure in die Map zu integrieren, benötigst du Zettel mit einer Farbe oder Form, die du noch nicht verwendet hast. Schreibe die Rolle der Akteure auf separate Zettel und positioniere diese über die Aktivität, welche der Akteur ausführt. Ändert sich der Akteur während der Erzählung, positioniere einen neuen Zettel mit dem entsprechenden Akteur. Übrigens: Akteure müssen nicht zwingend Personen sein. Akteure können genauso gut andere Systeme, Maschinen oder Sensoren sein.

Fazit

User Story Mapping ist eine hervorragende Technik, um kontextbezogen Handlungen zeitlich und priorisiert darzustellen. Es fördert bei der Erstellung einer User-Story Map, das dringend benötigte gemeinsame Verständnis. Gegenargumente, dass eine User-Story Map viel Zeit für die Erstellung benötigt und Ressourcen bindet, wird durch die vermiedenen Missverständnisse, Fehlentwicklungen und Falschannahmen entkräftet. Der ROI des User Story Mapping ist für die Stakeholder erst nach einem User Story Mapping Workshop spürbar. Dann aber nachhaltig und positiv.

Bleib Gesund!

Frank Schatz,
damit es agil wird.


Quellen:

1. Jeff Patton, 2014: User Story Mapping: Discover the Whole Story, Build the Right Product

Ich wünsche dir eine stressfreie Zeit.
Frank

Frank Schatz

Frank Schatz

Als Trainer, Mentor und Coach ist Frank Schatz vielleicht einer der gefragtesten T-Shaped Agilisten im deutschsprachigen Raum. Er ist geprüfter Sachverständiger für agiles Projektmanagement und seit über 25 Jahren IT-Unternehmer, Agile Work Experte und Certified Instructor. Frank Schatz, damit es agil wird.

Agile Work

Die Agile Transformation

Agiles Mentoring