Zum Inhalt
wannacode

Die gute Story: INVEST

Kurz gesagt: Eine gute Story ist unabhängig, verhandelbar, wertvoll, schätzbar, klein und prüfbar. INVEST ist eine Checkliste zur Durchsicht, kein Gesetz. Die teuerste Story ist die, die sich nicht prüfen lässt: Sie wird nie fertig, weil niemand weiß, wann.

Problem

Die Story, die nie endet

Eine Story liegt seit drei Wochen auf der Tafel des Teams: „Als Kunde möchte ich, dass das Bezahlen bequem ist.“ Der Entwickler hat das Formular zweimal geändert. Die Designerin hat die Buttons geändert. Jedes Mal sagt der Inhaber „es ist besser, aber das ist es nicht“.

Die Story ist nicht schlecht geschrieben. Sie hat eine Rolle, ein Ziel und fast einen Nutzen. Aber niemand kann sagen, wann sie fertig ist, also wird sie es nie.

Die Idee

Sechs Buchstaben

Bill Wake hat die Eigenschaften einer guten Story in einem Wort zusammengefasst: INVEST.

Buchstabe Bedeutet Verletzt im Shop
Independent (unabhängig) gebaut und ausgeliefert, ohne dass gleichzeitig eine andere Story nötig ist „Ich gebe den Code ein“ und „Ich sehe den Rabatt vom Code“: Das eine funktioniert nicht ohne das andere
Negotiable (verhandelbar) die Einzelheiten werden verhandelt; die Story ist kein Vertrag „ein roter Button rechts, 120 Pixel breit“
Valuable (wertvoll) bringt jemandem außerhalb des Teams etwas „die Datenbank für Gutscheincodes vorbereiten“
Estimable (schätzbar) das Team kann beurteilen, wie groß sie ist „Empfehlungen wie bei den großen Shops“, und niemand weiß, wo man anfängt
Small (klein) passt in ein paar Tage Arbeit „Ich verwalte meine Bestellungen“: Stornieren, Rückgabe, Verlauf, Adressen
Testable (prüfbar) man kann sagen, wann sie fertig ist „Das Bezahlen ist bequem“

INVEST ist eine Checkliste zur Durchsicht. Du gehst die Story Buchstabe für Buchstabe durch und fragst: Ist das in Ordnung? Wo nicht, hast du eine Frage für das Gespräch.

Genauer, für Neugierige

Bill Wake hat INVEST 2003 im Artikel „INVEST in Good Stories, and SMART Tasks“ veröffentlicht. ISTQB CTFL v4.0.1 zitiert es im Abschnitt über das gemeinsame Schreiben von User Stories.

Beim Buchstaben T hat QA die meiste Arbeit, bevor es Code gibt. Eine prüfbare Story hat dieselbe Eigenschaft wie eine prüfbare Anforderung aus der Lektion „Die gute Anforderung“: Ohne Maß gibt es keinen Test, der fehlschlagen kann.

Probier es aus

Welcher Buchstabe?

In jeder Story ist ein INVEST-Buchstabe am stärksten verletzt. Welcher?

1. „Als Kunde möchte ich meine Bestellungen verwalten.“ Darin stecken Stornieren, Zurückgeben, der Bestellverlauf, die Änderung der Adresse und das Wiederholen einer alten Bestellung.
2. „Als Kunde möchte ich einen roten Button ‚Code anwenden‘ rechts vom Feld, 120 Pixel breit.“
3. „Als Kunde möchte ich, dass der Shop mir Produkte vorschlägt, die mir gefallen.“ Niemand im Team hat je Empfehlungen gebaut oder weiß, wo man anfängt.
4. „Die Datenbank für Gutscheincodes vorbereiten.“
5. Story A: „Ich gebe im Warenkorb einen Gutscheincode ein“. Story B: „Ich sehe im Warenkorb den Rabatt vom Code“. A ohne B zeigt nichts, B ohne A hat nichts zu zeigen.

Die Idee

Die Story, die sich nicht prüfen lässt

