Projektmanagementprozess in Azure Boards

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Sie können den Abschnitt "Project Management" des MSF für die Integration von Funktionsfälligkeitsmodellen (CMMI) verwenden, um besser zu verstehen, wie Sie die Entwicklung und Wartung von Softwareprodukten verwalten, planen und koordinieren können. Weitere Informationen zu CMMI finden Sie im Hintergrund zu CMMI.

Die Projektmanagementgruppierung von Prozessbereichen in der CMMI umfasst die Projektplanung, die Projektüberwachung und -steuerung, die Lieferantenvertragsverwaltung, das integrierte Projektmanagement, das Risikomanagement und das quantitative Projektmanagement. Mit Ausnahme des quantitativen Projektmanagements sind alle Komponenten Teil der Modellebene 2 oder 3. Quantitatives Projektmanagement ist eine Modellaktivität auf Ebene 4, die widerspiegelt, wie hochfällige Organisationen quantitative, statistisch defensive, unbiasierte Daten verwenden, um Verwaltungsentscheidungen zu treffen und Projekte zu einem erfolgreichen und vorhersehbaren Ergebnis zu steuern.

Die Projektmanagementaktivitäten stellen wirtschaftliche Kosten für Mehrwert erzeugende technische Aktivitäten dar. Diese Aktivitäten sind notwendig und wichtig für den Umgang mit Risiken, für die Koordination von erfolgreichen technischen Maßnahmen und für das angemessene Setzen von Kundenerwartungen. Sie sollten jedoch den Aufwand minimieren, der für diese Aktivitäten verwendet wird. "Wenig, aber oft" ist ein gutes Motto. Kleinere Batches senken Komplexitäts- und Koordinationskosten. Wenn Sie Ihre Prozessdefinition festlegen und anpassen, berücksichtigen Sie, dass die Projektmanagementaktivitäten einen möglichst geringen Aufwand nach sich ziehen sollten, während sie gleichzeitig dem Risikoprofil des Projekts gerecht werden.

Implementieren der iterativen Entwicklung

Team Foundation unterstützt zusammen mit der MSF für CMMI-Prozessvorlage iterative Arbeit. Iterative Entwicklung ermöglicht den Umgang mit Risiken, indem während des gesamten Projekts in festgelegten Intervallen vorführbare und getestete Software bereitgestellt wird.

Folgende Iterationen

Der Projektzeitplan ist in einer Reihe von Iterationen organisiert, die in der Regel eine Dauer von vier bis sechs Wochen besitzen. Jede Iteration endet mit einer Demonstration von verwendungsfähiger und getesteter Software. Informationen zum Planen von Sprints finden Sie unter "Planen von Sprints".

  • Der Projektplan gibt an, welche Featureanforderungen in jeder Iteration entwickelt werden. Der Projektplan wird in Iteration 0 entwickelt und zu Beginn jeder Iteration überprüft. Informationen zum Erstellen und Anzeigen des Projektplans finden Sie unter "Backlog erstellen".

  • Jeder Iterationsplan gibt an, welche Aufgaben während dieser Iteration ausgeführt werden. Die meisten Aufgaben sind Entwicklung und Testarbeit, die die Featureanforderungen in dieser Iteration erfüllt. Der Iterationsplan kann über die Sprint-Backlog-Seite angezeigt werden.

    Iterative Arbeit verwaltet nicht automatisch Risiken. Zur Risikominimierung muss der Projektplan in Schritten angeordnet werden. Frühe Iterationen sollten eine minimale Version der wichtigsten Verhaltensweisen des Produkts enthalten, eine so genannte "End-to-End-Thin-Slice". In späteren Iterationen sind zusätzliche Funktionen verfügbar.

    Im Gegensatz dazu wäre es viel weniger nützlich, den Umsatzteil einer Einkaufswebsite für das erste Drittel des Projekts, das Lagersystem im zweiten Drittel und das Zahlungssystem im letzten Drittel zu planen. Bei einem derartigen Zeitplan bestünde die Gefahr, dass eine zwar ansprechende und viele Funktionen bietende Verkaufswebsite erzeugt wird, die jedoch keine Zahlungsfunktionen für die Kunden enthält. Es ist iterativ, ohne inkrementell zu sein.

    Die inkrementelle Entwicklung bietet die folgenden Vorteile:

  • Erfüllt die tatsächlichen Anforderungen. Projektbeteiligte haben die Gelegenheit, das Produkt zu testen, was immer zu Verbesserungen der angegebenen Anforderungen führt.

  • Optimiert die Architektur. Ermöglicht dem Entwicklungsteam, eventuelle Schwierigkeiten zu erkennen und zu behandeln, die in Zusammenhang mit der Plattform oder potenziellen Verbesserungen am Entwurf auftreten.

  • Stellt Ergebnisse sicher. Die Beteiligten wissen, dass auch wenn Projektressourcen teilweise reduziert werden, die Ausgaben bis zum heutigen Zeitpunkt nicht verschwendet wurden. Gleiches gilt, wenn sich die Entwicklungsschätzungen als zu optimistisch erweisen und die weniger bedeutsamen Funktionen verworfen werden müssen.

    Weitere Informationen zum Ausdrücken der Anforderungen in einem geeigneten Formular für die inkrementelle Entwicklung finden Sie unter "Entwickeln von Anforderungen".

Größere und kleinere Zyklen

Das Projekt und die Iteration sind nicht die einzigen cyclischen Aspekte der Softwareentwicklung. In einer Iteration beginnen Teammitglieder Aufgaben und schließen diese ab, und sie checken Code ein. Vom Buildsystem wird das Produkt fortlaufend oder jede Nacht erstellt. Das Team macht sich jeden Tag kurz ein Bild über den Status der Iterationsaufgaben.

Einchecken, tägliche Erstellung, Iteration, Projekt, Programm

Große Projekte

Ein Projekt, in dem ein Team eine Reihe von Iterationen ausführt, ist möglicherweise Teil eines größeren Projekts oder Programms. Bei großen Projekten arbeiten mehrere Teams parallel. Jedes Team besteht in der Regel aus vier bis 16 Personen.

Öffnen Sie für jedes Team einen gesonderten Versionskontrollenbranch. Jedes Team sollte in den Hauptbranch am Ende jeder Iteration integriert werden. Weitere Informationen finden Sie unter "Verwenden von Zweigen".

Reservieren Sie den Hauptbranch für Integration und Tests. Der Buildcomputer sollte einen vollständigen Satz von Tests nach einer Integration ausführen.

Weisen Sie jedem Team einen Bereich zu, damit die Arbeitselemente leicht von den anderen Teams getrennt werden können. Weitere Informationen finden Sie unter Anpassen von Bereichs- und Iterationspfaden.

Die Teams können eine Reihe von Integrationen freigeben, aber die Freigabe ist nicht immer erforderlich. Wenn die Teams keine Integrationen synchronisieren, muss jedes Team über ein eigenes Präfix für seine Iterationsnamen verfügen.

  • Die Projektzyklus-/Projektaktivitäten: Starten Sie das Projekt, sammeln Sie Anforderungen, erstellen Sie einen Projektplan, teilen Sie sie in Iterationen auf, und liefern Sie Versionen. Verwalten Sie Risiken, und verwalten Sie Änderungen am Plan.
  • Die Iterationszyklus-/Iterationsaktivitäten: Überprüfen und Aktualisieren von Anforderungen, planen Sie die Aufgaben, um Anforderungen zu implementieren und Probleme zu verwalten, während sie auftreten.
  • CMMI-Prozess