Die Schätzung in der Softwareentwicklung ist oft die Quelle von Spannungen zwischen Product Owners und Entwicklerteams. Wenn eine Geschichte unklar ist, können Entwickler keine genauen Schätzungen für den Aufwand geben. Dies führt zu unzuverlässiger Sprintplanung, verpassten Deadlines und Frustration im Team. Die Ursache liegt selten in mangelnden technischen Fähigkeiten, sondern meist in mangelnder Klarheit bei den Anforderungen.
Um diese Lücke zu schließen, müssen Benutzerstories präzise formuliert werden. Sie sollten genügend Kontext bieten, damit ein Entwickler versteht, was, warum und welche Grenzen die Arbeit hat.was, das warum, und die Grenzen der Arbeit. Dieser Leitfaden untersucht, wie man Benutzerstories gestaltet, die eine genaue Schätzung innerhalb eines Scrum-Frameworks erleichtern, ohne auf externe Werkzeuge oder Hype zurückzugreifen.

🤔 Warum die Schätzung scheitert
Entwickler schätzen keine Zeit, sondern den Aufwand, die Komplexität und das Risiko. Wenn eine Benutzerstory mehrdeutig ist, steigen die unbekannten Variablen das Risiko, was wiederum die Schätzung erhöht. Hier sind häufige Gründe, warum Stories schwer zu schätzen sind:
- Fehlende Akzeptanzkriterien: Ohne klare Grenzen gehen Entwickler von der schlechtesten möglichen Situation aus.
- Technische Abhängigkeiten: Geschichten, die auf unvollendete Arbeiten anderer Teams angewiesen sind, erzeugen Unsicherheit.
- Blaue Verben: Begriffe wie „optimieren“, „verbessern“ oder „verfeinern“ haben keine messbaren Ergebnisse.
- Vorausgesetztes Wissen: Sich auf tribales Wissen statt auf dokumentierten Kontext zu verlassen.
- Zu viele Geschichten:Große, monolithische Geschichten, die zu viel auf einmal abdecken.
Wenn ein Entwickler fragt: „Aber wie funktioniert das genau?“, ist die Geschichte noch nicht für die Schätzung bereit. Das Ziel ist es, die Notwendigkeit von Klärungsfragen während der Sprintplanung zu reduzieren.
📐 Das INVEST-Modell für schätzbare Geschichten
Das INVEST-Modell ist ein Merksatz, der verwendet wird, um gute Benutzerstories zu definieren. Obwohl es oft zitiert wird, übersehen viele Teams die Aspekte Klein und PrüfbarAspekte, die für die Schätzung entscheidend sind.
1. Unabhängig
Geschichten sollten idealerweise unabhängig sein. Wenn eine Geschichte erst nach der Fertigstellung einer anderen Geschichte abgeschlossen werden kann, kann das Team sie nicht isoliert schätzen. Abhängigkeiten erzeugen Blockaden. Wenn eine Geschichte tatsächlich abhängig ist, sollte sie aufgeteilt werden, bis die Abhängigkeit gelöst ist oder die Geschichte klein genug ist, um sie durch einen Spike zu prüfen.
2. Verhandelbar
Geschichten sind keine Verträge; sie sind Platzhalter für eine Diskussion. Die Diskussion muss jedoch stattfinden vorher Schätzung. Wenn eine Geschichte als feste Spezifikation ohne Raum für technische Diskussionen formuliert ist, beschränkt dies die Fähigkeit des Entwicklers, eine bessere Lösung vorzuschlagen, die die Schätzung beeinflussen könnte.
3. Wertvoll
Jede Geschichte muss Wert für den Endbenutzer liefern. Wenn eine Geschichte rein technische Infrastruktur ohne sichtbaren Nutzen für den Benutzer ist, handelt es sich um eine technische Aufgabe, keine Benutzerstory. Technische Aufgaben erfordern einen anderen Schätzungansatz und sollten sorgfältig behandelt werden, um eine Überlastung des Sprints zu vermeiden.
4. Schätzbar
Dies ist die zentrale Voraussetzung für diese Anleitung. Eine Geschichte ist schätzbar, wenn das Team genügend Informationen hat, um den Aufwand zu bestimmen. Das bedeutet:
- Der Benutzerfluss ist klar.
- Die Datenanforderungen sind definiert.
- Die Randfälle werden berücksichtigt.
- Die Leistungsanforderungen sind angegeben (z. B. Ladezeiten).
5. Klein
Die Genauigkeit der Schätzung nimmt mit der Größe ab. Eine Geschichte, die zwei Wochen dauert, ist zu groß. Sie sollte in Geschichten aufgeteilt werden, die ein bis drei Tage dauern. Kleine Geschichten reduzieren das Risiko und verbessern die Feinheit der Schätzung.
6. Testbar
Wenn Sie keinen Test für die Geschichte schreiben können, können Sie die Akzeptanzkriterien nicht definieren. Wenn Sie die Akzeptanzkriterien nicht definieren können, weiß der Entwickler nicht, wann die Geschichte abgeschlossen ist. Dies beeinflusst die Schätzung direkt, da „erledigt“ die Ziellinie ist.
🛠 Die Anatomie einer hochwertigen Benutzerstory
Eine Benutzerstory ist mehr als nur ein Titel. Sie ist ein Informationspaket. Um sicherzustellen, dass Entwickler effektiv schätzen können, sollte jede Geschichte die folgenden Elemente enthalten.
1. Der Titel
Der Titel sollte beschreibend, aber prägnant sein. Er sollte die Kernfunktion zusammenfassen.
- Schlecht:Login beheben
- Gut:Benutzern erlauben, ihr Passwort über einen E-Mail-Link zurückzusetzen
2. Die Benutzererklärung
Das Standardformat lautet: „Als [Rolle] möchte ich [Funktion], damit [Nutzen].“ Dadurch stellt sicher, dass das Team den Kontext versteht.
3. Kontext und Hintergrund
Entwickler müssen den geschäftlichen Kontext kennen. Warum wird diese Funktion jetzt gebaut? Gibt es eine regulatorische Anforderung? Ist dies eine Korrektur eines kritischen Fehlers? Der Kontext hilft Entwicklern, technische Entscheidungen zu priorisieren.
4. Akzeptanzkriterien
Dies ist der kritischste Abschnitt für die Schätzung. Akzeptanzkriterien definieren die Grenzen der Arbeit. Sie sollten so formuliert sein, dass automatisiert getestet werden kann.
- Verwenden Sie Gegeben-Wenn-Dann: Diese Struktur reduziert die Mehrdeutigkeit.
- Definieren Sie Randfälle: Was passiert, wenn die Internetverbindung ausfällt? Was passiert, wenn die Eingabe leer ist?
- Geben Sie die Daten an: Beziehen wir Daten aus einer bestehenden Datenbank? Erstellen wir neue Datensätze?
📋 Vergleich: Vage vs. Klare Geschichten
Das Verständnis des Unterschieds zwischen einer Geschichte, die zu Schätzfehlern führt, und einer, die Klarheit fördert, ist entscheidend. Die folgende Tabelle verdeutlicht diesen Unterschied.
| Funktion | Vage Geschichte (schwer zu schätzen) | Klare Geschichte (leicht zu schätzen) |
|---|---|---|
| Ziel | Die Leistung des Dashboards verbessern. | Die Ladezeit des Dashboards auf unter 2 Sekunden für 1000 Datensätze reduzieren. |
| Umfang | Den Backend optimieren. | Den ‘user_id’-Spalte in der Suchtabelle indizieren und die ersten 50 Ergebnisse zwischenspeichern. |
| Akzeptanzkriterien | Muss schneller sein. | 1. Ladezeit < 2 Sekunden. 2. Keine Fehler bei 1000 Datensätzen. 3. Mobile Ansicht funktioniert. |
| Abhängigkeiten | Keine genannt. | Erfordert Zugang zur Analytics-API, die derzeit in der Beta-Phase ist. |
🧩 Umgang mit Abhängigkeiten und Risiken
Abhängigkeiten sind der Feind der Schätzung. Wenn eine Geschichte von der API eines anderen Teams abhängt, ist die Schätzung ein Vermutung. Um dies zu minimieren:
- Früh erkennen: Besprechen Sie Abhängigkeiten während der Backlog-Refinement, nicht während der Planung.
- Spike-Geschichten erstellen: Wenn die Abhängigkeit unbekannt ist, erstellen Sie eine Geschichte, um sie zu untersuchen. Ein Spike ist eine zeitlich begrenzte Forschungsaufgabe. Er erzeugt keinen Code, sondern erzeugt Wissen, das das Risiko reduziert.
- Mock-Daten: Wenn ein externer Dienst nicht verfügbar ist, vereinbaren Sie eine Struktur für die Mock-Antwort. Dadurch kann die Entwicklung weitergehen, ohne blockiert zu werden.
- Externe Abhängigkeiten: Wenn eine Geschichte von einem Drittanbieter-Service abhängt, vermerken Sie die Kosten- und Latenzfolgen in der Beschreibung.
🗣 Die Rolle des Gesprächs
Die Erstellung der Geschichte ist nur die Hälfte der Arbeit. Das Gespräch ist die andere Hälfte. Die geschriebene Geschichte ist eine Erinnerung an das Gespräch, nicht das Gespräch selbst.
Vorplanungs-Verfeinerung
Bevor die Sprint-Planung stattfindet, sollte das Team den Backlog überprüfen. Dies ist die Zeit, um Fragen zu stellen. Wenn ein Entwickler eine Lücke in der Geschichte erkennt, sollte er diese sofort markieren. Eine Geschichte, die während der Verfeinerung markiert wird, ist eine Geschichte, die für die Schätzung bereit ist.
Klärungsfragen
Während der Verfeinerung sollten spezifische Fragen beantwortet werden. Zum Beispiel:
- Muss diese Funktion barrierefrei sein?
- Sind spezifische Sicherheitsprotokolle erforderlich?
- Wie hoch ist die erwartete maximale Anzahl an Nutzern?
- Müssen wir ältere Browser unterstützen?
Wenn diese Antworten in der Geschichte dokumentiert sind, wird die Schätzung zuverlässiger.
📊 Verständnis von Schätzmethode
Sobald die Geschichte klar ist, benötigt das Team eine Methode zur Schätzung. Wichtiger als die Methode selbst ist die Konsensbildung, die sie ermöglicht.
Story Points
Story Points messen die relative Anstrengung, Komplexität und das Risiko. Sie sind keine Stunden. Die Verwendung von Story Points ermöglicht es Teams, sich auf die Größe der Arbeit zu konzentrieren, anstatt auf die Geschwindigkeit des Einzelnen.
- Komplexität: Wie schwer ist die Logik?
- Risiko: Wie wahrscheinlich ist es, dass es schiefgeht?
- Aufwand: Wie viel Arbeit ist beteiligt?
Planning Poker
Dies ist eine Konsens-basierte Technik. Jeder Entwickler hält eine Karte mit einer Zahl hoch. Wenn die Zahlen variieren, erklären diejenigen mit der höchsten und niedrigsten Schätzung ihre Argumente. Dadurch werden versteckte Annahmen sichtbar. Zum Beispiel könnte ein Entwickler die Integrationsanforderung vergessen haben, während ein anderer annahm, dass sie bereits vorhanden sei.
🚫 Häufige Fallen, die vermieden werden sollten
Selbst mit guten Absichten geraten Teams oft in Fallen, die die Genauigkeit der Schätzung ruinieren.
1. Nur der „glückliche Pfad“
Geschichten zu schreiben, die nur die ideale Situation beschreiben, ist gefährlich. Entwickler schätzen den glücklichen Pfad, aber die tatsächliche Arbeit umfasst Fehlerbehandlung. Fügen Sie Fehlerzustände immer in die Akzeptanzkriterien ein.
2. Nicht-funktionale Anforderungen ignorieren
Leistungsfähigkeit, Sicherheit und Skalierbarkeit werden oft übersehen. Eine Geschichte, die besagt „Benutzer erstellen“, könnte 1 Punkt erfordern. Eine Geschichte, die besagt „Benutzer erstellen, der 10.000 gleichzeitige Anmeldungen unterstützt“, erfordert jedoch 10 Punkte. Geben Sie nicht-funktionale Anforderungen explizit an.
3. Überzüchtung der Beschreibung
Schreiben Sie keine technische Spezifikation in die Nutzerstory. Der Entwickler muss wissen, waszu bauen, nicht wiees zu bauen. Wenn Sie in der Story die Datenbankstruktur festlegen, beschränken Sie die Fähigkeit des Entwicklers, die beste Lösung zu wählen.
4. Überspringen der Definition von Fertiggestellt
Die Definition von Fertiggestellt (DoD) gilt für jede Story. Sie umfasst Tests, Code-Reviews und Dokumentation. Wenn die DoD nicht klar ist, wird die Schätzung ungenau sein. Stellen Sie sicher, dass das Team sich vor der Schätzung darauf einigt, was „fertiggestellt“ bedeutet.
🔄 Ablauf des Refinement-Prozesses
Um einen stabilen Fluss schätzbare Stories zu gewährleisten, folgen Sie diesem Ablauf.
- Erster Entwurf:Der Product Owner schreibt die Story mit grundlegenden Details.
- Technische Überprüfung:Entwickler überprüfen auf Durchführbarkeit und versteckte Komplexität.
- Erweiterung der Akzeptanzkriterien:Fügen Sie Randfälle und Einschränkungen hinzu.
- Abhängigkeitsprüfung:Stellen Sie sicher, dass keine Blockierungen bestehen.
- Endgültige Schätzung:Das Team verteilt Story Points während der Refinement- oder Planungssitzung.
- Validierung:Stellen Sie sicher, dass die Story die INVEST-Kriterien erfüllt.
📈 Messung der Schätzungsgenauigkeit
Im Laufe der Zeit sollten Teams ihre Schätzungsgenauigkeit verfolgen. Das dient nicht der Bestrafung einzelner, sondern der Verbesserung des Prozesses.
- Verfolgung der Geschwindigkeit (Velocity):Überwachen Sie die Geschwindigkeit (Velocity) des Teams über mehrere Sprints. Wenn die Geschwindigkeit stark schwankt, sind die Stories wahrscheinlich inkonsistent.
- Abschlussquote:Hat das Team alle geschätzten Stories abgeschlossen? Wenn nicht, waren sie blockiert oder unterschätzt?
- Häufigkeit der Neuschätzung:Wenn Stories während des Sprints häufig neu geschätzt werden, war die ursprüngliche Schätzung fehlerhaft.
🛡 Sicherheit und Compliance
Für regulierte Branchen sind Sicherheit und Compliance Teil der Schätzung. Eine Geschichte, die Benutzerdaten verarbeitet, erfordert einen anderen Aufwand als eine Geschichte, die öffentliche Informationen anzeigt. Fügen Sie Compliance-Prüfungen in die Akzeptanzkriterien ein.
- Datenschutz: Beinhaltet die Geschichte PII (persönlich identifizierbare Informationen)?
- Audit-Protokolle: Muss das System protokollieren, wer Änderungen vorgenommen hat?
- Verschlüsselung: Ist die Datenverschlüsselung im Ruhezustand oder während der Übertragung aktiv?
Wenn diese Anforderungen nicht erwähnt werden, könnte der Entwickler eine Lösung erstellen, die später eine umfassende Neugestaltung erfordert, was die ursprüngliche Schätzung unnötig macht.
🧪 Der Wert von Spikes
Manchmal ist eine Geschichte zu riskant, um sie schätzen zu können. Verwenden Sie in solchen Fällen einen Spike. Ein Spike ist eine zeitlich begrenzte Untersuchung. Es ist keine lieferbare Funktion, sondern eine Lernaufgabe.
Beispiel:
- Geschichte: Untersuchen Sie die Durchführbarkeit der Integration mit dem veralteten Zahlungsgateway.
- Ziel: Ermitteln Sie, ob das Gateway unsere erforderliche API-Version unterstützt.
- Ergebnis: Ein Dokument mit Ergebnissen und einer Empfehlung.
Sobald der Spike abgeschlossen ist, kann die eigentliche Funktionsgeschichte auf Basis der Ergebnisse geschätzt werden. Dadurch wird das Risiko erheblich reduziert.
🤝 Zusammenarbeit mit QA
Quality Assurance (QA) sollte am Verfeinerungsprozess beteiligt sein. Entwickler könnten Randfälle übersehen, die Tester erkennen. QA kann helfen, die Akzeptanzkriterien aus der Perspektive des Testens zu formulieren. Dadurch wird sichergestellt, dass die Geschichte tatsächlich testbar ist, was ein zentraler Bestandteil der Schätzung ist.
📉 Vermeidung von Scope Creep
Scope Creep tritt auf, wenn sich die Anforderungen nach der Schätzung ändern. Um dies zu verhindern:
- Kriterien festlegen: Nach der Schätzung sollten die Akzeptanzkriterien ohne erneute Schätzung nicht geändert werden.
- Änderungsanträge: Wenn eine Änderung erforderlich ist, muss sie protokolliert und in das Backlog aufgenommen werden, nicht in den aktuellen Sprint hineingedrückt werden.
- Transparenz: Wenn eine Änderung unvermeidbar ist, teilen Sie die Auswirkungen auf das Sprint-Ziel sofort mit.
🧠 Wissensaustausch
Die Schätzung ist ein Team-Sport. Junior-Entwickler könnten anders schätzen als Senioren. Um das Team auszurichten:
- Kalibrierungssitzungen: Überprüfen Sie regelmäßig vergangene Stories, um abzustimmen, wie ein „5“ im Vergleich zu einem „13“ aussieht.
- Pair Programming: Verwenden Sie Pair Programming für komplexe Stories, um Wissen zu teilen und die Schätzungsschwankungen zu reduzieren.
- Dokumentation: Pflegen Sie eine Bibliothek vergangener Stories, die als Referenzpunkte für zukünftige Schätzungen dienen.
🌟 Letzte Gedanken zur Klarheit
Benutzerstories zu schreiben, die Entwickler leicht schätzen können, ist eine Übung in Empathie. Es erfordert vom Product Owner, sich in die Lage des Ingenieurs zu versetzen und dessen Fragen vorwegzunehmen. Es erfordert vom Ingenieur, sich zu melden, wenn Informationen fehlen. Wenn beide Parteien zusammenarbeiten, um Unklarheiten zu beseitigen, wird die Schätzung zu einem zuverlässigen Werkzeug für die Planung.
Das Ergebnis ist nicht nur genaue Zahlen. Es ist Vertrauen. Wenn das Team sich auf eine Reihe von Stories auf Grundlage klarer Kriterien festlegt, kann es mit Vertrauen liefern. Der Fokus verschiebt sich vom Raten zum Bauen.
🔑 Wichtige Erkenntnisse
- Klarheit ist König: Eine klare Story ist eine schätzbare Story.
- Akzeptanzkriterien: Definieren Sie Grenzen und Randfälle explizit.
- Abhängigkeiten: Identifizieren und mindern Sie Risiken vor der Planung.
- Gespräch: Verwenden Sie die Nacharbeit, um Details vor der Schätzung zu besprechen.
- Kleine Stories: Zerlegen Sie große Aufgaben, um die Genauigkeit zu verbessern.
- Fortlaufende Verbesserung: Verfolgen Sie die Geschwindigkeit und passen Sie den Prozess im Laufe der Zeit an.
Durch Einhaltung dieser Prinzipien können Teams ihre Sprint-Planung von einem Ratespiel in einen strukturierten, vorhersagbaren Prozess verwandeln. Die Investition in die Erstellung guter Stories zahlt sich in jedem darauf folgenden Sprint aus.










