Wie sollen wir mit zusätzlichen kosmetischen Merkmalen in Scrum-Sprints umgehen?


11

Ich habe die Scrum-Dokumente gelesen und es heißt, dass die Aufgaben in Sprint "potenziell versandfähig" sein sollten.

Ich bin verwirrt darüber, was das bedeutet. Angenommen, in Sprint 1 war das Ziel "Benutzerregistrierungsformular".

Wie viele Details muss ich hinzufügen, damit etwas versandbereit ist? Beispielsweise:

  1. Ich kann das einfache Formular mit Feldern ohne ausgefallenen Stil anzeigen und sie als erledigt markieren
  2. Ich kann die clientseitige Validierung nur als erledigt durchführen, aber die serverseitige Überprüfung ist auch die Option oder beides
  3. Ich kann auch einige ausgefallene jQuery-Tooltipps, Hover-Over, Captcha, Farben und Beschriftungen für das Formular hinzufügen
  4. Dann gibt es eine Menge Styling darüber, wie Fehlermeldungen auf dem Bildschirm angezeigt werden

Ich kann endlos zu einem Thema arbeiten. Wie teilen wir das auf und wann kann ich mir das als versandbereit vorstellen?

Oder muss ich jedes kleinstmögliche Element wie das Anzeigen von Fehlern, Popup- oder Lightbox-Text als Unteraufgaben schreiben und als Sprint einfügen? Dies würde zu Tausenden von Aufgaben für das gesamte Projekt führen.

Ich meine dann wieder, wenn einige für Internet Explorer und einige für Firefox funktionieren, dann muss ich diese auch wieder als Aufgaben aufteilen. Es muss Zeit für sie aufgewendet werden, und wenn der Manager mich fragt, was Sie in dieser Zeit getan haben, habe ich keine Aufgaben zu erzählen, aber in Wirklichkeit sind sie alle Teil der Benutzerregistrierung


5
Welche "Scrum-Dokumente"?
Dave Hillier

Antworten:


13

Stimmen Sie dies mit dem Produktbesitzer und dem Scrum-Team überein, nicht mit dem Internet. Dies sollte in Ihrer Definition of Done festgelegt werden und hängt weitgehend davon ab, wie das Team arbeitet.

Obwohl die Funktion "versandfähig" sein sollte (ich hasse diesen Begriff in Scrum), könnte argumentiert werden, dass die Funktionalität ohne die Benutzeroberfläche versendbar ist. Viele Menschen leiden unter diesem Missverständnis in Scrum - das Ziel eines Sprints ist es, so viele Geschichten wie möglich (im Idealfall alle) "Fertig" zu bekommen, aber es muss definitiv nicht in etwas eingebaut werden, das veröffentlicht werden könnte.

Es ist wichtig, solche Dinge frühzeitig auszubügeln, damit alle im Team an einem gemeinsamen Ziel arbeiten. Das Ethos von Scrum ist Kommunikation. Fragen Sie das Scrum-Team und ziehen Sie eine logische Schlussfolgerung.

Sie können in einem Team arbeiten, in dem die Benutzeroberfläche im Allgemeinen separat behandelt wird, z. B. von einem anderen Team oder wenn UI-Experten entscheiden, wie das Formular aussehen soll usw. Alternativ kann in einem kleinen Projekt / Team erwartet werden, dass die Benutzeroberfläche so erstellt wird, wie Sie es möchten gehen.

Solange das Team alle die Antwort kennt, ist es unerheblich, wie die Antwort lautet.


2
+1 für "Solange das Team alle die Antwort kennt, ist es irrelevant, wie die Antwort lautet."
MattyB

Ein weiteres +1 für "Solange das Team die Antwort kennt, ist es irrelevant, wie die Antwort lautet." Das Dokumentieren von Anforderungen mit User Stories und das Aufteilen dieser in Aufgaben ist eine Kunst, keine Wissenschaft. Jedes Team (einschließlich des Product Owners) muss gemeinsam lernen, welchen Detaillierungsgrad in der Definition of Done, unter den Bedingungen für die Annahme einer User Story oder als einzelne Aufgaben zu dokumentieren ist.
Nick

Sie werden erfreut sein zu wissen, dass sich die neueste Version des Scrum-Handbuchs (Juli 2013) nicht mehr auf den Versand bezieht. Der jetzt verwendete Ausdruck ist möglicherweise freigebbar .
Derek Davidson PST CST

5

Wenn die kosmetischen Merkmale Teil des Merkmals sind, sollten sie wahrscheinlich als Teil der Geschichte ausgeführt werden. Der Punkt ist, wenn Sie sagen, dass eine Geschichte fertig ist, sollten Sie keine weitere Codierung für eine bestimmte Funktion mehr vornehmen müssen. Letztendlich wird dies jedoch vom Produktbesitzer entschieden - er möchte möglicherweise die kosmetischen Eigenschaften oder nicht. Dies sollte in den Akzeptanzkriterien festgelegt werden.

