Share via


Anordnen von Anforderungen in einen Produktplan

Nachdem Sie die Kundenanforderungen ausreichend analysiert haben, um die gewünschten Funktionen des Produkts zu verstehen, müssen Sie einen Plan zum Implementieren des Produkts ausarbeiten. Für ein vorhandenes Produkt müssen Sie hingegen ausarbeiten, welche Funktionen fehlen, und einen Plan zum Durchführen der Änderungen erstellen. Der Plan ergibt sich jedoch nicht automatisch aus den Anforderungen.

In diesem Thema wird eine Methode zum Erstellen eines Plans auf Grundlage eines Satzes von Anforderungen beschrieben. Dies ist nur eine Methode von einer Vielzahl von Methoden, die in Visual Studio verwendet werden können, und Sie sollten sie an Ihre Anforderungen anpassen.

Sie können den Backlog sowie Portfoliobacklogs zum Definieren und Zuordnen von Anforderungen und Funktionen verwenden.

Anforderungen und Funktionen

Diese Methode beinhaltet zwei Arten von Anforderungen: Kundenanforderungen und Funktionen. Sie erhalten Kundenanforderungen, wenn Sie analysieren, was der Kunde vom Produkt wünscht. Funktionen sind Elemente im Produktplan, die kleinen Teilmengen der Kundenanforderungen entsprechen. Jede Funktion schließt möglicherweise Kundenanforderungen ein, die aus unterschiedlichen Bereichen der Benutzererfahrung und unterschiedlichen Funktionsbereichen stammen.

Kundenanforderungen

  • Kundenanforderungen werden durch Diskussion mit den potenziellen Benutzern und anderen Projektbeteiligten bestimmt.

  • Um diese Anforderungen zu analysieren, erstellen Sie in der Regel Storyboards und Modelle, und Sie zerlegen die Szenarien in kleinere Schritte, sodass sich eine Struktur ergibt. Sie können Modellelemente, z. B. Anwendungsfälle und Aktivitäten, mit Szenarioarbeitsaufgaben verknüpfen.

  • Es gibt zwei Arten von Kundenanforderungen:

    • Szenarien, auch als Anwendungsfälle bezeichnet, stellen Sequenzen von Interaktionen zwischen den Benutzern und dem Produkt dar, mit denen bestimmte Ziele erreicht werden sollen. Ein Beispielszenario kann zum Beispiel "Benutzer kauft ein Buch" lauten.

    • Servicequalitätsanforderungen schließen Leistung, Sicherheit, Benutzerfreundlichkeit und andere Kriterien ein.

  • Sie können diese Anforderungen als Arbeitsaufgaben vom Typ Anforderung darstellen, wobei das Feld Anforderungstyp auf Szenario oder Servicequalität festgelegt ist. Weitere Informationen finden Sie unter Entwickeln von Anforderungen.

  • Diese Anforderungsarbeitsaufgaben sollten mit Systemtests verknüpft werden, damit Sie sicherstellen können, dass alle Anforderungen getestet werden. Siehe Planen von manuellen Tests mit Team Web Access.

  • Zeigen Sie den Backlog an, oder öffnen Sie die Kundenanforderungsabfrage, um diese Anforderungsarbeitsaufgaben aufzuführen.

  • Verwenden Sie den Bericht "Anforderungsstatus" (CMMI)-Bericht, um zu überwachen, welche Anforderungen erfüllt wurden.

