Sprint vs. Meilenstein vs. Release

Ich bin neu in Agile und Scrum und war verwirrt darüber, was die Unterschiede zwischen einem Sprint, einem Meilenstein und einem Release sind.

Ich habe einige sagen hören, dass der Sprint ein Meilenstein ist. Auch sehen in manchen Softwares die Begriffe Sprint und Milestone gleich aus. Aber ist es wirklich so?

Einige andere sagen, dass ein Meilenstein kein Sprint, sondern ein Release ist. Milestone und Release sind für sie also dasselbe.

Im Scrum Guide gibt es kein Wort zu Milestone. Warum? Warum hören wir in den agilen Gesprächen immer das Wort Meilenstein? Ist Meilenstein nur ein anderer Begriff für Release?

Ich suche nach einer Klarstellung zwischen diesen Begriffen Sprint, Milestone und Release und einem Beispiel. Ich würde gerne die genauen Scrum-Definitionen hinter diesen Begriffen kennen.

Antworten (10)

Sprint
Im Scrum Framework werden alle Aktivitäten, die für die Umsetzung von Einträgen aus dem Scrum Product Backlog benötigt werden, innerhalb von Sprints (auch „Iterationen“ genannt) durchgeführt. Sprints sind immer kurz: normalerweise etwa 2-4 Wochen.

Jeder Sprint folgt einem definierten Prozess, wie unten gezeigt:

Geben Sie hier die Bildbeschreibung ein

Das Herzstück von Scrum ist ein Sprint, eine Zeitbox von zwei Wochen oder einem Monat, in der ein potenziell veröffentlichbares Produktinkrement erstellt wird. Ein neuer Sprint beginnt unmittelbar nach Abschluss des vorherigen Sprints. Sprints bestehen aus der Sprint-Planung, den täglichen Scrums, der Entwicklungsarbeit, dem Sprint-Review und der Sprint-Retrospektive.

Bei der Sprint-Planung werden die im Sprint durchzuführenden Arbeiten gemeinsam vom Scrum-Team geplant.

Das Daily Scrum Meeting ist ein 15-minütiges Timebox-Event für das Scrum-Team, um die Aktivitäten zu synchronisieren und einen Plan für diesen Tag zu erstellen.

Am Ende des Sprints findet ein Sprint Review statt, um das Inkrement zu inspizieren und bei Bedarf Änderungen am Product Backlog vorzunehmen.

Die Sprint Retrospektive findet nach dem Sprint Review und vor dem nächsten Sprint Planning statt. In diesem Meeting soll sich das Scrum-Team selbst inspizieren und einen Plan für Verbesserungen erstellen, die im darauffolgenden Sprint umgesetzt werden.


Veröffentlichung
Das Ziel der anfänglichen Veröffentlichungsplanung besteht darin, ungefähr abzuschätzen, welche Funktionen bis zum Veröffentlichungstermin bereitgestellt werden (vorausgesetzt, der Termin ist festgelegt), oder einen ungefähren Bereitstellungstermin für eine bestimmte Gruppe von Funktionen festzulegen (bei festgelegtem Umfang). Wir verwenden diese Informationen, um zu entscheiden, ob das Projekt genug ROI bringt oder nicht, um sich zumindest selbst zu tragen, und ob wir daher fortfahren sollten oder nicht.

Meilenstein
Meilenstein ist typischerweise mit dem Erreichen eines bestimmten Ziels verbunden, bevor man weitermacht oder ganz aufhört. Checkpoint bezeichnet Punkte, an denen das Team anhält und den Fortschritt anhand der Erwartungen überprüft und möglicherweise anpasst.

Meilenstein (große Granularität) bedeutet Fortschrittskontrolle auf iterative Weise; es ist wichtig für den Gesamtprojektfortschritt, und wenn das zugehörige Ziel nicht erreicht wird, sind einige wichtige Analysen und Entscheidungen erforderlich; es ist mit Phasen und Iterationen oder anderen wichtigen Punkten verbunden und könnte mit der formalen Fortschrittsverfolgung zusammenhängen. Da „kein Team eine Insel für sich ist“, ist „Softwareentwicklung“ kein hermetisch abgeschlossenes Universum, und die Softwareentwicklungsbemühungen eines Teams sind normalerweise Teil eines größeren koordinierten Unternehmens / einer größeren Organisation.