Das bedeutet nicht unbedingt, dass es für den Endbenutzer bereit ist, sondern nur, dass es für jemanden bereit ist . Dieser Jemand könnte ein Tester oder ein anderes Team wie das Back-End-Team sein.

Wenn Sie dies als Entwickler fragen, lautet die Antwort "Sie wissen, weil der Produktbesitzer Ihnen sagt, ob er die kosmetischen Eigenschaften wünscht oder nicht".

Wenn Sie dies als Product Owner fragen, müssen Sie lediglich entscheiden, ob Sie die Funktion in mehrere Storys aufteilen möchten. Es ist nicht erforderlich, außer es genügen müssen Sie , als Mittel zu befriedigen Ihre Kunden .

Denken Sie daran: Das Ziel ist nicht, sich strikt an Scrum zu halten. Ziel ist es, dem Endbenutzer qualitativ hochwertige Software bereitzustellen. Verwenden Sie dies als Leitfaden, wenn Sie mit solchen Fragen zu kämpfen haben. Wird Ihnen das Hinzufügen der Kosmetik in derselben Geschichte wie die rein funktionalen Teile helfen, Ihrem Kunden Qualitätscode zu liefern? Oder hilft es, das in zwei Geschichten aufzuteilen? Entweder ist die Antwort klar oder es spielt keine Rolle und Sie können alles tun, was für Ihr Team funktioniert.


3

"Potenziell versandfähig" bedeutet versandfähig, nicht unbedingt etwas, das Sie versenden. Beispielsweise:

Ein Web-Registrierungsformular, das schrecklich aussieht und auf den Feldern keine Validierung aufweist, kann in bestimmten Situationen in Ordnung sein, z. B. bei einem Schulprojekt. In einem Multimillionen-Dollar-Geschäft würde die Marke jedoch beschädigt, wenn sie den Endbenutzern angezeigt wird. Der Code kann versendet werden, ohne dass Sie etwas versenden möchten oder dass Marketing oder Legal Sie versenden lassen würden.

Es ist etwas, das die Programmierer (und andere Leute, die sich derzeit in diesem Prozess befinden, z. B. Designer) gerne veröffentlichen würden, so wie es gerade ist, auch wenn es aus irgendeinem Grund niemals so veröffentlicht würde (z. B. es) muss in andere Sprachen übersetzt werden, bevor es an irgendjemanden versendet werden kann - Kanada hat strenge Regeln für den Kauf von Software durch die Regierung, die sowohl Französisch als auch Englisch gleichermaßen berücksichtigt).

Dies ist ein Qualitätskontrollpunkt. Sie schauen allen in die Augen und fragen, ob sie ihn gerne so versenden würden, wie er gerade ist, ohne zusätzliche Arbeit, ohne zu überprüfen, ob sie das letzte getan haben. Ich habe gehört, dass dies der Checkpoint des Flugzeugingenieurs genannt wird. Sie schauen einem Ingenieur in die Augen und fragen ihn, ob er bereit ist, Sie auf dem Testflug zu begleiten.

Die Idee ist, so agil wie möglich zu sein. Je schneller Sie echte Benutzer erreichen können; Ob es sich um Beta-Kopien des Codes zur Auswahl von Personen oder um A / B-Tests auf Ihrer Website handelt, desto besser. Wenn Sie Benutzern Code zeigen, der zu grob und grob ist, wie durch ihre Erwartungen an Ihr Produkt definiert, geben sie Ihnen nutzloses Feedback. Sie werden über Dinge sprechen, zu denen Sie nicht nach Informationen suchen: Sie mögen es nicht, dass die Schaltfläche gelb ist oder das Textfeld nicht mit den Beschriftungen übereinstimmt. Wenn es gut genug ist, können Sie nützliches Feedback erhalten. Je schneller Sie dieses Feedback erhalten, desto besser! Sie können die Produkt- / Marktanpassung und die Annahmen überprüfen, die Sie bezüglich der Funktion getroffen haben, die Sie erstellen möchten.

Der Versand der Funktion ist der am wenigsten wichtige Teil davon. Es ist wichtig, das Entwicklungsteam voranzubringen und User Stories zu beenden . Es ist ein großer Motivator, an den Punkt zu gelangen, an dem Sie behaupten können, dass etwas getan wurde.


1

Nach meinem Verständnis sollte jede Geschichte "fertig" und "versandfähig" sein, sofern sie für jemanden , nicht unbedingt für den Endbenutzer, zum Verzehr bereit ist . Ihre Story bietet möglicherweise einige Funktionen, die dann an den Product Owner geliefert werden können. Dieser kann wählen, ob er für Endbenutzer freigegeben oder die Funktion erneut durchlaufen werden soll.

