Gestion du portefeuille Agile : utilisation de TFS pour prendre en charge les Backlogs avec plusieurs équipes
Dans Team Foundation Server (TFS) 2012, vous gériez le travail de votre équipe dans un journal des travaux en souffrance. Dans Team Foundation Server 2013, vous pouvez gérer votre travail dans un journal des travaux en souffrance du portefeuille qui fournit à une équipe de gestion des détails sur le travail dans plusieurs équipes Agile. Une équipe de gestion définit les objectifs de haut niveau et suit le travail à travers plusieurs équipes Agile. Les équipes Agile sont celles qui effectuent le travail, décomposent les éléments en tâches, résolvent les bogues et contribuent au tableau général. Toutes les équipes possèdent leurs propres journaux des travaux en souffrance et tableaux, et affichent également un cumul des expériences clients prises en charge par leur travail. Une fois terminé, vous pourrez gérer votre portefeuille de projets en regroupant le travail selon les niveaux du journal des travaux en souffrance, et verrez comment cette tâche est accomplie dans plusieurs équipes.
Chaque équipe travaille sur son propre journal de travaux en souffrance, tandis que la hiérarchie des types d'éléments de travail du journal de travaux en souffrance permet aux gestionnaires d'afficher le déroulement de la progression à un niveau supérieur. Dans ce livre blanc, nous vous décrirons comment configurer ce type de structure en suivant l'exemple hypothétique de l'équipe de gestion de Phone Saver et des équipes Agile qui travaillent sur des zones spécifiques du projet global.
L'équipe de gestion de Phone Saver définit le travail comme des initiatives de niveau supérieur et le divise en fonctionnalités importantes pour ses clients. À ce stade, le travail est assigné aux équipes Agile, qui continuent à décomposer et à définir le travail à effectuer. À mesure que le projet avance, l'équipe de gestion descend dans la hiérarchie pour voir la progression à tous les niveaux de détail. Par exemple, elle peut consulter les éléments du journal des travaux en souffrance associés à chaque élément de fonctionnalité dans un projet Scrum.
Dans cette capture d'écran, vous pouvez voir la vue du journal des travaux en souffrance lié aux fonctionnalités de l'équipe de gestion ; les éléments du journal des travaux en souffrance du produit qui prennent en charge ces éléments sont également indiqués. L'équipe de gestion ne possède pas ces éléments du journal des travaux en souffrance du produit ; ils sont assignés à l'une des équipes Agile. Toutefois, comme ce sont des enfants de ces éléments, le filtre les affiche. Ainsi, l'équipe de gestion peut suivre la progression.
Le graphique informatif indique le niveau conceptuel des informations affichées dans la capture d'écran ci-dessus.
Chaque équipe Agile, comme l'équipe Client, possède une page d'accueil d'équipe, un journal de travaux en souffrance, un tableau kanban et un tableau de tâches qui lui sont propres. Ces pages contiennent uniquement les informations concernant cette équipe.
Dans cette capture d'écran, vous pouvez voir la vue du journal des travaux en souffrance des sprints de l'équipe Agile, qui indique les éléments du journal des travaux en souffrance du produit sur lesquels elle travaille dans ce sprint et les tâches associées qu'elle a créées pour répartir et suivre le travail. Elles ne voient pas les fonctionnalités ou les initiatives qu'elles essaient de prendre en charge dans cette vue. Comme précédemment, le graphique informatif indique le niveau conceptuel des informations affichées dans cette capture d'écran.
Configurer des équipes et des niveaux de journal des travaux en souffrance
Lorsque vous créez un projet d'équipe dans TFS, une équipe par défaut est automatiquement créée pour ce projet. En configurant des équipes supplémentaires pouvant être utilisées par les équipes Agile pour gérer leur travail quotidien, et en redéfinissant l'équipe par défaut en équipe que l'équipe de gestion utilisera pour gérer le travail à leur niveau, les équipes Agile peuvent gérer leurs propres charge de travail et priorités. La vue de l'équipe de gestion affiche la progression de tout le travail parmi les équipes Agile. La constitution des équipes et le démarrage nécessitent une configuration limitée.
Outre l'utilisation des équipes Agile pour le report de la progression, vous pouvez utiliser les niveaux du journal des travaux en souffrance pour créer une vue hiérarchique du travail. Dans TFS 2013, vous avez un accès immédiat à deux niveaux du journal des travaux en souffrance. Mais si vous devez ajouter un autre niveau pour prendre en charge la gestion de portefeuille, vous pouvez le faire aussi. Cette procédure nécessite davantage de configuration que la création d'équipes Agile, mais elle reste relativement simple. Nous vous guiderons à travers l'installation des équipes Agile et la création d'un niveau de journal des travaux en souffrance supplémentaire.
Créons d'abord la structure de l'équipe Agile et de gestion, comme indiqué dans l'exemple d'organisation.
Créer des équipes Agile et configurer l'équipe de gestion
Sur la page d'accueil de l'équipe par défaut, utilisez l'icône d'« engrenage » pour ouvrir la page d'administration et choisissez Nouvelle équipe pour créer une équipe Agile.
Attribuez un nom à l'équipe et veillez à sélectionner Créez un chemin de zone avec le nom de l'équipe.
Ce sera une sous-zone du chemin de zone pour l'équipe de gestion, mais le plus important c'est qu'il fournit à la fois la séparation du travail entre plusieurs équipes Agile, et une grande partie du report automatisé de la progression à l'équipe de gestion.
Configurez les sprints pour l'équipe Agile.
Ajoutez des membres à la nouvelle équipe Agile et supprimez les membres inutiles de l'équipe de gestion.
À titre de meilleure pratique, l'appartenance à l'équipe de gestion doit être limitée aux directeurs et aux membres de l'équipe qui ont leurs propres initiatives et fonctionnalités. Les membres des équipes Agile pourront toujours consulter la page d'accueil et le journal des travaux en souffrance de l'équipe de gestion, comme l'équipe de gestion pourra consulter les pages d'accueil et les journaux des travaux en souffrance de chaque équipe Agile.
Modifiez les zones de l'équipe de gestion afin que les sous-zones ne soient pas incluses.
Créez autant d'équipes Agile que nécessaire. Lorsque des éléments de travail sont assignés à une équipe Agile, chacune de ces équipes verra ces éléments dans son journal des travaux en souffrance, et les gèrera dans son tableau kanban et/ou tableau de tâches, comme auparavant.
Journal des travaux en souffrance de l'équipe Agile présentant les éléments et les tâches du journal des travaux en souffrance
L'équipe de gestion verra tous les éléments de travail assignés à toutes les équipes Agile dans le journal des travaux en souffrance, le tableau kanban, et les vues du tableau des tâches, en fournissant un affichage principal du travail en cours, ainsi que le travail pas encore démarré.
Fonctionnalités d'affichage du journal des travaux en souffrance d'une équipe de gestion et éléments du journal des travaux en souffrance d'une équipe Agile
Maintenant que votre structure d'équipe a été configurée, poursuivons et ajoutons un autre niveau du journal des travaux en souffrance.
Ajouter un autre niveau de journal de travaux en souffrance
L'ajout d'un autre niveau de journal de travaux en souffrance prend un peu de temps, mais est assez facile à faire. Examinons en détail le processus. Vous devez être membre du groupe Administrateurs de projet d'équipe pour exécuter ces étapes. Vous allez d'abord exporter un type d'élément de travail existant puis le modifier pour créer le type d'élément de travail, que nous nommerons Initiatives. Vous ajouterez ensuite une catégorie pour les initiatives. Enfin, vous ajouterez des initiatives au journal des travaux en souffrance du portefeuille.
Si vous êtes plus intéressé de savoir ce qui se passe après avoir ajouté le niveau du journal des travaux en souffrance Initiative, cliquez ici pour passer à la rubrique concernée.
Créer un type d'élément de travail Initiative
Le moyen le plus simple de créer un type d'élément de travail consiste à copier un type existant, à le renommer, puis à le modifier. Dans la procédure ci-dessous, vous exporterez le type d'élément de travail Fonctionnalité et l'utiliserez comme base pour le type d'élément de travail Initiative. Dans tous les exemples, le nom du projet est Phone Saver, et le nom du serveur est Fabrikam. Le nom de collection de projets d'équipe est le nom par défaut, DefaultCollection.
Ouvrez une fenêtre d'invite de commandes en mode Administrateur et accédez au répertoire où Visual Studio (ou Team Explorer) est installé.
cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
Pour les éditions 64 bits de Windows, utilisez %programfiles(x86)%.
Utilisez l'outil witadmin pour télécharger la définition du type d'élément de travail Fonctionnalité et l'enregistrer comme Initiative.xml.
witadmin exportwitd /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /n:Feature /f:%userprofile%\documents\Initiative.xml
Ouvrez le fichier Initiative.xml, remplacez <WORKITEMTYPE name="Feature"> par <WORKITEMTYPE name="Initiative">, puis mettez à jour la description.
<witd:WITD application="Work item type editor" version="1.0" xmlns:witd="https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef"> <WORKITEMTYPE name="Initiative"> <DESCRIPTION>Tracks an initiative that will be released with the product. </DESCRIPTION>
Modifiez l'élément Tabulation appelé Implémentation. Remplacez <Filter WorkItemType="Product Backlog Item" /> par <Filter WorkItemType="Feature" />. Cela affichera des fonctionnalités en tant qu'éléments de travail enfants des initiatives.
<Tab Label="Implementation"> <Control Type="LinksControl" Name="Hierarchy" Label="" LabelPosition="Top"> <LinksControlOptions> <LinkColumns> <LinkColumn RefName="System.Id" /> <LinkColumn RefName="System.Title" /> <LinkColumn RefName="System.AssignedTo" /> <LinkColumn RefName="System.State" /> </LinkColumns> <WorkItemLinkFilters FilterType="include"> <Filter LinkType="System.LinkTypes.Hierarchy" FilterOn="forwardname" /> </WorkItemLinkFilters> <ExternalLinkFilters FilterType="excludeAll" /> <WorkItemTypeFilters FilterType="include"> <Filter WorkItemType="Feature" /> </WorkItemTypeFilters> </LinksControlOptions> </Control> </Tab>
Importez le fichier.
witadmin importwitd /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\Initiative.xml
Créer la catégorie Initiative
Maintenant que vous avez un type d'élément de travail Initiative, vous pouvez ajouter une catégorie pour les initiatives à l'ensemble de catégories visibles dans le projet d'équipe.
Exportez la définition Catégories dans un fichier xml.
witadmin exportcategories /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\categories.xml
Ouvrez le fichier et ajoutez la catégorie Initiative. Voici un exemple, où la catégorie Initiative utilise le nom de la société pour l'identifier comme une personnalisation :
<CATEGORY refname="Fabrikam.InitiativeCategory" name="InitiativeCategory"> <DEFAULTWORKITEMTYPE name="Initiative" />
Comme vous l'avez fait auparavant, importez le fichier.
witadmin importcategories /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\categories.xml
Ajouter la catégorie Initiative à la hiérarchie du portefeuille
À présent, il ne reste plus qu'à ajouter vos initiatives à la hiérarchie d'éléments de travail qui composent le journal des travaux en souffrance du portefeuille.
Exportez la définition de la configuration de processus vers un fichier xml.
witadmin exportprocessconfig /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\MyProcessConfiguration.xml
Ouvrez le fichier et ajoutez une section PortfolioBacklog pour les initiatives contenues dans la section PortfolioBacklogs. Dans le même temps, modifiez l'élément PortfolioBacklog pour FeatureCategory afin que les initiatives soient les éléments de travail parents pour les fonctionnalités.
<PortfolioBacklogs> <PortfolioBacklog category="Fabrikam.InitiativeCategory" pluralName="Initiatives" singularName="Initiative"> <AddPanel> <Fields> <Field refname="System.Title" /> </Fields> </AddPanel> <Columns> <Column width="100" refname="System.WorkItemType" /> <Column width="400" refname="System.Title" /> <Column width="100" refname="System.State" /> <Column width="50" refname="Microsoft.VSTS.Common.BusinessValue" /> <Column width="100" refname="Microsoft.VSTS.Scheduling.TargetDate" /> <Column width="200" refname="System.Tags" /> </Columns> <States> <State type="Proposed" value="New" /> <State type="InProgress" value="In Progress" /> <State type="Complete" value="Done" /> </States> </PortfolioBacklog> <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Fabrikam.InitiativeCategory" pluralName="Features" singularName="Feature">
Ajoutez la couleur à utiliser pour l'initiative dans la section WorkItemColors.
<WorkItemColor primary="FFFF6600" secondary="FFFEB380" name="Initiative" />
Cela assigne une couleur orange clair en tant que couleur primaire à utiliser dans les affichages de liste, et une couleur orange pâle à utiliser sur le tableau de tâches et le tableau kanban.
Importez le fichier.
witadmin importprocessconfig /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\MyProcessConfiguration.xml
Voilà, vous avez terminé ! Vous avez ajouté un troisième niveau de journal des travaux en souffrance intitulé Initiatives.
Définir les initiatives
Maintenant que vous avez défini les initiatives, il est temps de créer des éléments. Les membres de l'équipe de gestion peuvent rapidement en ajouter un directement à partir de la vue du journal des travaux en souffrance Initiatives. Cette expérience est identique à l'ajout d'éléments à un journal des travaux en souffrance.
Vous pouvez également créer de nouvelles fonctionnalités directement depuis l'élément de travail Initiatives en créant un élément de travail à partir des onglets Implémentation ou Liens. Cela offre l'avantage supplémentaire de créer la relation parent-enfant tout en créant la fonctionnalité.
Vous pouvez également choisir d'ajouter une initiative comme parent d'un élément de travail de fonctionnalités existantes, si vous en possédez déjà quelques-unes. Cela offre l'avantage d'associer automatiquement cette fonctionnalité à l'initiative qu'elle prend en charge. Et depuis la fonctionnalité, vous pouvez créer des éléments du journal de travaux en souffrance et les assigner à chaque équipe Agile.
Mapper plusieurs éléments si un journal des travaux en souffrance existe
Si vous avez déjà un journal existant, vous souhaiterez créer des relations parent-enfant entre ces éléments pour prendre en charge la création de la progression automatique. Vous pouvez mapper les éléments du journal des travaux en souffrance aux fonctionnalités et mapper les fonctionnalités aux initiatives. Heureusement, le volet de mappage facilite cette procédure. Activez d'abord le volet de mappage.
Ensuite, faites glisser des éléments du journal des travaux en souffrance vers la fonctionnalité du volet de mappage que vous souhaitez associer en tant que parent.
Répétez ce processus à chaque niveau du journal des travaux en souffrance jusqu'à ce que vous ayez créé la hiérarchie souhaitée.
Vous pouvez également modifier des éléments de travail en bloc et gérer leur hiérarchie dans Microsoft Excel.
Afficher la progression
Maintenant que vous avez associé vos éléments de travail aux liens parent-enfant appropriés, il est temps de voir comment cette vue de la progression s'applique aux différents niveaux.
Vue de progression de la gestion
Au niveau de la gestion, le journal des travaux en souffrance des initiatives de l'équipe Phone Saver affiche les éléments de travail de l'initiative pour toutes les équipes du projet Phone Saver.
Vous pouvez basculer la vue pour afficher les fonctionnalités associées…
…ou descendez plus bas dans la hiérarchie, jusqu'au niveau de l'élément de journal des travaux en souffrance ou de la tâche.
Conseil : Ajoutez la colonne Chemin de la zone pour voir quelle équipe travaille sur quel élément.
En outre, vous pouvez consulter la progression du tableau kanban. L'équipe de gestion peut consulter les initiatives et fonctionnalités qui sont en cours.
Vue de progression de l'équipe
La vue est très différente pour chaque équipe Agile. En tant que membre d'une de ces équipes, si vous accédez aux journaux des travaux en souffrance des initiatives ou des fonctions, vous n'y trouverez rien. Cela s'explique par le fait que les équipes Agile ne créent pas ni n'utilisent directement des éléments à ce niveau. Les équipes Agile ne verront jamais la liste complète des initiatives ou des fonctionnalités. Toutefois, si elles souhaitent connaître les initiatives et les fonctionnalités qu'elles prennent en charge, elles peuvent activer ces vues à partir des éléments du journaux des travaux en souffrance, et elles verront les fonctionnalités et les initiatives prises en charge par les éléments sur lesquels elles travaillent.
Pour tout le reste, il s'agit de la routine habituelle pour les équipes individuelles. Elles peuvent utiliser le tableau kanban, le tableau des tâches, et bien d'autres fonctionnalités comme elles l'ont toujours fait, mais maintenant leur progression est visible pour leur gestion sans devoir informer manuellement pour tout. Ce qu'elles effectuent est reflété dans la vue de gestion.
À propos des auteurs
Gregg Boer est responsable de programme principal chez Microsoft. Gregg est responsable produit en charge de la gestion Agile dans TFS.
Susan Ferrell est rédactrice technique senior chez Microsoft.
Kathryn Elliott est rédactrice technique senior chez Microsoft.