Nun eine kurze Antwort auf Ihre Frage:
Sprint, Milestone und Release sind nicht dasselbe, aber irgendwann in der Projektentwicklung treffen sie aufeinander.

Es kann möglich sein, dass das Ende eines bestimmten Meilensteins zu einer teilweisen/endgültigen Freigabe führen kann.

Sprints sind Teile für einen Entwicklungsplan, mit iterativen Aktivitäten können sie nicht als Meilenstein betrachtet werden.

+1 für "Sprint, Milestone und Release sind nicht dasselbe, aber irgendwann während der Projektentwicklung treffen sie aufeinander."
@Krunal kann ich die Sprintdauer während des Projekts ändern? zB Sprint 1,2,3 - 1 Woche , Sprint 4 - 2 Wochen, Sprint 5,6 - 3 Wochen, Sprint 7 - 1 Woche .....
@Krunal "Sprints haben am besten eine konsistente Dauer während einer Entwicklungsarbeit." scrumguides.org/scrum-guide.html
@AlanLarimer danke für deine Bemerkungen, die mir die richtigen Informationen zeigen.

Sowohl Sprints als auch Releases sind Meilensteine, da ein Meilenstein nur „eine Aktion oder ein Ereignis ist, das eine signifikante Änderung oder Phase in der Entwicklung markiert“.

Milestone wird im Allgemeinen häufig in Projektmanagement-Gesprächen verwendet. Es ist nicht speziell ein Agile- (oder Scrum-) Begriff, aber seine Bedeutung ist breit genug (wie oben gezeigt), um in agilen Kontexten verwendet werden zu können.

Ein Sprint ist ein potenzielles Release, aber die meisten Sprints sind keine Releases.

Ein Sprint ist nur eine Iteration von Zeit, nach der das Produkt in einer stabilen, veröffentlichungsfähigen Form vorliegt.

Ein Release ist, wenn Sie das Produkt tatsächlich freigeben .

Wenn Sie genaue Scrum-Definitionen wissen wollen, lesen Sie den Scrum Guide .

Das Herzstück von Scrum ist ein Sprint, eine Zeitspanne von einem Monat oder weniger, in der ein „fertiges“, brauchbares und potenziell veröffentlichbares Produktinkrement erstellt wird.

Im Scrum-Leitfaden gibt es kein Wort zu Milestone. Warum? Warum hören wir in agilen Gesprächen immer das Wort Meilenstein … ist Meilenstein nur ein anderer Begriff für Release? tnx

Das Herzstück von Scrum ist ein Sprint, eine Zeitspanne von einem Monat oder weniger, in der ein „fertiges“, brauchbares und potenziell veröffentlichbares Produktinkrement erstellt wird.

Der Scrum-Leitfaden

Die anderen Begriffe gehören nicht zu Scrum, obwohl „Release Planning“ früher viele Jahre alt war .

Meilensteine ​​sind oft ein Teil des Vokabulars von PMI (Projektmanagement).

HINZUGEFÜGT

Die Geschichte der Softwareentwicklung und diese Begriffe haben viel zu bieten. Beginnen Sie bitte mit Managing the Development of Large Software Systems (1970), dem Missverständnis, das zum Wasserfallprozess führte. Die Begriffe Meilenstein und Release sind im klassischen Projektmanagement weit verbreitet. Sie sind ähnlich und werden oft synonym verwendet; Sie haben oft unterschiedliche Bedeutungen für verschiedene Menschen. Der Begriff agil stammt aus dem Manifest für agile Softwareentwicklung (2001), obwohl die Grundlagen für diese Philosophie in den 1990er Jahren ( Geschichte ) begannen, einschließlich eXtreme Programming und Scrum. Der Grund, warum das Release aus dem Scrum Guide entfernt wurde und Meilensteine ​​nie erschienen, war, dass sie beide langfristige Planungen sind, was der Absicht widerspricht: kurze iterative und inkrementelle Zyklen, die die Agilität fördern sollen, um die Richtung zu ändern, um Chancen zu ergreifen, Risiken zu reduzieren und zu beenden ein Aufwand, wenn das Kosten-Nutzen-Verhältnis nicht mehr akzeptabel war.

