Partager via


Mettre à jour le flux de travail pour les projets d'équipe Agile

Une fois que vous avez configuré des fonctionnalités pour votre projet d'équipe mis à niveau, qui a été créé avec un modèle de processus basé sur Microsoft Solutions Framework (MSF) for Agile Software Development v5.0, vous devez mettre à jour manuellement les affectations de récit utilisateur et de flux de travail de tâche. Si vous ne mettez pas à jour le flux de travail, le tableau de tâches fournit seulement deux états, Actif et Fermé, comme le montre l'illustration suivante. Cela vous empêche, votre équipe et vous, de distinguer entre les tâches qui sont en cours et celles qui n'ont pas été démarrées.

Tableau de tâches pour un projet d'équipe Agile sans les mises à jour manuelles recommandées

Tableau de tâches pour le projet d'équipe Agile non mis à jour

Les mises à jour effectuées par l'Assistant Configurer les fonctionnalités ont été adaptées au flux de travail existant, défini pour votre projet d'équipe. Pour la version 5.0 du modèle de processus MSF Agile, cela signifie que les états Nouveau et Supprimé introduits avec la dernière version ne sont pas présents. Ces états prennent en charge le passage des récits utilisateur d'un état Nouveau à un état Actif. Si l'état Nouveau n'est pas défini, un récit utilisateur assigné à une itération reste dans le Backlog de produit tant qu'il n'est pas résolu, ce qui ne correspond pas au comportement souhaité ou attendu.

De la même manière, l'ajout de l'état Nouveau au flux de travail Tâche permet aux utilisateurs de déplacer les tâches de l'état Nouveau à l'état Actif ou Fermé à l'aide du tableau de tâches. De plus, en ajoutant l'état Supprimé aux deux définitions de type Récit utilisateur et Tâche, vous permettez aux utilisateurs de couper les récits et les tâches à l'aide des outils de planification.

Pour prendre en charge les comportements souhaités, vous devez ajouter les états Nouveau et Supprimé aux types de récits utilisateur et d'éléments de travail Tâche, et mettre à jour les mappages des méta-états assignés dans la configuration de processus.

Notes

Vous pouvez effectuer certaines des procédures décrites ci-dessous à l'aide de Process Editor, un complément puissant pour Visual Studio que vous pouvez télécharger et installer.Disponible dans le menu Outils, Process Editor fournit une interface utilisateur graphique pour la personnalisation des modèles de processus Team Foundation Server.Vous pouvez utiliser cet outil pour importer et exporter des types d'éléments de travail, ainsi que modifier le contenu du modèle de processus.Pour plus d'informations, consultez la page suivante sur le site web Microsoft : Team Foundation Server Power Tools.

Spécifications

  • Pour exécuter l'outil en ligne de commande witadmin, vous devez être membre de l'un des groupes suivants : Team Foundation Administrators, Administrateurs de la collection de projets ou Project Administrators pour le projet d'équipe. Consultez Référence des autorisations pour Team Foundation Server.

Mettez à jour le flux de travail et les méta-états pour un projet d'équipe Agile

Important

Les procédures de cette rubrique ont été écrites en s'appuyant sur MSF for Agile Software Development 6.0.Pour mettre à jour votre projet d'équipe afin de prendre en charge le dernier flux de travail défini pour MSF for Agile Software Development 6.1, vous pouvez adapter ces procédures pour copier à la place les sections WORKFLOW du dernier modèle de processus Agile.Des mises à jour importantes ont été apportées au flux de travail pour plusieurs types d'éléments de travail dans la dernière mise à jour trimestrielle.Ces modifications prennent en charge les transitions vers l'arrière. Par conséquent, lorsque vous faites glisser par inadvertance un élément de travail du tableau Kanban ou du tableau de tâches vers un état résolu ou fermé, vous pouvez le refaire glisser vers un état de flux de travail antérieur.

Pour plus d'informations sur cette mise à jour, voir Nouveautés de la planification et du suivi.

Vous devez procéder comme suit :

  • Exportez les définitions pour les types Récit utilisateur et Tâche, et pour la configuration de processus.

  • Insérez des extraits de code dans la section de flux de travail pour Récit utilisateur et Tâche.

  • Mettez à jour les mappages des méta-états pour la configuration de processus.

  • Importez les définitions mises à jour pour les types d'éléments de travail et la configuration de processus.

  • Vérifiez que ces modifications apparaissent dans le tableau de tâches.

Important

