Wer schreibt die technischen "User Stories" in Scrum

11

Ich weiß, dass ein Produktbesitzer eine User Story in Scrum schreiben sollte.

Eine User Story beschreibt eine Funktion für den Endbenutzer.

Aber wer beschreibt, was technisch entwickelt und wie es umgesetzt werden muss

und wo werden diese Informationen über Scrum gespeichert?

Das würde mich wirklich interessieren!

Ich sehe einen großen Mangel an Wissen in unserem Unternehmen, wenn Entwickler mit der Implementierung der Story beginnen, aber sie wissen nicht, wie sie implementiert werden sollen!

Zum Beispiel müssen sie sich mit einer älteren COM-API befassen und haben keine Ahnung, wie sie damit umgehen sollen, oder sie sind technisch nicht so gut mit WPF / WEB oder was auch immer vertraut.

Wie hilft Scrum den Leuten, mit der User Story zu beginnen?

Lisa
quelle

Antworten:

19

Nicht agiler Hasser hier. Das Ausarbeiten der Details der Implementierung und das Bestimmen der Aufgaben, die ausgeführt werden müssen, erfolgt während des Sprint-Planungsmeetings, wodurch die User Stories in tatsächliche Aufgaben / Anforderungen für den Sprint umgewandelt werden. Das Scheitern vieler agiler Prozesse besteht darin, dass das Sprint-Planungstreffen eigentlich größtenteils von den Entwicklern durchgeführt werden soll. Wenn es nur die Produktbesitzer sind, entscheiden sie sich einfach dafür, den Mond zu bekommen. Hier haben Sie eine (ziemlich nebulöse) User Story wie:

As a non-technical user, I need to have a simpler interface with the API

Während der Product Owner definiert, welche User Stories die höchste Priorität haben, nehmen die Programmierer diese Prioritäten und wandeln sie in eine Liste von Aufgaben um (Sprint-Backlog genannt). Hier bekommen Sie eine Vorstellung davon, wie Sie die Dinge implementieren werden ... Der Sprint-Rückstand kann so technisch sein, wie Sie möchten. Hier erfahren Sie auch, "um eine einfachere API zu erhalten, müssen wir diese verrückte COM-API umgestalten. Weiß jemand, wie man das verwendet?". Wenn die Antwort "Hell No" lautet, werden Sie feststellen, dass der Umfang dieser User Story möglicherweise größer ist, als es scheint. Vor diesem Hintergrund sollten Sie die User Story in folgende Aufgaben unterteilen:

  • Dokumentieren und verstehen Sie die aktuelle API
  • Neue API entwerfen
  • Implementieren Sie eine neue API
  • Was auch immer...

Vor diesem Hintergrund ist es in Ordnung, die User Stories auszuhandeln, um sie in kleinere Änderungen aufzuteilen. Die agile Methodik bedeutet, dass Sie schrittweise an das herangehen möchten, was die Person möchte. Sie können also sagen: "Hey, schauen Sie. Wir können die API nicht in nur einer Iteration überarbeiten. Teilen wir sie in" Als nicht technischer Kunde benötige ich eine gut dokumentierte API "auf.

IdeaHat
quelle
3
Ich verstehe, warum du kein Hasser von Agilität bist; Sie wissen, was Sie tun.
JeffO
@ JeffO lol das war wahrscheinlich eine verlegte Antwort auf einen Kommentar, der gelöscht wurde und nur "rabble rabble agile bad" war.
IdeaHat
@IdeaHat - Einige weitere Beispiele für nebulöse Anforderungen, wenn "unvorbereitete" Produktmanager oder BA im Wesentlichen User Stories erstellen softwareengineering.stackexchange.com/a/384838/260655
MasterJoe2
10

Kurze Antwort

Das Entwicklerteam schreibt die technischen Dinge. Scrum hilft Ihnen ein bisschen, aber nicht viel bei der technischen Aufschlüsselung bzw. Erste Schritte mit einer User Story. Scrum ist fast nur What-World . Die technische Aufschlüsselung lautet How-World .

Die von Scrum bereitgestellte Aufschlüsselung lautet:

  • User Story -> Akzeptanzkriterien

Die Aufschlüsselung, die Menschen häufig zusätzlich verwenden, ist:

  • Episch -> User Stories
  • User Story -> Unteraufgaben
  • Abnahmekriterien -> Abnahmetests

Außerdem kann das Team technische Aufgaben für Dinge schreiben, von denen sie wissen, dass sie erledigt werden müssen (dh IntelliJ IDEA für alle zu Beginn des Projekts installieren), die jedoch keinen geschäftlichen Wert haben.