„Das Bezahlen ist bequem“ ist die Falle vom Anfang. Wörter wie „bequem“, „schnell“, „verständlich“ und „passend“ klingen nach einer Anforderung, sagen aber nicht, wann sie erfüllt ist. Jeder liest sie auf seine Weise, und der Inhaber kann immer sagen „das ist es nicht“.

Die Lösung ist nicht ein schöneres Wort. Es ist die Frage „Woran erkennen wir, dass es fertig ist?“ und eine Antwort mit konkreten Fällen:

  • „bequem“ wird zu „ein neuer Kunde bezahlt ohne Hilfe in unter 2 Minuten“, geprüft mit fünf Menschen, die den Shop noch nie gesehen haben;
  • „schnell“ wird zu „95 % der Zahlungen sind in unter 3 Sekunden abgeschlossen, bei 200 Kunden gleichzeitig“;
  • „eine verständliche Meldung“ wird zu „bei einem abgelaufenen Code sieht der Kunde ‚Der Code ist abgelaufen‘, und die Summe bleibt ohne den Rabatt“.

Jetzt sehen alle drei (der Fachbereich, QA und der Entwickler) dasselbe. Das ist das dritte C, die Bestätigung, noch bevor die Arbeit begonnen hat.

Probier es aus

Lässt es sich prüfen?

1. „Als Kunde möchte ich, dass die Zahlung schnell geht.“ Welche Korrektur lässt sich prüfen?
2. „Als Kunde möchte ich im Warenkorb passende Produkte sehen.“ Was muss man fragen?
3. „Als Kunde möchte ich, dass die Fehlermeldungen verständlich sind.“ Welche Fassung lässt sich prüfen?

Die Idee

Klein, aber trotzdem wertvoll

Zwei der Buchstaben ziehen oft in verschiedene Richtungen. Die Story „Ich verwalte meine Bestellungen“ ist wertvoll, aber nicht klein. Schneidest du sie in „die Datenbank der Bestellungen“, „den Bildschirm der Bestellungen“ und „den Dienst für Bestellungen“, ist jedes Stück klein, aber keines wertvoll: Der Kunde kann keines allein benutzen.

Die Antwort ist, so zu schneiden, dass jedes Stück alles durchläuft, was es braucht, und jemandem etwas gibt. „Ich storniere eine bezahlte Bestellung vor dem Versand“ ist klein und wertvoll. Wie man so einen Schnitt findet, ist das Thema der nächsten Lektion.

Auch der Buchstabe E deutet etwas an. Kann das Team eine Story nicht schätzen, gibt es meistens zwei Gründe: Sie ist zu groß oder zu unklar. Große Stories werden geteilt. Unklare werden mit Fragen geklärt, und dafür ist die letzte Lektion des Moduls da.

Genauer, für Neugierige

Ist der unklare Teil technisch („können wir Empfehlungen mit unseren Daten überhaupt machen?“), führen Teams oft eine kurze, zeitlich begrenzte Untersuchung durch, einen Spike. Das ist keine Story für den Kunden. Ihr Ergebnis ist Wissen, das die Story schätzbar macht.

Übung

Prüfe die Stories

1. Korrigiere die Story. Vier Stories aus dem letzten Treffen. Wähle für jede den besten Schritt.

1. „Als Kunde möchte ich einen besseren Warenkorb.“ Was ist der beste erste Schritt?
2. „Als Inhaber möchte ich 5 % Treuerabatt, 10 % Gutscheincodes und die Regel, dass der größere gilt.“ Was ist falsch?
3. „Als Entwickler möchte ich die Art ändern, wie Bestellungen gespeichert werden.“ Wie kann sie wertvoll werden?
4. „Als Kunde möchte ich ein Produkt innerhalb von 14 Tagen zurückgeben, wobei das System das neue Rückgabemodul benutzt.“

Test

Teste dich

1. Wofür steht T in INVEST?
2. Warum ist N (verhandelbar) eine Stärke und keine Schwäche?
3. Klein und wertvoll ziehen oft in verschiedene Richtungen. Was hilft?
4. Das Team kann eine Story nicht schätzen. Was ist der übliche Grund?
5. Wie benutzt man INVEST?

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