Zum Inhalt
wannacode

Eine große Story teilen

Kurz gesagt: Eine große Story wird vertikal geschnitten: Jedes Stück durchläuft alles, was es braucht, und gibt etwas, das jemand ausprobieren kann. Die Muster zeigen, wo man schneidet: nach Schritten, Regeln, Daten, Komplexität, Qualität oder Operationen. Eine Schicht (Frontend, Backend, Datenbank) ist keine Story.

Problem

Drei Wochen und nichts zu zeigen

Die Story lautet „Als Kunde möchte ich ein Produkt zurückgeben und mein Geld zurückbekommen.“ Sie ist groß, also teilt das Team sie auf: Einer baut den Bildschirm für Rückgaben, ein anderer die Datensätze in der Datenbank, ein Dritter die Erstattung.

Nach zwei Wochen ist der Bildschirm fertig, aber er tut nichts. Die Datenbank ist fertig, aber niemand kann sie sehen. Der Inhaber fragt „Kann ich eine Rückgabe sehen?“, und die Antwort ist „noch nicht“. In der dritten Woche ist alles verbunden, und genau dann findet QA, dass die 14 Tage ab der Bestellung gezählt werden, nicht ab Erhalt der Ware.

Die Stücke waren klein. Aber keines ließ sich allein ausprobieren.

Die Idee

Vertikal, nicht in Schichten

Stell dir die Story als Schichtkuchen vor: Bildschirm, Verarbeitung, Datenbank. Wer nach Schichten teilt, schneidet den Kuchen waagerecht. Du bekommst eine ganze Schicht Creme, und niemand kann sie als Kuchen essen.

Eine gute Teilung schneidet vertikal: Jedes Stück hat von jeder Schicht so viel, wie es braucht, und gibt etwas, das jemand ausprobieren kann. Bei Rückgaben ist das erste vertikale Stück „der Kunde beantragt innerhalb von 14 Tagen nach Erhalt der Ware eine Rückgabe“. Es ist klein. Aber der Inhaber kann es in der ersten Woche sehen, und QA kann sofort die Grenze von 14 Tagen prüfen.

Das heißt Story-Teilung (story splitting): Eine große Story wird in kleinere geschnitten, von denen jede nach INVEST noch eine Story ist.

Genauer, für Neugierige

Das Kuchenbild ist alt: Schon Bill Wake benutzt es in seinem Artikel über INVEST. Ein solches Stück heißt vertikale Scheibe (vertical slice), und das Teilen nennt man auch Slicing.

Die Idee

Wo man schneidet

Es gibt nicht den einen richtigen Schnitt, aber es gibt Muster, die immer wiederkehren. Hier sind sechs, mit dem Shop:

Muster Wann es passt Im Shop
Nach Schritten des Ablaufs die Story ist ein Prozess mit mehreren Schritten Rückgabe: Antrag, Paket zurück, Lager, Geld
Nach Geschäftsregeln eine Handlung, viele Regeln die Endsumme: Lieferung, Gutscheincode, Treue, was gilt
Nach Datenvarianten derselbe Weg, andere Daten ein Produkt in einer Größe, dann mit Größe und Farbe
Erst der Hauptfall es gibt einen Hauptfall und viele Komplikationen Suche nach Name, dann Filter und Vorschläge
Erst funktionsfähig, dann die Qualität eine Anforderung an Geschwindigkeit oder Last die Zahlung, dann die Zahlung mit 2.000 Kunden gleichzeitig
Nach Operationen „verwalten“ verbirgt mehrere Handlungen Gutscheincodes: anlegen, ansehen, ändern, beenden

Die erste Frage lautet: Warum ist die Story groß? Wegen der Schritte, der Regeln, der Daten? Die Antwort legt das Muster nahe.

Genauer, für Neugierige

Die Muster hier folgen der Liste, die in der Praxis am häufigsten zitiert wird: „Patterns for Splitting User Stories“ von Richard Lawrence (2009). Ein anderer bekannter Satz ist SPIDR von Mike Cohn: Spike, Paths, Interfaces, Data, Rules.

Das letzte Muster heißt oft CRUD, nach create, read, update, delete. Im Shop wird „delete“ zu „beenden“, und warum, siehst du in der Übung.

Probier es aus

Welches Muster?

