Freigeben über


Update des Workflows für Agile-Teamprojekte

Nachdem Sie Funktionen für das aktualisierte Teamprojekt konfiguriert haben, das mit einer Prozessvorlage für Microsoft Solutions Framework (MSF) for Agile Software Development v5.0 erstellt wurde, sollten Sie die User Story- und Aufgabenworkflow-Zuweisungen manuell aktualisieren. Wenn Sie den Workflow nicht aktualisieren, stellt das Task Board nur zwei Zustände bereit: Aktiv und Geschlossen, wie in der folgenden Abbildung gezeigt. Dadurch können Sie und Ihr Team nicht zwischen Aufgaben, die ausgeführt werden, und solchen, die nicht gestartet wurden, unterscheiden.

Task Board für ein Agile-Teamprojekt ohne die empfohlenen manuellen Aktualisierungen

Taskboard für nicht aktualisiertes Agile-Teamprojekt

Die Aktualisierungen, die vom Assistenten zum Konfigurieren von Funktionen vorgenommen wurden, sind auf den vorhandenen Workflow abgestimmt, der für das Teamprojekt definiert ist. Für die Version 5.0 der MSF Agile-Prozessvorlage bedeutet das, dass die Zustände "Neu" und "Entfernt", die mit der neuesten Version eingeführt werden, nicht vorhanden sind. Diese Zustände unterstützen den Übergang von User Stories vom Zustand "Neu" in den Zustand "Aktiv". Wenn der Zustand "Neu" nicht definiert ist, bleibt eine User Story, die einer Iteration zugewiesen ist, im Product Backlog, bis sie aufgelöst wird. Dieses Verhalten ist weder erwünscht noch erwartet.

Entsprechend können Benutzer, wenn der Zustand "Neu" dem Aufgabenworkflow hinzugefügt wird, Aufgaben mithilfe des Task Boards von "Neu" über "Aktiv" nach" Geschlossen" verschieben. Wenn Sie den Zustand "Entfernt" den Typdefinitionen für User Story und Aufgabe hinzufügen, können Benutzer User Stories und Aufgaben mithilfe der Planungstools ausschneiden.

Um das gewünschte Verhalten zu unterstützen, müssen Sie die Zustände "Neu" und "Entfernt" den Arbeitsaufgabentypen "User Story" und "Aufgabe" hinzufügen und die Metazustandszuordnungen aktualisieren, die in der Prozesskonfiguration zugewiesen werden.

Hinweis

Sie können einige der unten beschriebenen Prozeduren mit dem Prozess-Editor ausführen, einem Powertool-Add-In für Visual Studio, das Sie herunterladen und installieren können.Der Prozess-Editor befindet sich im Menü Extras und stellt eine grafische Benutzeroberfläche zum Anpassen von Team Foundation Server-Prozessvorlagen bereit.Mithilfe dieses Tools können Sie Arbeitsaufgabentypen importieren und exportieren und den Inhalt der Prozessvorlage ändern.Weitere Informationen finden Sie auf der folgenden Seite der Microsoft-Website: Team Foundation Server Power Tools.

Anforderungen

  • Um das Befehlszeilentool witadmin ausführen zu können, müssen Sie Mitglied einer der folgenden Gruppen sein: Gruppe Team Foundation-Administratoren, Projektauflistungsadministratoren oder Projektadministratoren für das Teamprojekt. Siehe Berechtigungsreferenz für Team Foundation Server.

Aktualisieren des Workflow und der Metazustände für Agile-Teamprojekt

Wichtig