Es ist jedoch nicht ausgeschlossen , dass Sie das Styling in die Story "Als Endbenutzer kann ich mich registrieren" aufnehmen. In unserem Team versuchen wir, jede Geschichte so klein wie möglich zu halten, um eine bessere Vorhersehbarkeit zu gewährleisten und sicherzustellen, dass wir das halten können, was wir versprechen. Wenn wir ein Design im Voraus fertig haben und es für trivial halten, es anzuwenden, ist es in der Geschichte enthalten. Wenn wir glauben, dass das Design möglicherweise wiederholt wird, ist dies eine separate Geschichte - möglicherweise mehrere.


1

Neben den anderen großartigen Antworten auf diese Frage können Sie sich die kosmetischen Merkmale auch als variablen Bereichsteil des Bereichs-Ressourcen-Zeit-Dreiecks vorstellen. Stellen Sie sicher, dass Sie die grundlegenden Anforderungen dieser Geschichte erfüllen, und fügen Sie das hübsche Zeug hinzu, wenn Sie Zeit haben.

Scrum soll nicht garantieren, dass bestimmte Funktionen in einer bestimmten Zeit bereitgestellt werden. Es soll Ihnen die maximal nützliche Arbeit geben, die in einer bestimmten Zeit möglich ist. Wenn "optionale" kosmetische Funktionen während dieses Sprints nicht ausgeführt werden, sollte dies daran liegen, dass sie nicht möglich waren.


In meiner Organisation sind die "kosmetischen" Funktionen vor der Veröffentlichung obligatorisch. Wir möchten, dass unsere Anwendung eine professionelle und elegante Ansicht hat. Ich frage mich, ob wir daran arbeiten sollten, das kosmetische Material bei der Entwicklung des Features oder bei den letzten Sprints des Projekts anzuwenden. Im letzteren Fall haben wir kein potenziell versandfähiges Produkt, während wir im ersten Fall möglicherweise Zeit damit verschwenden, eine Funktion zu verschönern, die wir später erheblich ändern oder sogar löschen möchten.
Eugene

Okay, das ist eine interessante Einschränkung. Es hört sich so an, als ob beide Wege für Sie funktionieren könnten, aber der letztere Fall unterstützt den Agile-Wert "Minimierung des Arbeitsaufwands". Mit anderen Worten, YAGNI ist dein Freund.
Katzenfutter

@Eugene: Wenn die Product Owners möchten, dass alle Funktionen in ihrem endgültigen, schlanken Aussehen geliefert werden, müssen Sie dies tun. Andernfalls ist es Sache des Product Owner, zusätzliche Storys im Sinne von "Make X look good" einzuführen.
Bart van Ingen Schenau

Ich sage eigentlich, dass meine "Definition von erledigt" flexibel ist. Es enthält (implizit) etwas wie "Die Benutzeroberfläche muss mindestens sauber und professionell sein, aber es kann zusätzliche glänzende Teile enthalten, wenn Zeit dafür besteht." Das gibt den Entwicklern absichtlich viel Spielraum.
Katzenfutter

0

Dies hängt von der Person ab, die die Anforderungen festlegt, dem "Product Owner". Als Programmierer bin ich möglicherweise mit einer nicht gestalteten "Registrierungsformular" -Seite zufrieden, die lediglich beweist, dass die Geschäftslogik in meinen Webdiensten ordnungsgemäß funktioniert und dass Sie sich durch die Registrierung gegen andere Ressourcen im System authentifizieren können. Tatsächlich könnte "potenziell versandfähig", da dies nicht unbedingt bedeutet, dass wir es buchstäblich an einen Kunden versenden, das Ergebnis der ersten User Story zu diesem Thema sein, insbesondere wenn das technische Team und Das Designteam besteht aus separaten Ressourcen mit separaten Rückständen.

In einem ausgereifteren Projekt können Sie eine von Entwicklern entworfene Version der Funktion mit minimalem Stil an einen Pilot- oder Beta-Client senden, aber dieselbe Funktion sowohl für Funktionsänderungen (basierend auf Feedback) als auch für die Fertigstellung des Designs erneut aufrufen.

Der Zweck der agilen Methodik besteht darin, Ihren Anforderungen zu ermöglichen, den Softwareentwicklungsprozess voranzutreiben, und nicht das Gegenteil. Gehen Sie nicht in die Falle, anzunehmen, dass eine Beschreibung der Methodik die wahre und einzige orthodoxe Anforderung ist. Natürlich leichter gesagt als getan, besonders wenn Sie in einer großen Organisation arbeiten, in der Scrum zu einer Ausrede geworden ist, dem Entwicklungsteam Chaos aufzuerlegen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.