Können wir sagen, dass ein Sprint und ein Quellcode-Zweig fast dasselbe sind?

Ich werde mit meinen Kommilitonen ein universitäres Projekt starten. Es ist erforderlich, dass wir zusammen mit Bitbucket eine der agilen Methoden verwenden. Wir möchten mit Scrum beginnen. Ich habe seine Dokumentation gelesen und es scheint sehr mächtig zu sein.

Meine Frage bezieht sich auf den Sprint in Scrum und den Branch in Bitbucket. Können wir sagen, dass ein Sprint und ein Zweig fast dasselbe sind?

Wenn ja, werden wir unseren allerersten Zweig in BitBucket eröffnen und dies wird unser erster Sprint sein. Ist dies die richtige Interpretation dieser Methode, oder wäre es angemessener (mit „angemessen“ meine ich „nach bewährten Verfahren“), dass jedes Mitglied unserer Gruppe eine eigene Filiale eröffnet?

Antworten (2)

Sprints und Branches sind getrennte Konzepte

Können wir sagen, dass ein Sprint und ein Quellcode-Zweig fast dasselbe sind?

Nein, ein Scrum-Sprint und ein Git-Branch sind keineswegs dasselbe. Während Sie im Entwicklungsprozess ein Online-Quellcodeverwaltungssystem (SCM) wie BitBucket oder GitHub verwenden können, gibt es keine Eins-zu-Eins-Zuordnung zwischen dem Projektmanagement-Framework (in diesem Fall Scrum) und Ihrem SCM-Workflow .

Ein Sprint ist eine zeitlich begrenzte Iteration mit einem zusammenhängenden Sprint-Ziel und einer Reihe von Funktionen, die dem Team helfen, das Sprint-Ziel zu erreichen. Diese Merkmale umfassen auch einen oder mehrere potenziell lieferbare Wertzuwächse. Diese Inkremente sind die Ergebnisse für jeden Sprint.

SCM-Workflows sind verhandelbare Prozesse, die zwischen Projekten und Teams variieren können. Es gibt keine kanonische Antwort auf die Frage, wie man Quellcode-Management team-, projekt- oder organisationsübergreifend einsetzen sollte. Das ist wirklich eine Frage, die sich das Entwicklungsteam im Rahmen des Projekts stellen muss, und ist letztendlich eher ein technisches oder architektonisches Anliegen als eine Projektmanagementpraxis.

Um dies hinzuzufügen, würde ich vorschlagen, dass keine Eins-zu-Eins-Zuordnung zwischen Scrum-Aktivitäten und Zweigen erforderlich ist, aber es gibt auch keinen Grund, diese Zuordnung nicht zu verwenden, falls dies gewünscht wird. Zum Beispiel übernehmen wir eine lockere Zuordnung von „Sprint-Task zu Git-Zweig“, da dies einem oder mehreren Entwicklern, die an einer Aufgabe beteiligt sind, ermöglicht, isoliert vom Rest des Teams zu arbeiten, während sichergestellt wird, dass alle paar Tage wieder mit dem Master-Zweig zusammengeführt wird. Dies wird jedoch nicht streng durchgesetzt, da gelegentlich andere Verzweigungsansätze besser funktionieren. Tun Sie, was für Sie am besten funktioniert.

Nein, aber ich verstehe, warum du das denken könntest.

In gewisser Weise sind sie analog:

ein Sprint (das ist eine klar getrennte Phase der Entwicklungsarbeit auf ein bestimmtes Ziel hin)

bezieht sich auf die Reihe der bisher abgeschlossenen Geschichten (eine Beschreibung aller bisher geleisteten Entwicklungsarbeiten)

als Branch (das ist* ein klar getrennter Ort in einem Repository für Quellcode, der für einen bestimmten Zweck entwickelt wird)

ist an den Trunk oder Master (das ist* der Quellcode, der die gesamte bisher geleistete Arbeit widerspiegelt)

*vorausgesetzt, man verwendet ein Modell, in dem die Entwicklungsarbeit für Features auf Branches durchgeführt wird und Branches nach Abschluss jedes Features wieder mit dem Master zusammengeführt werden. Es gibt andere Modelle, aber dieses ist ziemlich verbreitet.

Und wenn dies das Modell ist, das Sie verwenden, dann gibt es während eines Sprints einen oder mehrere aktive Branches; und am Ende des Sprints, vorausgesetzt, Sie haben alle geplanten Arbeiten abgeschlossen, werden alle diese Branches wieder zum Master zusammengeführt.

Wie CodeGnome sagte, unterscheidet sich der Arbeitsablauf, den Sie zum Verwalten des Quellcodes während der Entwicklung verwenden, stark von der Methodik, die Sie für das Projektmanagement verwenden. Wenn Sie bisher die meiste Zeit als Solo-Entwickler verbracht haben, kann es schwer sein zu verstehen, dass es neben der Verwaltung und Bearbeitung Ihres Quellcodes noch andere Aspekte der Entwicklungsmethodik gibt.

Denken Sie stattdessen darüber nach, wie Sie die für den Abschluss des Projekts erforderliche Arbeit planen, aufteilen und verwalten. Hier kommen Sprints ins Spiel.

Das ist eine sehr klare Antwort, danke. Wenn mein Team also an einem Sprint mit 4 User Storys arbeitet und jedes Mitglied seinen eigenen Zweig für die Arbeit an seiner User Story eröffnet (vorausgesetzt, dass jedes Mitglied an einer User Story arbeiten kann), könnte dies eine korrekte Integration von Scrum mit sein Bit Bucket?