super Erklärung, warum die Meilenstein-Definition nicht im Scrum Guide auftaucht! tnx

Sprints und Meilensteine ​​sind Werkzeuge, die Sie verwenden können, um eine Version, wie die Veröffentlichung einer neuen Funktion, in kleinere und inkrementelle Schritte zu unterteilen.

Die meisten Softwareteams arbeiten bereits mit Sprints, indem sie sich verpflichten, mehrere Aufgaben in den nächsten 2 oder 3 Wochen zu erledigen. Einer der Vorteile der Arbeit in Sprints besteht darin, dass, nachdem Sie entschieden haben, welche Arbeit in jeden Sprint einfließt, dh die Sprintplanung, alle neuen Anforderungen entweder eine extrem hohe Priorität haben müssen und jemand im Team den Kontext ändern und sich darum kümmern muss , oder es wird dem Backlog hinzugefügt.

Meilensteine ​​sind ein großartiges Werkzeug für Engineering-Manager, um die Arbeit rund um die Ergebnisse für Endbenutzer zu organisieren. Es ist nicht zwingend, dass ein Meilenstein ein Fälligkeitsdatum hat, aber es ist besonders hilfreich, eines zu haben, wenn es externe Verpflichtungen mit anderen Teams gibt. Dann ist es einfacher, Erwartungen an andere Teams zu richten, weil es eine Verpflichtung gibt, die Arbeit in einem Meilenstein zu einem bestimmten Datum zu liefern, und es ist einfacher, den Fortschritt zu kommunizieren. Wenn Ihr Team mit Sprints arbeitet, kann ein Meilenstein mehrere Sprints umfassen.

Weitere Informationen zum Unterschied zwischen Sprints und Meilensteinen finden Sie in diesem Blogbeitrag .

Ein Release ist, wenn Kunden Zugriff auf neue Funktionen haben. Aus Sicht der Softwareentwicklung kann dies unterschiedliche Bedeutungen haben, je nachdem, wie Sie Code bereitstellen.

Wenn Sie in einer „Point-in-Time-Deployment“-Welt ein neues Feature einführen, arbeitet Ihr Team in Sprints, die mehrere Meilensteine ​​freischalten. Nachdem Sie jeden Meilenstein abgeschlossen haben, wird Code für Endbenutzer bereitgestellt, damit sie Zugriff auf die neue Funktion erhalten.

Geben Sie hier die Bildbeschreibung einWenn Ihr Engineering-Team eine kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) verfolgt, dient die Verwendung von Sprints hauptsächlich dazu, dass das Team weiß, worauf es sich in den nächsten 2-3 Wochen konzentrieren wird. In einer CI/CD-Welt haben Sie jedes Mal eine Produktionsfreigabe, wenn neuer Code integriert wird. Auf diese Weise haben Ihre Kunden entweder vollen Zugriff auf neue Funktionen oder die neuen Funktionen sind für sie noch nicht sichtbar, aber ihre Grundlagen werden im Hintergrund schrittweise getestet, bereitgestellt und ausgeübt.

Geben Sie hier die Bildbeschreibung ein

Zu Frage: "Unterschiede gibt es zwischen einem Sprint, einem Meilenstein und einem Release." In PM Best Practice ist ein Meilenstein ein Zeitpunkt, der keine Ressourcen verbraucht.

In einem PM-Plan, der die Softwarebereitstellung des Scrum-Frameworks beinhaltet, könnten Sie einige einfache Meilensteine ​​in Ihrem gesamten Projektstrukturplan/Plan angeben, um die Scrum-Sprints anzugehen, zum Beispiel:

  1. Backlog für Sprint 1 produzieren (eine PM-Zusammenfassungszeile) (dies ist eine Scrum-Framework-Aktivität)
  2. Sprint 1 planen (eine PM-Zusammenfassungszeile) (dies ist eine Scrum-Framework-Aktivität) Sprint 1 starten (ein PM-Meilenstein)
    • (eine PM-Zusammenfassungszeile) (Listen Sie hier die Scrum-Framework-Aktivitäten auf)
    • Scrum Increment geliefert (ein Meilenstein)
  3. Beende Sprint 1 (ein Meilenstein)