Die Prozeduren in diesem Thema wurden für MSF for Agile Software Development 6.0 geschrieben.Um das Teamprojekt zu aktualisieren und den neuesten Workflow zu unterstützen, der für MSF for Agile Software Development 6.1 definiert ist, können Sie diese Schritte anpassen, indem Sie die WORKFLOW-Abschnitte der neuesten Agile-Prozessvorlage kopieren.Im letzten vierteljährlichen Update wurden am Workflow für mehrere Arbeitsaufgabentypen umfangreiche Updates vorgenommen.Diese Änderungen unterstützen Rückänderungen, sodass Sie eine Arbeitsaufgabe, die Sie im Kanban-Board oder im Taskboard versehentlich zum Zustand "Aufgelöst" oder "Abgeschlossen" gezogen haben, wieder zu einem früheren Workflowstatus ziehen können.

Weitere Informationen über das Update finden Sie unter Neues bei der Planung und Nachverfolgung.

Sie müssen die folgenden Schritte ausführen:

  • Exportieren Sie die Definitionen für User Story, Aufgabentypen und Prozesskonfiguration.

  • Fügen Sie Codeausschnitte für User Story und Aufgabe in den Workflowabschnitt ein.

  • Aktualisieren Sie die Metazustandszuordnungen für die Prozesskonfiguration.

  • Importieren Sie die aktualisierten Definitionen für die Arbeitsaufgabentypen und die Prozesskonfiguration.

  • Überprüfen Sie, ob die Änderungen im Task Board angezeigt werden.

Wichtig

Damit die folgenden Prozeduren funktionieren können, muss der Zustand Aktiv im Workflow angegeben sein, der für die Arbeitsaufgabentypen "User Story" und "Aufgaben" definiert ist.

So aktualisieren Sie die Workflowzustände und Übergänge für User Story

  1. Um das witadmin-Befehlszeilentool auszuführen, öffnen Sie ein Eingabeaufforderungsfenster, wo entweder Visual Studio oder Team Explorer installiert ist, und geben Sie Folgendes ein:

    cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
    

    Ersetzen Sie bei einer 64-Bit-Windows-Edition %programfiles% durch %programfiles(x86)%.

  2. Um die Typdefinition für User Story zu exportieren, geben Sie folgenden Befehl ein, und ersetzen Sie dabei die hier gezeigten Argumente durch Ihre Daten, wobei CollectionURL die URL der Teamprojektauflistung angibt, ProjectName den Namen eines Teamprojekts, das in der Auflistung definiert ist, und "DirectoryPath\FileName.xml" den Namen und den Speicherort der zu exportierenden Datei. Drücken Sie anschließend die EINGABETASTE.

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"User Story" /f:"DirectoryPath\FileName.xml"
    

    Verwenden Sie dieses Format für die URL: **http://**Servername:Port/VirtuellerVerzeichnisname/Auflistungsname, z. B.: http://srvalm:8080/tfs/DefaultCollection.

  3. Öffnen Sie in einem Text-Editor oder in Visual Studio die Datei, die Sie exportiert haben.

  4. Fügen Sie diesen Codeausschnitt zwischen den Zeilen <STATES> und <STATE value="Active"> hinzu:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  5. Ersetzen Sie den Abschnitt, der mit <TRANSITION from=" " to="Active"> beginnt und mit <TRANSITION> endet, durch diesen Codeausschnitt:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.Description">
             <DEFAULT from="value" value="As a &amp;lt;type of user&amp;gt; I want &amp;lt;some goal&amp;gt; so that &amp;lt;some reason&amp;gt;" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <REASONS>
          <DEFAULTREASON value="Implementation started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <REASONS>
          <DEFAULTREASON value="Implementation halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the User Story" />
       </REASONS>
    </TRANSITION>
    
  6. Speichern und schließen Sie die Datei.

  7. Importieren Sie die Datei, und ersetzen Sie dabei die gezeigten Argumente durch Ihre Daten.

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