Weitere Anleitungen zur Aufschlüsselung der Arbeit finden Sie unter XP (Extreme Programming), Clean Code , Pragmatische Programmierung , Software-Engineering , CRC-Karten , OOP / OOA / OOD , Entwurfsmuster , Refactoring , Effektives Arbeiten mit Legacy-Code , TDD ( Testgetriebene Entwicklung), BDD (Verhaltensgetriebene Entwicklung), ATDD (Akzeptanztestgetriebene Entwicklung).

Lange Antwort

Wie Scrum denkt

Was-Welt und Wie-Welt

Es gibt eine Was-Welt und eine Wie-Welt . Wie Sie richtig gefühlt, User Story ist für Benutzer , Erzeugen von Business Value aka Sekundärwert in der Was-Welt . Scrum ist meistens nur What-World. Es sagt wenig bis gar nichts über die How-World aus , im Grunde nicht mehr als "How-World liegt in der Verantwortung des Dev-Teams".

User Story vs Aufgabe

Normalerweise werden Backlog-Elemente, die für die How-World bestimmt sind, nicht als User Story, sondern als technische Aufgabe oder Unteraufgabe bezeichnet . Viele Tools ermöglichen die Aufteilung der User Story aus der What-World in Unteraufgaben in der How-World .

Wie Scrum hilft und wo diese Hilfe endet

Die Hilfe von Scrum for the How-World endet an einigen Punkten des Sprint Planning Meeting :

  • [Sprint-Planungstreffen] Das Team entdeckt ein Missverständnis der Geschichte, wenn verschiedene Teamkollegen während des Planungs-Pokers -> Diskussion unterschiedliche Schätzungen für den Story-Punkt erstellen.
  • [Definition von Ready] Das Team akzeptiert keine zu großen User Stories (Story Points zu hoch). Als Faustregel in vielen Definitionen von "Bereit" gilt, dass die Story-Punkte weniger als die Hälfte der Geschwindigkeit des Teams betragen müssen.
  • [Definition von Ready] Das Team akzeptiert keine User Stories ohne ausreichende Beschreibung der Akzeptanzkriterien. Akzeptanzkriterien sind ausreichend, wenn das Team genügend Vertrauen hat, wie mit dem Schreiben der Akzeptanztests begonnen werden soll.

Ein paar Tipps zum Level von Scrum

Ich fand es hilfreich, User Stories während der Backlog Refinement- Meetings oder zumindest des zweiten Teils des Sprint Planning Meeting (für einige Teams Sprint Planning 2 Meeting) in Unteraufgaben aufzuteilen .

Bei unerfahrenen Teams fand ich es hilfreich, während der Backlog-Verfeinerung und Sprint-Planung nach Atomic User Stories zu streben . Eine Atomic User Story ist eine User Story, die nicht weiter in kleinere User Stories unterteilt werden kann, ohne ihren Geschäftswert vollständig zu verlieren. Im Allgemeinen müssen User Stories nicht atomar sein. Ich habe gerade festgestellt, dass sie mir bei unerfahrenen Teams helfen.

Und machen Sie nicht "(Architektur | Design | Implementierung | Test) von Feature X" als User Stories. Ich empfehle, dass Sie sogar versuchen, dies als Unteraufgabe zu vermeiden.

Wenn ich Atomic User Stories habe und diese neben den zu implementierenden Akzeptanzkriterien eine weitere Aufschlüsselung benötigen, bedeutet dies für mich, dass etwas nicht auf dem optimalen Niveau funktioniert. Entweder ist die Architektur falsch / zu kompliziert, dh technisch statt geschäftsorientiert. Oder das Team ist unerfahren. Oder beides. In jedem Fall wären Maßnahmen erforderlich, um die Situation durch Schulung und Verbreitung von Wissen zu verbessern.

Jenseits von Scrum

Der Scrum Master jenseits von Scrum

Heutzutage wird der Scrum Master meistens als Führungsrolle verstanden , und das ist Schwachsinn. Ursprünglich war der Scrum Master, und ich befürworte dies, eine technische Rolle , keine Führungsrolle, genau wie der Coach in XP .

Es ist allzu einfach, sich auf Scrum und den Scrum Master zu verlassen und so in eine große Lücke zu geraten, weil Scrum fast nichts über die How-World sagt.

Rotierender Scrum Master

Im Idealfall wechselt der Scrum Master zu den erfahrenen Entwicklern, die auch über ausreichende Management- und Kommunikationsfähigkeiten verfügen, bis alle im Team "Inspect and Adapt" so tief im Herzen leben, dass der Scrum Master überflüssig wird. niemand und jeder würde gleichzeitig Scrum Master sein.

Aber Vorsicht, Scrum Mastery ist eher wie Kochen, nicht wie Tisch putzen und Geschirr spülen. Vielleicht möchten Sie drehen, wer den Tisch putzt und das Geschirr spült, da dies jeder tun kann. Aber Sie möchten das Kochen nicht auf alle übertragen, da es Menschen gibt, die nicht kochen können oder nicht gerne kochen, und Sie möchten gutes Essen essen.