Features

  • Eine Funktion ist ein Element in einem Produktplan, das eine Gruppe von Aufgaben darstellt. Bei der Produktplanung weisen Vertreter des Entwicklungsteams und Projektbeteiligte Iterationen Funktionen zu. Weitere Informationen finden Sie unter Planen eines Projekts (CMMI).

  • Geben Sie Funktionen als Anforderungsarbeitsaufgaben ein, wobei das Feld Anforderungstyp auf Funktion festgelegt ist.

  • Der Titel der Funktion gibt in Begriffen der Benutzer an, welche Aktionen die Benutzer mit dem Produkt ausführen können, die sie in vorherigen Iterationen nicht ausführen konnten. Der Plan enthält keine oder nur sehr wenige Elemente, die keinen neuen Nutzwert für Benutzer bereitstellen.

    Beispielsweise kann ein Implementierungsplan aus der folgenden Sequenz von Funktionen bestehen:

    • "Ein Käufer kann ein Buch aus einer Liste auswählen und es einer Wunschliste hinzufügen".

    • "In der Buchliste werden Preise angezeigt. In der Wunschliste wird der Gesamtpreis angezeigt."

    • "Anbieter können Kennzeichen an Bücher anfügen. Käufer können die Buchliste nach Kennzeichen filtern."

    Beachten Sie, dass keine Funktion nur einen Schritt der Benutzererfahrung betrifft und dass keine Funktion nur einen Teil der Produktarchitektur betrifft. Stattdessen werden beim Implementieren der Funktionen mehrere Funktionen erneut überprüft und um neuen Nutzwert für die Benutzer erweitert.

  • Während der Produktplanung wird einer Iteration eine Funktion zugewiesen. Alle Aufgaben unter einer Funktion müssen der gleichen Iteration zugewiesen werden.

  • Eine Funktion beschreibt eine partielle Realisierung der Kundenanforderungen. Sie ist eine Teilmenge der Kundenanforderungen, und sie implementiert möglicherweise jede Kundenanforderung in beschränktem Umfang.

  • Jede Funktion kann mit einem oder mehreren Testfällen verknüpft werden, die den Teil der Anforderungen testen, den die Funktion darstellt. Diese Testfälle sind eine Teilmenge der Systemtests, die mit den Kundenanforderungen verknüpft sind.

  • Der Zustand der Funktion darf erst als abgeschlossen markiert werden, wenn die zugehörigen Tests vollständig definiert und bestanden wurden.

  • Jede Funktion ist eine Gruppe von Entwicklungs- und Testaufgaben. Sie ist der Stamm einer Struktur von Aufgaben. Die Entwicklungsaufgaben implementieren die von der Funktion beschriebenen Teilanforderungen. Mit den Testaufgaben werden die entsprechenden Testfälle entworfen und ausgeführt.

  • Sie listen Funktionen mithilfe der Produktanforderungsabfrage auf.

Suchen von Funktionen

Das Aufteilen von Anforderungen in inkrementelle Funktionen ist eine kreative Aufgabe, an der Entwickler, Analytiker und Projektbeteiligte teilnehmen müssen. Eine Funktion definiert einen Teil der Funktionalität des Produkts, die auf angemessene Weise getrennt von den umgebenden Funktionen implementiert werden kann. Daher hängen ein praktikabler Satz von Funktionsdefinitionen und die Einordnung in einen Plan teilweise von der Architektur des Systems ab.

Aus diesem Grund müssen Planung und der ursprüngliche Entwurf des Produkts parallel erfolgen, insbesondere in Iteration 0, in der der Großteil des Plans skizziert wird.

Szenariozerlegung

Um die Anforderungen leichter in Funktionen anordnen zu können, ist es hilfreich, die Szenarien in kleinere Schritte zu zerlegen.

Storyboards sind bei dieser Aktivität häufig von Nutzen. Ein Storyboard ist eine Sequenz von Bildern, die das Szenario veranschaulichen. UML-Aktivitätsdiagramme eignen sich zum Anzeigen von alternativen Pfaden, und UML-Sequenzdiagramme können Ihnen helfen, Interaktionen zwischen mehreren Akteuren zu erörtern. Nachdem Sie mit diesen Tools ein Szenario analysiert haben, können Sie die zerlegten Szenarien in Team Explorer eingeben. So können Sie Testfälle mit den Szenarien verknüpfen und dadurch sicherstellen, dass die Anforderungen erfüllt wurden. Weitere Informationen finden Sie unter UML-Aktivitätsdiagramme: Richtlinien und UML-Sequenzdiagramme: Richtlinien.

Funktionen – in jeder Iteration erfüllte Anforderungen

Eine Funktion ist eine Anforderung, in der die Aktionen zusammengefasst werden, die Benutzer beim Abschluss jeder Iteration ausführen können. Sie können mehrere Funktionen pro Iteration erstellen. Geben Sie sie als Anforderungsarbeitsaufgaben ein, und legen Sie den Anforderungstyp auf Funktion fest.

