L'intégration de champs calculés dans un Work Item Template va permettre de stocker les valeurs calculées dans le Warehouse TFS et de plus pouvoir utiliser ces valeurs de manières historisées puisqu'elles seront processées dans le cube OLAP, cette implémentation permet d'éviter le recours systématique à Excel pour créer ces valeurs calculées. Le but de cet article est de montrer comment implémenter étape par étape ce concept sur un cas simple, le calcul de l'EAC (Estimate At Completion).
Le Work Item Task permet de gérer les temps au travers de 3 champs :
1 / Original Estimate : La baseline, 2 / Completed : Le consommé, 3 / Remaining : Le reste à faire
L'EAC a donc pour formule : EAC = Completed + Remaining Cette implémentation se base sur la possibilité de personnaliser les Templates de Work Items à l''aide du Process Editor et d'une fonctionnalité très utile dans SQL Server, les Computed Columns, donc l'implémentation se fait en 2 étapes :
1 / Dans TFS : Modification du Work Item Template Task pour Ajouter le Champ
2 / Dans SQL : Modification du Nouveau Champ en Champ Calculé
Se Connecter au Serveur TFS a l'aide d'un client Visual Studio 2010 (en prérequis, Le Process template Editor est installé sur la machine Cliente)
Se connecter au Team Project dans lequel on veut implémenter le champ calculé :
L'éditeur s'affiche sur l'onglet Field, Cliquer le bouton New pour créer le nouveau champ EAC
Compléter la définition tel que montré ci dessous :
Activer l'onglet Layout, créer un nouveau Controle au dessous de Completed Work
Renseigner les propriétés Field Name et Label
Lancer un Refresh dans Team Explorer et créer une nouvelle Tache pour vérifier la création de ce nouveau champ, modifier si nécessaire.
Pour terminer cette implémentation, il reste à se connecter à SQL, choisir l'instance qui héberge le Data tier de votre instance TFS, sélectionner la base de données portant le nom de la collection dans lequel se trouve le projet d'équipe sur lequel est implémenté cette modification
Sélectionner la table WorkItemsAre qui contient les champs de l'ensemble des work items définis
Le rajout du champ dans le Process template a déclenché la création d'un champ dans la base de données, ce champ est rajouté en fin de table, dans notre cas, il s'agit du champ fld10101
Lancer l'éditeur de Query dans Management Studio et entrer les commandes alter suivantes sur la table :
alter table dbo.WorkItemsAre drop column Fld10101
alter table dbo.WorkItemsAre add Fld10101 as (FLD10022 + FLD10020) persisted
On voit bien ce dessous que la colonne est de type Computed et la fenêtre de propriétés nous montre la formule. A noter qu'il est possible d'entrer des formules complexes avec des If pour gérer des divisions par 0 par exemple.
Tester l'implémentation en créeant un nouveau Work Item, initialiser les valeurs Estimate, Completed et Remaining
Faire un Refresh, on constate que le Champ EAC est recalculé suivant la formule
On a bien EAC = 12 soit 8 + 4
Aucun commentaire:
Enregistrer un commentaire