Agil Release Planung
Agil release Planung ist eine Projektmanagementtaktik, bei der Teams programmieren und release Produkte schrittweise und nicht alle in einem Code-Push.
Release Fristen sind oft festgelegt und werden von außen durch Dinge wie Messen, Buchhaltungszwänge oder vertragliche Verpflichtungen auferlegt. Da es aber darum geht, möglichst schnell funktionsfähige Software in die Hände der Anwender zu bekommen, um schnellstmöglich „Kurskorrekturen“ vornehmen zu können, wird alles daran gesetzt, diese einzuhalten release Software-Entwicklungszyklen so kurz wie möglich zu halten. Agil release Die Zyklen sollten auf jeden Fall kürzer als ein Jahr gehalten werden und betragen oft nur sechs oder drei Monate. A release besteht wiederum aus Iterationen. Für ein bestimmtes Projekt wird die Iterationsdauer normalerweise auf eine Dauer zwischen einer Woche und einem Monat festgelegt. Wenn die release ist in sechs Monaten und die Iterationen werden jeweils zwei Wochen dauern release wird aus 13 Iterationen bestehen.
In manchen Umgebungen kann Software den Benutzern oder zumindest einer Untergruppe von Benutzern schrittweise am Ende jeder Iteration oder alle paar Iterationen bereitgestellt werden. Nachdem eine erste Funktionsliste identifiziert, priorisiert und möglicherweise geschätzt wurde, hält das Team eine release Planungsbesprechung zur Festlegung des Gesamtbildes release Planen Sie und bestimmen Sie, welche Funktionen voraussichtlich bereitgestellt werden können. Das Ganze release Der Plan in Bezug auf priorisierte Funktionen wird dann verwendet, um einzelne Iterationspläne direkt zu füttern.
Einige agile Methoden betonen eine klare Trennung der Verantwortlichkeiten zwischen Programmierern und Kunden. Während der Planung ist nur der Kunde für Geschäftsentscheidungen und Priorisierung verantwortlich und nur die Programmierer sind für die Aufgabenschätzung und die Entwicklungsausführung verantwortlich. Agile Methoden Halten Sie das Management außerdem dringend davon ab, der Entwicklungsgruppe willkürlich Technologieentscheidungen aufzuzwingen, und geben Sie den Entwicklern stattdessen so viel Spielraum wie möglich, um die besten Tools für das System und das Projekt auszuwählen.
Vorläufige release Planung
Das Ziel der Initiale release Die Planung besteht darin, grob abzuschätzen, welche Funktionen von bereitgestellt werden release Frist festlegen (vorausgesetzt, die Frist ist festgelegt) oder einen ungefähren Liefertermin für einen bestimmten Satz von Funktionen festlegen (sofern der Umfang festgelegt ist). Wir verwenden diese Informationen, um zu entscheiden, ob das Projekt einen ausreichenden ROI erzielen wird, um sich zumindest zu amortisieren, und ob wir daher fortfahren sollten oder nicht.
Initiale release Planungsbesprechungen dauern selten länger als einen Tag – oder zwei halbe Tage, wenn Sie es einfach nicht aushalten, einen ganzen Tag in einer Besprechung zu bleiben. Zunächst präsentiert der Kunde die priorisierten zu liefernden Features. Im Idealfall haben die Entwickler bereits grobe Schätzungen darüber erstellt, wie viel Arbeit für die Implementierung jeder dieser Funktionen erforderlich ist.
Anhand der Schätzungen der Entwickler und der Funktionsprioritäten des Kunden entwirft das Team eine release Planen Sie, die Funktionen den ersten Iterationen sehr grob zuzuordnen. Entwickler stellen möglicherweise fest, dass Funktionen mit relativ niedriger Priorität Design- oder Architekturrisiken bergen, und bitten Kunden daher möglicherweise, darüber nachzudenken, sie trotzdem früheren Iterationen zuzuordnen, um diese potenziellen Risiken so früh wie möglich im Projekt anzugehen.
Es ist enorm hilfreich, wenn die Geschwindigkeit des Entwicklungsteams auf einem früheren Stand ist release ist bereits bekannt. In diesem Fall, wenn der Umfang festgelegt ist, dividieren Sie die Gesamtschätzung für alle erforderlichen Funktionen durch die Geschwindigkeit des Teams, um die ungefähre Anzahl der Iterationen zu ermitteln, die zur Bereitstellung der Funktionalität erforderlich sind, und damit die Frist. Wenn die Frist festgelegt ist (was üblich ist), multiplizieren Sie die Geschwindigkeit mit der Anzahl der Iterationen, um einen ersten Eindruck davon zu bekommen, wie viele Funktionen bereitgestellt werden können. Wenn die Geschwindigkeit des Entwicklungsteams nicht bekannt ist, muss es eine Schätzung dafür vorlegen release Es muss davon ausgegangen werden, dass der Plan in den ersten paar Iterationen weniger präzise ist, bis eine zuverlässige Geschwindigkeitszahl abgeleitet werden kann.
Vorläufige release Plan
Die anfängliche release Der Plan stellt selten alle Parteien zufrieden – entweder wird nicht genügend Funktionalität bereitgestellt oder es scheint zu viel Zeit erforderlich zu sein, um die gewünschte Funktionalität bereitzustellen. Aber in der agilen Welt sieht sich das Team diesen harten Wahrheiten ins Auge und entwickelt einen Softwareentwicklungsplan um sie herum. Niemand glaubt an Scope-Wunder, die alle zufrieden stellen. Anstatt kollektives Leugnen zu praktizieren, nutzt das Team reale Kennzahlen und Verhandlungen, um möglichst kurz vor Projektbeginn schwierige Entscheidungen zu treffen.
Agile Vordenker sind sich einig, dass dies zwar der Fall ist möglich Um Umfang, Termin, Ressourcen und Qualität für ein bestimmtes Projekt anzupassen, sind Termin und Umfang die einzigen Variablen, die gut auf die Anpassung reagieren. Umfangreiche Untersuchungen haben gezeigt, dass größere Teams dazu neigen, Systeme mit geringerer Qualität langsamer bereitzustellen, während kleinere Teams dazu neigen, Systeme mit höherer Qualität schneller bereitzustellen. Es kann zwar notwendig sein, einem Team Programmierer hinzuzufügen, aber das wird das Team wahrscheinlich zumindest für eine Weile verlangsamen und nicht beschleunigen. Sobald wir diese Erkenntnisse akzeptieren, akzeptieren wir das in unserem release Bei der Planung müssen wir entweder den Umfang oder die Frist anpassen, um eine zu erstellen release Plan, der von Sponsoren, Kunden, Entwicklern, Managern und anderen Interessengruppen als umsetzbar anerkannt wird. Die Tatsache, dass das Team diese schwierigen Entscheidungen im Vorfeld trifft, verringert das Gesamtrisiko für das Projekt. Es erhöht die Chancen, dass das Team bis zum Stichtag einen Funktionsumfang erstellt, der die Investitionen der Stakeholder mehr als ausreichend zurückbringt.
Planung der release ständig
Die anfängliche release Der Plan wird als grob verstanden. Es muss detailliert genug sein, nur um uns den Einstieg zu erleichtern, indem vorhergesagt wird, dass das Projekt einen ausreichenden Return on Investment erzielen wird, um es mehr als zu finanzieren. (Wenn die Initiale release (Wenn der Plan einen ROI vorhersagt, der zu niedrig ist, um das Projekt zu rechtfertigen, können wir das Projekt abbrechen, bevor wir sehr viel Geld verschwenden.) In agilen Projekten planen wir kontinuierlich und korrigieren unseren Kurs im Laufe der Zeit. Einer der Hauptmechanismen zur Kurskorrektur besteht darin, das zuzulassen release Planen Sie, sich als Reaktion auf alle Arten von Rückmeldungen weiterzuentwickeln. Es wird mindestens ein paar Iterationen dauern, bis sich die Teamgeschwindigkeit stabilisiert. Iterationen liefern manchmal weniger Funktionalität als geplant und manchmal mehr. Funktionen, architektonische Entscheidungen, Designentscheidungen oder Rahmen- oder Technologieentscheidungen könnten sich als zu riskant oder einfach nicht umsetzbar erweisen. Die Benutzeroberfläche muss möglicherweise überarbeitet werden. Es kann passieren, dass Personal verloren geht oder hinzukommt. Die Funktionsprioritäten können sich ändern. All diese Faktoren werden uns dabei helfen, das zu überarbeiten und zu verfeinern release kontinuierlich planen. Wenn jeder neue Iterationsplan veröffentlicht wird, sollte auch eine Überarbeitung veröffentlicht werden release Plan, der die neue Realität widerspiegelt.
Start und Abschluss
Viele agile Teams planen, in der ersten Iteration (oft als „Iteration 0“ bezeichnet) nur eine kleine Menge an Funktionalität bereitzustellen, um explizit die Lösung anfänglicher technischer und logistischer Probleme zu ermöglichen und möglicherweise auch die Architektur von Anfang bis Ende zu belasten. Dies kann für Teams, die wenig oder keine agile Erfahrung haben, von entscheidender Bedeutung sein. Für ein Team ohne gute Geschwindigkeitsmetrik könnte dies bedeuten, dass die Geschwindigkeit erst am Ende der zweiten oder dritten Iteration stabil und zuverlässig geworden ist.
Einige Teams planen außerdem bis zu zwei Iterationen bei Projektabschluss zur Stabilisierung, systemweiten Integration und Tests, Fehlerbehebung und Vervollständigung der Benutzerdokumentation. In einem idealen agilen Projekt wäre dies nicht erforderlich, aber in der realen Welt hängt es von den spezifischen agilen Praktiken ab, denen das Team folgt, der Organisationsstruktur, der Gesamtkomplexität des Systems, den vom Team erwarteten Nicht-Code-Ergebnissen und der Komplexität des Systems deployment und ähnliche Faktoren.
FAQ
Muss ich es wirklich verwenden? releases und a release planen?
Einige Teams kommen ohne aus agile Planung im release eben. Beispielsweise kann ein ASP einfach bei jeder Iteration (d. h. alle paar Wochen) Software in die Produktion einliefern, sodass jede Iteration effektiv eine ist release und eine einfache agile Planung durch Iteration kann ausreichen. Wenn andererseits ein gewisses Maß an Transparenz durch das Management der Software erforderlich ist release Management Ebene (d. h. Fortschritt, Status, Änderungen gegenüber dem ursprünglichen Softwareentwicklungsplan usw.), dann releasePlanung und Management auf Ebenenebene können von unschätzbarem Wert sein.
Wie groß sind releases?
ReleaseDie Dauer liegt typischerweise zwischen zwei und zwölf Monaten. Für länger releaseDaher kann es sinnvoll sein, es in mehrere Untergruppen zu unterteilen.releases.
Wie viele Iterationen sind in a release?
Die Anzahl der Iterationen innerhalb eines release wird typischerweise durch den Zeitplan bestimmt. Wenn ein release Da die Dauer sechs Monate beträgt und die Iterationen zwei Wochen dauern, sollten 13 Iterationen für die geplant werden release.
Wer nimmt teil release Planung?
Bei kleineren Teams kann es sinnvoll sein, dass das gesamte funktionsübergreifende Team sowohl aus Input- als auch aus Verantwortungsgründen teilnimmt. Bei größeren Teams und Organisationen kann eine Untergruppe des Teams ausgewählt oder gewählt werden, um das Team zu vertreten.
Wie lange? release Planen Sie Besprechungen zuletzt?
Release Planungsbesprechungen dauern in der Regel zwischen vier und acht Stunden.
Wie viel Arbeit wird in Vorbereitung auf a. geleistet? release Planungstreffen?
Im Allgemeinen wurde vor einem ziemlich viel Arbeit geleistet release Planungsbesprechung im Hinblick auf Projektgenehmigung, Budgetierung, Vision, Teamidentifizierung usw. In Bezug auf die Funktionalität hat der Kunde wahrscheinlich Zeit damit verbracht, mit der Entwicklung zusammenzuarbeiten, um erste Merkmale zu identifizieren, und möglicherweise auch damit, diese aufzuschlüsseln und erste, hochwertige Funktionen bereitzustellen. Niveauschätzungen.
Hat das release Planänderung während der release?
Je mehr Informationen aufgedeckt werden, desto mehr Funktionalität wird bereitgestellt, mehr über das System verstanden wird, sich die Geschäftsanforderungen weiterentwickeln und sich die Prioritäten ändern, ändert sich auch die Gesamtstruktur des Systems release wird sich mit ziemlicher Sicherheit ändern. Obwohl erwartet, die Entwicklung der Software release Das Management im Laufe der Zeit muss allen relevanten Stakeholdern mitgeteilt werden.