Projektverwaltung

Im Abschnitt "Projektmanagement" des MSF for CMMI Process Improvement-Leitfadens finden Sie Informationen, die Ihnen das Verständnis der Verwaltung, Planung und Koordination der Entwicklung und Verwaltung von Softwareprodukten erleichtern. Weitere Informationen zu CMMI finden Sie unter Hintergrundinformationen zu CMMI.

Die Projektmanagementgruppierung von Prozessbereichen in der CMMI umfasst Projektplanung, Projektüberwachung und -steuerung, Lieferantenvertragsverwaltung, integriertes Projektmanagement, Risikomanagement und quantitatives Projektmanagement. Mit Ausnahme des quantitativen Projektmanagements sind alle Komponenten Teil der Modellebene 2 oder 3. Quantitatives Projektmanagement ist eine Aktivität der Modellebene 4, die widerspiegelt, wie Organisationen mit hohem Reifegrad mithilfe von quantitativen, statistisch defensiven und objektiven Daten Managemententscheidungen treffen und den erfolgreichen und prognostizierbaren Abschluss von Projekten gewährleisten.

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 für diese Aktivitäten minimieren. "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öglicht geringen Aufwand nach sich ziehen sollten, während Sie gleichzeitig dem Risikoprofil des Projekts gerecht werden.

Iterative Entwicklung

Team Foundation unterstützt gemeinsam mit der MSF for 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.

Aufeinanderfolgende 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 hier.

  • Im Projektplan wird angegeben, welche Funktionsanforderungen in jeder Iteration entwickelt werden. Der Projektplan wird in Iteration 0 entwickelt und zu Beginn jeder Iteration überprüft. Informationen zum Erstellen und Anzeigen eines Projektplans finden Sie unter Backlog erstellen.

  • In jedem Iterationsplan wird angegeben, welche Aufgaben während dieser Iteration ausgeführt werden. Die meisten Aufgaben bestehen aus Entwicklungs- und Testarbeit, die erforderlich ist, um die für die jeweilige Iteration geplanten Funktionsanforderungen zu erfüllen. Der Iterationsplan kann über die Sprint-Backlogseite angezeigt werden.

Iterative Arbeit gewährleistet kein automatisches Risikomanagement. 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 deutlich weniger hilfreich, den gesamten Verkaufsbereich einer Shoppingwebsite im ersten Drittel, das gesamte Lagerhaltungssystem im zweiten Drittel und das gesamte Zahlungssystem im letzten Drittel des Projekts 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. Der Plan ist iterativ, ohne inkrementell zu sein.

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. Projektbeteiligte wissen, dass auch bei Aufteilung der Projektressourcen die bisherigen Investitionen 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 Definieren der Anforderungen in einer für inkrementelle Entwicklung geeigneten Form finden Sie unter Entwickeln von Anforderungen.

Größere und kleinere Zyklen

Das Projekt und die Iteration sind nicht die einzigen zyklischen 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äglicher Build, 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 eine gesonderte Versionskontrollenverzweigung. Jedes Team sollte in die Hauptverzweigung am Ende jeder Iteration integriert werden. Weitere Informationen finden Sie unter Verwenden von Verzweigungen zum Isolieren von Risiken in der Team Foundation-Versionskontrolle.

Reservieren Sie die Hauptverzweigung für Integration und Tests. Der Buildcomputer sollte nach einer Integration eine vollständige Testreihe ausführen.

Weisen Sie jedem Team einen Bereich zu, damit die Arbeitsaufgaben leicht von den anderen Teams getrennt werden können. Weitere Informationen finden Sie unter Hinzufügen und Ändern von Bereichs- und Iterationspfaden.

Die Teams können gemeinsam eine Reihe von Integrationen nutzen, was jedoch nicht immer notwendig ist. Wenn die Teams keine Integrationen synchronisieren, muss jedes Team für seine Iterationsnamen ein eigenes Präfix verwenden.

In diesem Abschnitt

Der Projektzyklus: Starten Sie das Projekt, sammeln Sie Anforderungen, erstellen Sie einen Projektplan, unterteilen Sie ihn in Iterationen, und stellen Sie Versionen bereit. Verwalten Sie Risiken, und verwalten Sie Änderungen am Plan.

Projektaktivitäten

Der Iterationszyklus: Überprüfen und aktualisieren Sie Anforderungen, planen Sie die Aufgaben zur Implementierung der Anforderungen, und behandeln Sie Probleme, wenn diese auftreten.

Iterationsaktivitäten

Siehe auch

Konzepte

MSF for CMMI Process Improvement für Visual Studio ALM