Verwenden Sie zum Definieren der Funktionen die Zuweisungen von Szenarien zu Arbeitsaufgaben. Der folgende Beispielfunktionsplan ist von den Zuweisungen von Szenarien zu Iterationen im vorherigen Abschnitt abgeleitet:

  • Iteration 1

    • Kunde wählt Positionen aus einem Menü aus, fügt sie einer Bestellung hinzu und fügt eine Lieferadresse hinzu.
  • Iteration 2

    • Kunden zeigen zunächst eine Liste von Restaurants an und wählen dann ein Restaurant aus.

    • Wenn der Kunde eine Bestellung abschließt, wird diese auf dem Bildschirm des ausgewählten Restaurants angezeigt.

    • In der Bestellung werden die Preise von Positionen und der Gesamtpreis angezeigt.

  • Iteration 3

    • Restaurant markiert die Bestellung als "Fertig", wenn die zubereitete Mahlzeit abgesendet wurde. Die Mahlzeit wird für das Restaurant protokolliert.

    • Jedes Restaurant kann Menüs eingeben und aktualisieren.

    • Kunde kann die Menüs jedes Restaurant durchsuchen und ein Menü auswählen.

  • Iteration 4

    • Kunde gibt beim Abschließen der Bestellung Zahlungsdetails ein. Kreditkarte des Kunden wird belastet, wenn das Restaurant die Bestellung als Fertig markiert.

    • Restaurant wird für Bestellungen bezahlt, die als Fertig markiert sind.

  • Iteration 5

    • Restaurants können ihr Liefergebiet festlegen. Kunde gibt am Anfang der Sitzung eine Postleitzahl ein. Auf der Website werden nur Restaurants angezeigt, die im lokalen Gebiet liefern können.

Teilweise implementierte Szenarien

Wenn Sie die Szenarien in kleine Schritte zerlegen, können Sie Schritte, die früher implementiert werden können, von anderen Schritten trennen, die später implementiert werden können.

Manchmal können Sie jedoch auch andere Aspekte der Szenarien aussondern. In diesem Beispiel kann das Team in frühen Iterationen eine Basisversion der Benutzererfahrung implementieren und sie dann später verbessern. So können Sie beispielsweise die folgende Funktion hinzufügen:

  • Iteration 6 – Restaurant kann das Farbschema und die Schriftart seiner Menüs auswählen und das eigene Logo und eigene Bilder von Mahlzeiten hochladen.

Dieser Typ von Funktion ergibt sich nicht direkt aus der Zerlegung in Schritte, sondern normalerweise aus der Erörterung von Storyboards. Benutzererfahrungsfunktionen eignen sich gut für spätere Iterationen.

Eingeben und Überprüfen von Funktionen

Erstellen Sie Arbeitsaufgaben mit dem Arbeitsaufgabentyp Anforderung, und legen Sie das Feld Anforderungstyp auf Funktion fest. Legen Sie den Funktionstitel auf die kurze Beschreibung fest.

Zuordnen von Funktionen zu Anforderungen

Sie können mit den folgenden Verfahren Funktionen mit Anforderungen verknüpfen:

  • Verknüpfen Sie Funktionsarbeitsaufgaben mit den Blattszenarioanforderungen der zugehörigen Iterationen. Sie müssen sie mithilfe von Arbeitsaufgabenlinks verknüpfen, da Blattszenarien bereits über übergeordnete Elemente verfügen.

  • Verknüpfen Sie testfallbezogene Arbeitsaufgaben mit den Szenarien und den Servicequalitätsanforderungen, die mit ihnen getestet werden. Verknüpfen Sie Funktionen mit der Teilmenge von Testfällen, die bestanden werden müssen, wenn die Funktion entwickelt wurde. Auf diese Weise fungieren die Testfälle als Bindeglied zwischen Funktionen und Kundenanforderungen.

Servicequalitätsfunktionen

Servicequalitätsanforderungen gelten normalerweise für alle Elemente des Softwareentwurfs. Zum Beispiel sind Sicherheitsanforderungen im Allgemeinen nicht auf eine bestimmte Entwicklungsaufgabe beschränkt.

Trotzdem sollten Sie für jede Servicequalitätsanforderung eine Funktionsarbeitsaufgabe erstellen, deren untergeordnete Elemente hauptsächlich Testaufgaben sind, die sicherstellen, dass ein Servicequalitätskriterium erfüllt wird. Diese Arbeitsaufgaben werden als Servicequalitätsfunktionen bezeichnet.