Wiederholen Sie das Obige für jeden Sprint.


Zum Begriff Release: Erstens die Definition eines Inkrements – „ein Stück funktionierende Software, das zu zuvor erstellten Inkrementen hinzufügt, wobei die Summe aller Inkremente – als Ganzes – ein Produkt bilden.“

Achten Sie darauf, sich darauf zu einigen, was der Umfang des Begriffs Release bedeutet. Beispielsweise liefert im Scrum-Framework jeder Sprint ein Inkrement, aber das Inkrement wird vom Benutzer möglicherweise noch nicht in Betrieb genommen; Dies ist eine Entscheidung des Scrum-Produktbesitzers.

Ich hatte gehofft, dass meine Aktivitäts- und Meilensteinphrasen zum leichteren Lesen in getrennten Zeilen stehen würden, aber der Texteditor hat sie zu einem Satz zusammengefasst, also denken Sie daran, wenn Sie meinen obigen Kommentar lesen, danke.

Ein Meilenstein ist eine Errungenschaft.

Ein Release ist die Tatsache, dass eine Software für Benutzer freigegeben wird.

Ein Sprint ist eine Arbeitsphase, in der ein bestimmter Mehrwert geschaffen wird.

Bitte teilen Sie mit, was falsch ist, und stimmen Sie nicht nur ab

Nur um zur Verwirrung beizutragen, ein „Meilenstein“ ist auch ein Begriff, der in Ticket-Tracking-Tools wie Trac und GitHub verwendet wird. In dieser Verwendung ist ein Meilenstein etwas, das ein Fälligkeitsdatum und eine Reihe von damit verbundenen Tickets hat.

Daher kann es sein, dass einige Teams diese Art von Meilenstein verwenden, um den Fortschritt von Tickets für einen Sprint und/oder für ein Release zu organisieren und zu verfolgen. Ich frage mich, ob dies zur Verwirrung des OP beiträgt.

Milestone ist ein Flag für eine Gruppe von Anforderungen. Wenn Sie fertig sind, haben Sie ein Ziel in den Projektzielen erreicht.

Sprint ist ein - ausreichend großer - fester Zeitrahmen, in dem Sie eine stabile und funktionierende Gruppe von Features (User Stories) liefern.

In Release versenden Sie ein lieferbares Feature (das kleinste Zeitfeld).

Meilenstein >= Sprint (Möglicherweise benötigen Sie mehrere Sprints, um einen Meilenstein zu erreichen) Sprint >= Release (Sie benötigen möglicherweise mehrere Releases, um einen Sprint abzuschließen)

Scheint, dass diese Antwort von dem, was andere sagen, loslassen und sprinten, was nur zeigt, dass es keine einzige Perspektive für diese Frage gibt. Wenn Sie CICD sind und mehrmals pro Sprint veröffentlichen, ist ein Release-Zyklus kürzer als der Sprint.

Sprint ist ein Zeitrahmen, um ein oder mehrere Ziele zu erreichen, häufig 1 bis 4 Wochen. Es bezieht sich auf eine Arbeit, die von einem Team ausgeführt wird. Meilenstein ist ein Ereignis während eines Projekts mit einer Dauer von null Tagen, das eine wichtige Errungenschaft darstellt. Release ist ein Liefergegenstand, kann ein Dokument, ein Softwaremodul, eine Blaupause usw. sein.

EG: Sprint 1: Vom 2. bis 20. Oktober. Sprint 2: Vom 23. Oktober bis 27. Oktober.

Meilenstein ABC: Projektstart. Meilenstein XYZ: Beginn der Designphase.

Version Nr. 1: ContactUs-Webformular. Version Nr. 2: Verkaufsbericht.

Können Sprints während des Projekts unterschiedlich lang sein (manchmal 1 Woche, manchmal 2..)?
@ user155293 Es ist nicht verboten, aber es wird dringend davon abgeraten: "Sprints haben am besten eine konsistente Dauer während einer Entwicklungsarbeit." scrumguides.org/scrum-guide.html
@Alan Larimer hat Recht.

Meiner Meinung nach sollten Releases der Meilenstein für mich sein und Sprint wird vom Manager entsprechend den Fähigkeiten eines Mitarbeiters gestaltet.