Pour que les procédures suivantes fonctionnent, l'état Actif doit être spécifié dans le flux de travail défini pour les types Récit utilisateur et Tâche des éléments de travail.

Pour mettre à jour les états de flux de travail et les transitions pour Récit utilisateur

  1. Pour exécuter l'outil en ligne de commande witadmin, ouvrez une fenêtre d'invite de commandes à l'endroit où Visual Studio ou Team Explorer est installé et tapez :

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

    Sur une édition 64 bits de Windows, remplacez %programfiles% par %programfiles(x86)%.

  2. Pour exporter la définition de type pour Récit utilisateur, entrez la commande ci-dessous, en remplaçant les arguments utilisés ici par vos données : CollectionURL spécifie l'URL d'une collection de projets d'équipe, ProjectName spécifie le nom d'un projet d'équipe défini dans cette collection et "DirectoryPath\FileName.xml" spécifie le nom et l'emplacement du fichier à exporter. Ensuite, appuyez sur Entrée.

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

    Utilisez ce format pour l'URL : **http://**NomServeur:Port/NomRépertoireVirtuel/NomCollection, par exemple : http://srvalm:8080/tfs/DefaultCollection.

  3. Dans un éditeur de texte ou dans Visual Studio, ouvrez le fichier exporté.

  4. Ajoutez cet extrait de code entre les lignes <STATES> et <STATE value="Active"> :

    <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. Remplacez la section qui commence avec <TRANSITION from=" " to="Active"> et finit avec <TRANSITION> par l'extrait de code suivant :

    <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. Enregistrez et fermez le fichier.

  7. Importez le fichier, en remplaçant les arguments affichés par vos données.

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

Pour mettre à jour les états de flux de travail et les transitions pour Tâche

  1. Exportez la définition de type pour Tâche, en remplaçant les arguments affichés par vos données.

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  2. Dans un éditeur de texte ou dans Visual Studio, ouvrez le fichier exporté.

  3. Ajoutez cet extrait de code entre les lignes <STATES> et <STATE value="Active"> :

    <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. Remplacez le premier bloc de transition, qui correspond aux lignes se trouvant entre <TRANSITION from="" to="Active"> et sa balise </TRANSITION> de fermeture, par l'extrait de code suivant :

    <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. Enregistrez et fermez le fichier.

  6. Importez le fichier, en remplaçant les arguments affichés par vos données.

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

Pour mettre à jour les mappages des méta-états pour la configuration de processus

  1. Tapez la commande suivante pour exporter le fichier ProcessConfiguration, en remplaçant les arguments affichés par vos données.

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

    Où CollectionURL spécifie l'URL de la collection de projets d'équipe et où ProjectName spécifie le nom de votre projet d'équipe. Utilisez ce format pour l'URL : **http://**NomServeur:Port/NomRépertoireVirtuel/NomCollection, par exemple : http://srvalm:8080/tfs/DefaultCollection.

  2. Dans le Bloc-notes ou un autre éditeur de texte, ouvrez le fichier ProcessConfiguration.xml.

  3. Localisez la balise <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">.

  4. Remplacez la ligne <State type="Proposed" value="Active" /> par les lignes suivantes :

    <State type="Proposed" value="New" /> 
    <State type="InProgress" value="Active" /> 
    
  5. Localisez la balise <TaskWorkItems category="Microsoft.TaskCategory"> et remplacez la ligne <State type="Proposed" value="Active" /> par les lignes suivantes :

    <State type="Proposed" value="New" />
    <State type="InProgress" value="Active" />
    
  6. Vérifiez que vous possédez les mappages suivants :

    <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. Enregistrez et fermez le fichier.

  8. Importez le fichier de configuration.

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

Pour vérifier que les modifications apparaissent dans le tableau de tâches

  1. Ouvrez Team Web Access puis connectez-vous à votre projet d'équipe en utilisant une URL du format suivant :

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

    Si TWA est déjà ouvert, actualisez votre navigateur pour actualiser le cache.

  2. Vérifiez que les colonnes du tableau de tâches affichent désormais Nouveau, Actif et Fermé.

    Tableau de tâches pour un projet d'équipe Agile avec les états de flux de travail mis à jour

    Tableau de tâches Agile avec flux de travail mis à jour

    Pour en savoir plus sur l'utilisation du tableau de tâches, voir Travailler dans des sprints.

Voir aussi

Concepts

Suivre un travail avec Visual Studio ALM et TFS

Mettre à jour un projet d'équipe mis à niveau pour accéder à de nouvelles fonctionnalités