Einige Servicequalitätsfunktionen können über Entwicklungsaufgaben verfügen. Beispielsweise können Sie in einer frühen Iteration als Machbarkeitsstudie eine Version des Systems implementieren, die nur einige wenige Benutzer bewältigt. In einer späteren Iteration können Sie eine Funktion hinzufügen, die die in den Kundenanforderungen festgelegte Zielkapazität angibt.

Produktplanung

Halten Sie vor Beginn jeder Iteration eine Besprechung ab, um den Produktplan zu überprüfen. In der ersten Produktplanungsbesprechung wird der Plan erstellt, und in nachfolgenden Besprechungen wird dieser auf Grundlage von früheren Iterationen überprüft. Weitere Informationen finden Sie unter Planen eines Projekts (CMMI).

Besprechen Sie in einer Produktplanüberprüfung die Funktionen mit Projektbeteiligten. Möglicherweise müssen Sie die Prioritäten der Funktionen ändern und sie anderen Iterationen zuweisen. An der Besprechung sollten Projektbeteiligte und Vertreter des Entwicklungsteams teilnehmen.

In der Besprechung wird die Reihenfolge der Entwicklung von Funktionen erörtert. Dies kann erfolgen, indem die Office Excel-Ansicht der Abfrage Produktanforderungen projiziert oder freigegeben wird und die Funktionen nach Iteration sortiert werden.

Als alternatives Verfahren können die Funktionen in einer bestimmten Sequenz angeordnet werden, um dann zu überlegen, wie viel in jeder Iteration unternommen werden kann. Beispielsweise können die Entwickler erörtern, ob "Kunde kann die Preise anzeigen" von Iteration 2 in Iteration 3 verschoben werden soll, ohne das Element in der Sequenz zu verschieben. Um die Elemente in einer Sequenz anzuordnen, fügen Sie dem Arbeitsblatt eine zusätzliche Spalte mit dem Namen Rang hinzu, und fügen Sie ganze Zahlen ein, die die Sequenz angeben. Sortieren Sie das Arbeitsblatt nach dieser Spalte. Die Ränge werden nicht in Team Foundation Server gespeichert, Sie können jedoch das Arbeitsblatt speichern. Wenn Sie das Arbeitsblatt erneut öffnen, klicken Sie auf eine beliebige Zelle in der Arbeitsaufgabentabelle, und klicken dann auf der Registerkarte Team auf Aktualisieren.

Bei der Produktplanung werden die Prioritäten der Funktionen und die Entwicklungskosten berücksichtigt. Prioritäten werden von den Projektbeteiligten angegeben, und die Entwickler steuern Informationen zu den Risiken bei. Kostenschätzungen werden von den Entwicklern geliefert. Um eine genaue Vorstellung von den Kosten zu erhalten, muss das Entwicklungsteam bereits an der Architektur des Produkts gearbeitet haben, und eventuell benötigt es Erfahrungen aus den frühen Iterationen. Aus diesem Grund sollten die Kostenschätzungen bei jeder Produktplanüberprüfung verfeinert werden.

Iterationsplanung

Planen Sie nach der Produktplanüberprüfung die Iteration. Der Produktplan bestimmt die Funktionen, die am Ende der Iteration bereitgestellt werden. Im Iterationsplan wird die Arbeit bestimmt, die das Team zum Implementieren und Testen der Funktionen ausführt.

Die folgenden Aktivitäten sind Teil der Iterationsplanung:

  • Erstellen Sie Aufgaben für Entwicklung und Tests, und verknüpfen Sie sie als untergeordnete Elemente mit den Funktionsanforderungen.

  • Erstellen Sie Testfälle für die Aspekte der Kundenanforderungen, die in den einzelnen Funktionen entwickelt werden sollen. Die Testfälle sollten mit den Kundenanforderungen verknüpft werden, damit Sie den Status der Anforderungsbearbeitung überwachen können.

Sie können auch Testfälle mit den Funktionen verknüpfen, damit Sie die Entsprechung zwischen Funktionen und Anforderungen nachverfolgen können. Die Funktion darf erst als abgeschlossen markiert werden, wenn die verknüpften Testfälle bestanden wurden.

Weitere Informationen finden Sie unter Planen einer Iteration (CMMI).