1. „Als Kunde möchte ich Kleidung mit Größen und Farben kaufen.“ Heute verkauft der Shop Produkte nur in einer Größe.
2. „Als Kunde möchte ich Produkte über die Suche finden.“ Der Inhaber denkt an die Suche nach Name, nach Preis, nach Größe, mit Vorschlägen beim Tippen.
3. „Als Kunde möchte ich, dass die Zahlung auch im Ausverkauf funktioniert, wenn 2.000 Kunden gleichzeitig kaufen.“ Es gibt noch gar keine Zahlung.
4. „Als Kunde möchte ich eine Bestellung stornieren.“ Das Stornieren ist vor dem Versand erlaubt: Bei einer neuen Bestellung ist keine Rückzahlung nötig, bei einer bezahlten auch eine Erstattung.

Probier es aus

Teile die Rückgabe

Wähle das Muster und dann die Teile der Teilung in der Reihenfolge, in der sie gebaut werden.

Story

Als Kunde möchte ich ein Produkt, das mir nicht gefällt, zurückgeben und mein Geld zurückbekommen.

Schritt 1: Nach welchem Muster wird geteilt?

Die Idee

Warum nicht nach Schichten

Das Teilen nach Schichten wirkt vernünftig, weil das Team so organisiert ist: Einer baut Bildschirme, ein anderer die Verarbeitung. Aber es kostet viel:

  • Niemand kann es ausprobieren. Der Inhaber sieht erst etwas, wenn jede Schicht fertig ist. Ist die Story falsch, erfährt er es als Letzter.
  • Es lässt sich nicht prüfen. Die Kriterien der Story („innerhalb von 14 Tagen nach Erhalt der Ware“) betreffen Verhalten, nicht einen Bildschirm oder eine Datenbank. QA wartet bis zum Ende.
  • Das Risiko liegt am Ende. Die Schichten treffen sich am Ende, und dort zeigen sich die Unstimmigkeiten.
  • Nach INVEST ist es nicht wertvoll. Kein Stück bringt jemandem außerhalb des Teams etwas.

Schichten sind Aufgaben innerhalb der Story. Entwickler bauen sie, aber die Story gilt als fertig, wenn das ganze vertikale Stück funktioniert.

Die Idee

Woran man eine gute Teilung erkennt

  • Jedes Stück ist eine Story. Sie hat eine Rolle, ein Ziel und einen Nutzen und besteht INVEST.
  • Das erste Stück bringt am meisten. Den meisten Wert oder das meiste Lernen. Ist das erste Stück „Vorbereitung“, schneidest du falsch.
  • Die Stücke überschneiden sich nicht. Keines steckt in einem anderen.
  • Zusammen decken sie die große Story ab. Oder zumindest das, was davon wirklich gebraucht wird.

Der letzte Punkt ist wichtig. Oft sagt der Inhaber nach ein paar Stücken „das genügt“. Die übrigen Stücke werden nie gebaut, und das ist kein Scheitern. So macht die Teilung ihre Arbeit.

Übung

Teile die Stories

1. Die Endsumme. Die Story über die Summe vor dem Bezahlen.

Wähle das Muster und dann die Teile der Teilung in der Reihenfolge, in der sie gebaut werden.

Story

Als Kunde möchte ich vor dem Bezahlen die Endsumme mit Lieferung und Rabatten sehen, damit ich weiß, wie viel ich zahle.

Schritt 1: Nach welchem Muster wird geteilt?

2. Die Gutscheincodes. Die Story des Marketings.

Wähle das Muster und dann die Teile der Teilung in der Reihenfolge, in der sie gebaut werden.

Story

Als Mitarbeiterin im Marketing möchte ich die Gutscheincodes verwalten, damit ich Kampagnen ohne Entwickler starten und beenden kann.

Schritt 1: Nach welchem Muster wird geteilt?

Test

Teste dich

1. Was ist ein vertikales Stück einer Story?
2. Warum sind „Frontend“ und „Backend“ keine gute Teilung?
3. „Ich verwalte die Gutscheincodes“ schneidet man am besten …
4. Welches Stück der Rückgabe sollte zuerst kommen?
5. Nach der Teilung bleibt ein Stück monatelang ungebaut. Was heißt das?

Erstellt von Ivo Gergov im Rahmen der Kampagne von Evo Tech für zugängliche Programmierausbildung ·