SCRUM von Grund auf neu, ohne etabliertes Basis-Framework?

11

Wir sind eine kleine Gruppe von 5 Personen, die im Begriff ist, ein neues Projekt zu starten. Dies ist das erste Projekt, bei dem wir uns auf Scrum konzentrieren.

Wir haben ein wenig Probleme damit, eine Basis für das Projekt zu schaffen (Frameworks und dergleichen). Von solchen Aufgaben wird der Benutzer nicht direkt profitieren, daher fällt es uns schwer, herauszufinden, wie wir User Stories dafür schreiben.

Wie verwenden Sie Scrum im Allgemeinen, wenn Sie ein Projekt von Grund auf neu starten, ohne Frameworks und ohne Basisbibliothek?

Niklas H.
quelle

Antworten:

7

Ich denke nicht, dass viele agile Methoden die Aktivitäten, die normalerweise Teil des Projektbeginns sind, gut handhaben. Viele der gängigen Frameworks (XP, Scrum, Kanban) gehen dieses Problem nicht an, aber einige der skalierten Frameworks (Disciplined Agile Delivery, SAFe) tun dies bis zu einem gewissen Grad.

Einige Leute befürworten ein Konzept für ein anfängliches Inkrement (in Scrum einen Sprint), mit dem Ihr Projekt eingerichtet werden soll. Dies wird oft als Increment Zero (oder in Scrum als Sprint 0) bezeichnet. Es ist jedoch kein formeller Bestandteil von Scrum und Puristen sagen, dass das erste Inkrement möglicherweise freigebbar sein sollte.

Ein solches Inkrement wird verwendet, um die Teamumgebung einzurichten - richten Sie Ihre Entwicklungs-, Test- und Produktionsumgebungen ein, konfigurieren Sie Ihre unterstützenden Tools und Skripte und richten Sie Ihre Arbeitsumgebungen mit Burndown-Diagrammen und Backlogs ein. Wenn jemand im Team nicht mit den verwendeten Entwicklungstools vertraut ist, lernt er hier die Grundlagen, um zu funktionieren und in der ersten Iteration mit der Ausgabe zu beginnen.

Daneben beginnen Sie häufig damit, Ihre ersten User Stories zu schreiben und Ihr Produkt-Backlog zu priorisieren, da derzeit kein Sprint-Backlog vorhanden ist. Wer auch immer der Product Owner ist, wird Geschichten erfinden. Wenn diese Person neu bei Scrum ist, lernt sie, wie man gute User Stories schreibt, mit denen das Team auch arbeiten kann. Betonen Sie nicht, alle Geschichten zu erhalten, aber Sie möchten genug, um die erste Entwicklungsiteration zu starten.

Verschiedene Teams behandeln Sprint 0 unterschiedlich. Einige können es mit der gleichen Dauer wie jeder andere Sprint zeitlich festlegen. Andere machen es je nach den Bedürfnissen des Teams möglicherweise etwas länger oder etwas kürzer. Da dies Ihr erster Versuch mit Scrum ist, kann ich ihn verlängern, insbesondere wenn Sie im Rahmen Ihres Entwicklungszyklus kürzere Iterationen haben. Wenn Sie zweiwöchige Iterationen planen, machen Sie es 3 Wochen.

Was die Formulierung der Aufgaben angeht, würde ich sie nicht unbedingt als User Stories formulieren. Sie können aus Sicht der Teammitglieder und verschiedener Rollen (Product Owner, ScrumMaster, Entwickler, Tester, Designer, technischer Redakteur usw.). Sprint 0 ist jedoch für das Team, nicht für den Kunden oder den Benutzer. Eine einfache Liste von Aufgaben und Aktivitäten würde ausreichen.

Thomas Owens
quelle
3
Sprint 0 ist direkt für das Team, kommt aber indirekt dem Kunden zugute, da es den Grundstein für die bevorstehende Sprintarbeit legt. Tolle Antwort, Sie lassen es einfach und nicht so chaotisch klingen, wie sich Sprint 0 normalerweise anfühlt.
maple_shaft
Jeder Projektstart ist in der Regel je nach Team bis zu einem gewissen Grad chaotisch. Es gibt normalerweise nicht nur technische Probleme bei der Einrichtung, sondern auch persönliche Probleme zwischen Teammitgliedern und Prozessprobleme, um herauszufinden, wie mit auftretenden Problemen am besten umgegangen werden kann.
Thomas Owens
Ein weiteres Tool im Scrum-Toolbelt ist eine Reihe von "Spikes" (Research Stories), bei denen das Ergebnis im Wesentlichen bestimmt, welche Optionen verfügbar sind und was das Team als bevorzugte Lösung ausgewählt hat. Wenn also keine Frameworks verwendet werden, können Sie einen Sprint durchführen, um zu bestimmen, welche (falls vorhanden) Frameworks Ihnen helfen würden, einem nützlichen Produkt näher zu kommen. Insbesondere für kleine einmalige Dienstprogramme ist kein Framework immer eine Option.
Berin Loritsch
1

Dies sind die Voraussetzungen, die wir vor der Implementierung von SCRUM in unserem Team festgelegt haben. Sobald Sie mit der Liste fertig sind, können Sie den Prozess und die Tools für das eigentliche Scrum bereitstellen.

  1. Die Teammitglieder sind hoch oder mäßig qualifiziert.
  2. Das Team ist eng miteinander verbunden.
  3. Der Informationsaustausch zwischen den Teammitgliedern ist schnell, konsistent und frei.
  4. Das Team befindet sich am selben Ort.
  5. Das Geschäft ist stark mit dem Team verbunden.
  6. Architektur (Business, Information sowie Technik) ist gut definiert.
  7. Die Infrastruktur ist in Betrieb - Entwicklungs-, Test- und UAT-Umgebung.
  8. Automatisierte Erstellung und Freigabe.
  9. Hoher Testautomatisierungsgrad.
  10. Die Abhängigkeit des Teams von der Außenwelt ist minimal (idealerweise Null).
  11. Die Anzahl der teilnehmenden Systeme ist minimal.
  12. Die Anforderungen sind auf höheren Ebenen stabil, sodass der Produktbestand nur minimale Änderungen aufweist.
  13. Die Teammitglieder können selbstständig entscheiden, welche User Story Teil von Sprint / Scrum sein soll und wie viele Scrums / Sprints insgesamt erforderlich sind, um das festgelegte Ziel zu erreichen.

Weitere zwei wichtige Teile:

  1. Wählen Sie die Personen für die Rollen aus (Scrum Master, Product Owner und Team).
  2. Halten Sie Ihre weiße Tafel und die Aufkleber bereit.
java_mouse
quelle
Was meinst du mit # 11?
Matt Grande
3
Nach meiner Erfahrung hat SCRUM nicht gut funktioniert, wenn die Anwendung von externen Systemen abhängt oder mit diesen verbunden ist. Die Abhängigkeit von anderen Teams verringerte die Effizienz unseres Prozesses.
Vielleicht
Oh, okay, Sie meinten also Systeme, die modifiziert werden mussten. Ich dachte nur, dass es Systeme waren, die enthalten waren, daher die Verwirrung. In der Vergangenheit haben wir dies durch zwei "Ebenen" von Scrum geschafft. Eine niedrigere Ebene für jedes System und eine höhere Ebene für das gesamte Projekt, um alle Teams einzubeziehen.
Matt Grande