So aktualisieren Sie die Workflowzustände und Übergänge für "Aufgabe"

  1. Exportieren Sie die Typdefinition für "Aufgabe", und ersetzen Sie die gezeigten Argumente durch Ihre Daten.

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  2. Öffnen Sie in einem Text-Editor oder in Visual Studio die Datei, die Sie exportiert haben.

  3. Fügen Sie diesen Codeausschnitt zwischen den Zeilen <STATES> und <STATE value="Active"> hinzu:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  4. Ersetzen Sie den ersten Übergangsblock, der den Zeilen zwischen <TRANSITION from="" to="Active"> und dem abschließenden </TRANSITION>-Tag entspricht, durch diesen Codeausschnitt:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StartWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StopWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Closed">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Cut" />
          <REASON value="Deferred" />
       <REASON value="Obsolete" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
          <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Closed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reactivated" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.AssignedTo">
             <COPY from="field" field="Microsoft.VSTS.Common.ClosedBy" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the Task" />
       </REASONS>
    </TRANSITION>
    
  5. Speichern und schließen Sie die Datei.

  6. Importieren Sie die Datei, und ersetzen Sie dabei die gezeigten Argumente durch Ihre Daten.

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

So aktualisieren Sie die Metazustandszuordnungen für die Prozesskonfiguration

  1. Geben Sie zum Export der Datei "ProcessConfiguration" den folgenden Befehl ein, und ersetzen Sie dabei die angezeigten Argumente durch Ihre Daten.

    witadmin exportprocessconfig /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\ ProcessConfiguration.xml"
    

    Dabei gibt CollectionURL die URL der Teamprojektauflistung an und ProjectName den Namen des Teamprojekts. Verwenden Sie dieses Format für die URL: **http://**Servername:Port/VirtuellerVerzeichnisname/Auflistungsname, z. B.: http://srvalm:8080/tfs/DefaultCollection.

  2. Öffnen Sie im Editor oder in einem anderen Text-Editor die Datei "ProcessConfiguration.xml".

  3. Suchen Sie das <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">-Tag.

  4. Ersetzen Sie die Zeile <State type="Proposed" value="Active" /> durch diese Zeilen:

    <State type="Proposed" value="New" /> 
    <State type="InProgress" value="Active" /> 
    
  5. Suchen Sie das <TaskWorkItems category="Microsoft.TaskCategory">-Tag, und ersetzen Sie die Zeile <State type="Proposed" value="Active" /> durch diese Zeilen:

    <State type="Proposed" value="New" />
    <State type="InProgress" value="Active" />
    
  6. Stellen Sie sicher, dass Sie folgende Zuordnungen haben:

    <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">
       <States>
          <State type="Proposed" value="New"/>
          <State type="InProgress value="Active" />
          <State type="InProgress value="Resolved" />
          <State type="Complete" value="Closed" />
       </States>
    </RequirementWorkItems>
    <TaskWorkItems category="Microsoft.TaskCategory">
       <States>
          <State type="Proposed" value="New" />
          <State type="InProgress" value="Active" />
          <State type="Complete" value="Closed" />
       </States>
    </TaskWorkItems>
    
  7. Speichern und schließen Sie die Datei.

  8. Importieren Sie die Konfigurationsdatei.

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml" 
    

So überprüfen Sie, ob die Änderungen im Task Board angezeigt werden

  1. Öffnen Sie Team Web Access, und verbinden Sie sich dann mithilfe einer URL im folgenden Format mit dem Teamprojekt:

    http://MyServer:8080/tfs/TeamProjectCollectionName/MyProject
    

    Wenn TWA bereits geöffnet ist, aktualisieren Sie den Browser, um den Cache zu aktualisieren.

  2. Überprüfen Sie, ob die Spalten im Task Board jetzt Neu, Aktiv und Geschlossen anzeigen.

    Task Board für ein Agile-Teamprojekt mit aktualisierten Workflowzuständen

    Agile-Taskboard mit aktualisiertem Workflow

    Weitere Informationen zur Verwendung des Task Boards finden Sie unter Verwenden von Sprints.

Siehe auch

Konzepte

Nachverfolgen der Arbeit mit Visual Studio ALM und TFS

Konfigurieren von Funktionen nach einem TFS-Upgrade