
“Als Benutzer möchte ich mich bei der Website anmelden können, damit ich Zugriff auf die Website habe.”
Eine großartige User-Story, nicht wahr? Leider nicht, denn in dieser User-Story wurden viele wichtige Aspekte nicht berücksichtigt. Dennoch begegnen uns solche User-Stories in Softwareprojekten anderer Dienstleister immer wieder.
Die Folge daraus: Die Entwickler haben bei der Umsetzung entweder viele Rückfragen, deren Klärung viel Zeit kostet, oder treffen Annahmen, die nach der Umsetzung zu unerwarteten Überraschungen führen, was ebenfalls wieder Zeit kostet.
Doch was wurde eigentlich nicht bedacht? Und wie kann man so etwas verhindern?
Genau das sehen wir uns in diesem Blog-Eintrag im Detail an.
Die Krux des Unbekannten
Die große Herausforderung bei jeder guten User-Story ist es, alle fachlichen und ggf. technischen Aspekte der Anforderung vernünftig abzudecken. Das Problem dabei: Diese sind per se unbekannt und müssen mit klugen Fragen ergründet werden.
- Im Fall der genannten User-Story wären das zum Beispiel:
- Welche Zugangsdaten benötigt man, um sich anzumelden?
- Gegen welches System wird die Anmeldung geprüft?
- Was passiert im Fehlerfall?
- Was sieht der User, nachdem er sich angemeldet hat?
Ziel dabei ist es, möglichst weit vorauszudenken, um möglichst viele offene Fragen, die bei der Entwicklung oder beim Test unnötige Schleifen erzeugen, zu beantworten.
Dies ist natürlich nicht einfach, denn man muss die fachliche Domäne des Themas gut verstehen, vorausschauend denken und mit wichtigen Stakeholdern sprechen, um alle relevanten Fragen zu ergründen.
Damit dies möglichst einfach gelingt, haben wir ein klares, nachvollziehbares Vorgehen entwickelt, mit dem man zielsicher hervorragende User-Stories schreibt.
Die drei Schritte zu hervorragenden User-Stories: Verstehen, Schreiben, Verfeinern
Nach unzähligen Jahren in der Gestaltung komplexer Softwarelösungen haben wir ein Vorgehensmodell entwickelt, das uns stets am richtigen Pfad hält, wenn es um die Gestaltung wirklich hervorragender User-Stories geht. Dieses Vorgehen ist in drei einfache Schritte unterteilt:
- Verstehen
- Schreiben
- Verfeinern
Verstehen
Der erste und vermutlich wichtigste Schritt ist es, ein tiefgehendes Wissen über das Problem, das es mit der User-Story zu lösen gilt, aufzubauen. Dazu gilt es einerseits aus dem eigenen Wissen und der eigenen Erfahrung zu schöpfen und andererseits Gespräche mit Schlüsselpersonen zu führen, die von der User-Story betroffen sind.
Schlüsselpersonen für solche Gespräche sind:
- Der Kunde der Software
- Die Nutzer der Software
- Andere Projektmitglieder aus unterschiedlichen Rollen wie z.B. der erfahrenste Entwickler
Dabei dreht sich alles um das “Warum” und das “Wie”:
- Warum: Was ist der Sinn und Zweck der Story? Welchen Mehrwert bringt diese dem Nutzer des Systems?
- Wie: Wie genau soll das System reagieren? Wie soll das System mit Fehlern umgehen? Wie sind die technischen Gegebenheiten?
Schreiben
Im zweiten Schritt geht es darum, das tiefgehende Verständnis, das man im ersten Schritt aufgebaut hat, in eine schriftliche Story zu verpacken. Eine gut strukturierte User-Story lässt keine Missverständnisse zu, ist einfach zu lesen und zu verarbeiten.
Dabei ist es wichtig zu verstehen, dass die User-Story keinen Selbstzweck hat. Die User-Story dient der Vermittlung eines Arbeitspakets an Personen, die dieses Arbeitspaket umsetzen müssen. Das bedeutet, dass die User-Story so geschrieben sein muss, dass sie von den nächsten Personen, die diese in die Hand bekommen, verstanden wird.
Bei einem Projekt mit enorm erfahrenen Experten und großem Domänenwissen macht eine zehnseitige Beschreibung für einen Login vermutlich keinen Sinn und ist weder leicht zu lesen noch zu verarbeiten. Andererseits lässt eine User-Story, die nur aus der Überschrift besteht, viele Fragen offen, selbst wenn man über großes Domänenwissen verfügt.
Vom Aufbau her sollte eine User-Story immer vom Großen ins Kleine geschrieben sein. Das bedeutet, dass die Einleitung das Ziel knapp und gut erfassbar beschreibt und Details erst im weiteren Verlauf der Story konkretisiert werden.
Verfeinern
Der dritte Schritt macht eine gute User-Story zu einer hervorragenden User-Story. In diesem Schritt wird die User-Story gemeinsam mit dem Team verfeinert und auf Basis der entstandenen Rückfragen ergänzt. Wer in diesem Kontext zum Team gehört, hängt vom jeweiligen Projekt ab. Dieses Refinement kann je nach Situation mit Nutzern des Systems, Kundenansprechpartnern oder Fachexperten, jedenfalls jedoch zumindest mit den Entwicklern erfolgen.
Die Entwickler sind deswegen wesentlich, da sie die User-Story als nächstes umsetzen müssen. Es ist daher essentiell, dass diese eine Bühne für Rückfragen bekommen.
Für Rückfragen oder Anmerkungen, die die technische Umsetzung betreffen („Das machen wir am besten so …“), macht es Sinn, ein eigenes Kapitel für „Umsetzungsdetails“ in der User-Story festzuhalten, damit diese Gedanken später, bei der Umsetzung, ebenfalls in der Story zur Verfügung stehen.
Fazit
Gut dokumentierte Anforderungen machen einen wesentlichen Unterschied zwischen erfolgreichen und scheiternden Softwareprojekten aus. Es zahlt sich daher aus, diese mit einem klarem Plan und System zu erarbeiten und dafür zu sorgen, dass sie für alle Seiten verständlich sind und keine offenen Fragen zulassen.
Weitere Posts