Das Gute am Rotieren des Scrum Masters zwischen erfahrenen Entwicklern ist, dass das Team mit größerer Wahrscheinlichkeit mehr über Methoden erfährt.

Das selbstorganisierende Team

Aus der Sicht von Scrum muss sich das Team selbst herausfinden, idealerweise mithilfe des Scrum Masters .

Scrum spricht auch nur vom Dev-Team . Rollen wie Architect oder Lead Engineer gibt es in Scrum nicht. Das bedeutet nicht, dass sie verboten sind, es bedeutet nur, dass Scrum nichts über sie sagt. Scrum proklamiert ein selbstorganisierendes Team . Wenn das Team einen Architekten deklariert, hat das Team einen Architekten. Das wird von Scrum nicht definiert, ist aber mit Scrum kompatibel. Ich proklamiere keine engagierten Architekten (ich habe jahrelang als designierter Architekt gearbeitet, und obwohl es mir gefallen hat, bin ich grundsätzlich gegen die Idee eines designierten Architekten), sondern gebe nur ein Beispiel.

Akzeptanztests

User Stories haben Akzeptanzkriterien . Diese Abnahmekriterien werden in Abnahmetests umgewandelt

Andere Sachen

Eine Liste mit weiteren Informationen zur Aufschlüsselung finden Sie unter Aufteilen eines Programmierprojekts in Aufgaben für andere Entwickler.

Hoffe das hilft.

Christian Hujer
quelle
1

Wer im Team am besten qualifiziert ist, muss die Anforderungen der Produktbesitzer in umsetzbare User Stories aufteilen. Nach meiner Erfahrung haben wir den folgenden Ansatz verwendet:

  • Es war schon immer ein Entwickler, der die Geschichten basierend auf Diskussionen mit Produktbesitzern schreibt.
  • Diese Geschichten werden dann (basierend auf Punkten oder Zeitpunkten) von Entwicklern geschätzt
  • Die Produktbesitzer entscheiden dann, wie die Dinge priorisiert werden.

Wenn die Entwickler nicht wissen, wie sie eine Story implementieren sollen, kann einer dieser Fälle zutreffen:

  • Die Aufgabe ist möglicherweise nicht klar genug (weitere Details / Screenshots / Modelle hinzufügen)
  • Es muss weiter aufgeschlüsselt werden, damit die spezifischen Aufgaben klarer werden
  • Es braucht mehr Zeit, damit der Entwickler recherchieren und lernen kann, wie man es implementiert. (Wenn Sie diese Aufgabe schätzen, fügen Sie mehr Zeit hinzu, um dies zu berücksichtigen.)
  • Der Entwickler ist nicht qualifiziert genug, um es zu implementieren, und es muss möglicherweise einer anderen Person zugewiesen werden, oder der Entwickler muss von einer anderen Person unterstützt werden.

Sie können diesen Kurs über SCRUM bei Udemy kostenlos besuchen und sich über einzelne Aspekte des SCRUM-Prozesses informieren - https://www.udemy.com/scrum-methodology/

stringo0
quelle
0

Die kurze Antwort lautet: Der Product Owner ist dafür verantwortlich, die Geschichten zu erstellen, die das Team liefern muss. Es ist das Team, das entscheidet, wie die Geschichten geliefert werden. Wenn ein Teil der Lieferung einige technische Geschichten beinhaltet, ist es das Team, das diese Geschichten schreibt. Das Team arbeitet dann mit dem Product Owner zusammen, um die Priorität zu bestimmen.

Wieder entscheidet die PO, was gebaut werden soll, und das Team kann entscheiden, wie diese Geschichten umgesetzt werden sollen.

Bryan Oakley
quelle
0

Dies ist kein agiles Problem. Das Problem ist, dass das Team nicht über genügend technisches Wissen verfügt, um eine User Story (agil) oder eine Anforderung (traditionell) zu erstellen. Kann Agile in dieser Situation helfen? Nein, wenn das Team nicht sorgfältig ausgewählt wurde und niemand im Team über genügend technische Erfahrung verfügt, um seine Aufgaben auszuführen. Ja, wenn einige der Teammitglieder über gute technische Kenntnisse verfügen, die anderen Teammitgliedern bei der Ausführung ihrer Aufgaben helfen können. Denn dieses Team muss sich selbst organisieren und sollte seine Stärken und Schwächen kennen.

Bitte denken Sie an das folgende Agile-Prinzip.

"Die besten Architekturen, Anforderungen und Designs entstehen aus selbstorganisierenden Teams."

Dies geschieht, weil in einer agilen Umgebung das Vertrauen der Teams hoch ist und sie die Arbeit untereinander delegieren.

Mobeen Siddiqui
quelle