14
Team Foundation Server 2015 Accélérer et perfectionner le développement logiciel Vivien FABING Jérémy LANDON Préface d’Etienne MARGRAFF Evangéliste HTML5, JavaScript et mobilité - Microsoft France

Accélérer et perfectionner le développement logiciel

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Accélérer et perfectionner le développement logiciel

ISBN

: 978

-2-4

09-0

0380

-6

39 €

Team Foundation Server 2015 Accélérer et perfectionner le développement logiciel

Vivien FABING est consultant ALM chez Infinite Square. Il a réa-lisé diverses missions de conseils, formation et réalisation sur tout l’écosystème TFS, depuis sa ver-sion 2010 jusqu’à sa version 2015. Passionné par les méthodes Agile, il est très au fait des dernières technologies de développement Microsoft.

Jérémy LANDON est consul-tant et formateur pour la société Goood! Il travaille sur les outils ALM Microsoft depuis plusieurs années et est reconnu Microsoft MVP (Most Valuable Professional) sur l’ensemble des technologies de développement Microsoft. Il anime régulièrement des conférences, publie de nombreux articles dans la presse ou sur internet et par-tage ses découvertes sur son blog http://jeremylandon.com/.

Préface d’Etienne MARGRAFF Evangéliste HTML5, JavaScript et mobilité - Microsoft France

Ce livre sur Team Foundation Server 2015 (en update 3 au mo-ment de l’écriture) est destiné à tout membre d’une équipe Agile (développeur, testeur, administrateur…). Avec ce produit ALM (Ap-plication Lifecycle Management), finie l’isolation et place au par-tage d’informations et à l’automatisation, et la force du livre est d’exposer clairement toutes les synergies offertes par TFS entre chaque profil d’une équipe pour atteindre cet objectif. En plus de passer en revue toutes les fonctionnalités qui facilitent la vie des membres d’une équipe Agile, les auteurs apportent de nombreux détails sur les bonnes pratiques à mettre en place. Ils permettent ainsi au lecteur d’adapter l’utilisation de Team Foundation Server 2015 à son organisation. Chaque chapitre traite d’un module fonc-tionnel de TFS et est orienté pour que chaque profil y trouve son intérêt et comprenne pleinement son rôle à jouer dans le dévelop-pement d’un projet.

Après un premier chapitre consacré à l’installation, la migration et l’administration d’un serveur TFS, les auteurs présentent le contrôle de code source avec les possibilités offertes par Team Foundation Version Control (TFVC) et GIT. Tout naturellement le chapitre suivant est consacré à la gestion et au suivi des projets par les Éléments de travail, utilisés via tous les supports possibles tels que Visual Studio, le portail TFS ou encore Excel pour que chacun des profils de l’équipe puisse en profiter. Suivront la gestion de la qualité, la génération et le déploiement des applications en pro-fitant des nombreuses synergies offertes par les autres modules. Pour terminer, les auteurs apportent les connaissances nécessaires à la gestion des projets d’équipe en termes de sécurité, de colla-boration et de communication.

Pour plus d’informations :

Préface  •  Avant-propos  •  Administration  de  Team  Foundation Server • Gestion du contrôle de source • Gestion des éléments de travail • Garantir la qualité • Génération et déploiement • Gestion des projets d’équipe • Conclusion

Les chapitres du livre

Team

Fou

ndat

ion

Ser

ver

2015

Team Foundation Server 2015 Accélérer et perfectionner le développement logiciel

Vivien FABING Jérémy LANDON

Préface d’Etienne MARGRAFF Evangéliste HTML5, JavaScript et mobilité - Microsoft France

Téléchargementwww.editions-eni.fr.fr

Sur www.editions-eni.fr :b Webographie

Page 2: Accélérer et perfectionner le développement logiciel

1Table des matières

Préface

Avant-propos

Chapitre 1Administration de Team Foundation Server

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Architecture de TFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.1 Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Composants de TFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3 Topologies de mises en place . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3. Installation de TFS 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.1 Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 Installer un serveur de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2.2 Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Installer un serveur complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.2 Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Installer uniquement la couche Application. . . . . . . . . . . . . . . . 253.4.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4.2 Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Créer un projet d'équipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5.1 Se connecter à une collection de projets . . . . . . . . . . . . . . 263.5.2 Créer et se connecter à un projet d'équipe . . . . . . . . . . . . 26

Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr

Saisissez la référence de l'ouvrage EI15TFS dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 3: Accélérer et perfectionner le développement logiciel

2Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

3.6 Mise à niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.6.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.6.2 Mise à niveau depuis TFS Express ou la version de base . 313.6.3 Accéder aux nouvelles fonctionnalités . . . . . . . . . . . . . . . 32

3.7 Choisir la langue d'interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4. Gestion de la console d'administration . . . . . . . . . . . . . . . . . . . . . . . . 344.1 Gérer la couche Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2 Configurer la liaison avec SharePoint . . . . . . . . . . . . . . . . . . . . . 414.3 Configurer la liaison avec Reporting Services. . . . . . . . . . . . . . . 444.4 Configurer un serveur proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.5 Configurer le serveur SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5. Stratégies de sauvegarde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.1 Sauvegarder les bases de données

à travers l'outil de planification . . . . . . . . . . . . . . . . . . . . . . . . . . 495.2 Sauvegarder les bases de données manuellement . . . . . . . . . . . . 535.3 Sauvegarder les clés de chiffrement de Reporting Services . . . . 625.4 Restaurer les sauvegardes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Chapitre 2Gestion du contrôle de source

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2. TFVC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682.1 Mise en place d'un poste de développement. . . . . . . . . . . . . . . . 68

2.1.1 Créer un espace de travail simplement . . . . . . . . . . . . . . . 682.1.2 Créer un espace de travail de manière avancée. . . . . . . . . 692.1.3 Optimiser les espaces de travail . . . . . . . . . . . . . . . . . . . . . 74

2.2 Utilisation du contrôle de source. . . . . . . . . . . . . . . . . . . . . . . . . 752.2.1 Extraction et modification. . . . . . . . . . . . . . . . . . . . . . . . . 752.2.2 Ajouter un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762.2.3 Archiver des modifications . . . . . . . . . . . . . . . . . . . . . . . . 77

Page 4: Accélérer et perfectionner le développement logiciel

3Table des matières

2.2.4 Supprimer un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.2.5 Restaurer un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.2.6 Déplacer ou renommer un élément. . . . . . . . . . . . . . . . . . 812.2.7 Notes et stratégies d'archivage. . . . . . . . . . . . . . . . . . . . . . 82

2.3 Collaborer avec TFVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842.3.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842.3.2 Mise sur étagère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852.3.3 Explorer les jeux de réservation . . . . . . . . . . . . . . . . . . . . . 872.3.4 Résoudre les conflits entre fichiers . . . . . . . . . . . . . . . . . . 882.3.5 Verrouillage des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 922.3.6 Revue de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

2.4 Gestion des versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972.4.1 Présentation des branches . . . . . . . . . . . . . . . . . . . . . . . . . 972.4.2 Stratégies de branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982.4.3 Mise en place des branches . . . . . . . . . . . . . . . . . . . . . . . 1022.4.4 Hiérarchie des branches . . . . . . . . . . . . . . . . . . . . . . . . . . 1042.4.5 Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072.4.6 Fusion en ligne de commande . . . . . . . . . . . . . . . . . . . . . 1112.4.7 Les étiquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

3. GIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153.1 Présentation de GIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153.2 Principales différences entre GIT et TFVC . . . . . . . . . . . . . . . . 1163.3 Démarrer un projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173.4 Le quotidien du développeur . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203.5 Branches et Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233.6 Politique de gestion des branches . . . . . . . . . . . . . . . . . . . . . . . 131

4. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Page 5: Accélérer et perfectionner le développement logiciel

4Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

Chapitre 3Gestion des éléments de travail

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

2. Présentation des éléments de travail . . . . . . . . . . . . . . . . . . . . . . . . . 1382.1 Qu'est-ce qu'un élément de travail ? . . . . . . . . . . . . . . . . . . . . . 1382.2 Les différents types d'éléments de travail . . . . . . . . . . . . . . . . . 1392.3 Mise en place d'un modèle de processus . . . . . . . . . . . . . . . . . . 1432.4 Créer un élément de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

2.4.1 Créer un élément de travail à travers Visual Studio. . . . 1462.4.2 Créer un élément de travail à travers le portail web . . . 1472.4.3 Créer un élément de travail à travers Excel . . . . . . . . . . 150

2.5 Les différents champs des éléments de travail . . . . . . . . . . . . . 1522.5.1 Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1522.5.2 Les champs d'identification et de rapport. . . . . . . . . . . . 1542.5.3 Les assignations et les flux de travail . . . . . . . . . . . . . . . 1562.5.4 La catégorisation : les zones et les itérations . . . . . . . . . 1582.5.5 L'estimation, la planification et le suivi . . . . . . . . . . . . . 1602.5.6 Les pièces jointes et liens . . . . . . . . . . . . . . . . . . . . . . . . . 165

3. Exploitation des requêtes sur les éléments de travail . . . . . . . . . . . . 1663.1 Qu'est-ce qu'une requête ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663.2 Le langage de requête des éléments de travail. . . . . . . . . . . . . . 167

3.2.1 Présentation du WIQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 1673.2.2 Exécuter une requête sur les éléments de travail . . . . . . 1673.2.3 Créer une requête WIQL . . . . . . . . . . . . . . . . . . . . . . . . . 169

3.3 Créer les requêtes à partir de l'interface graphique. . . . . . . . . . 1763.3.1 Prise en main de l'interface. . . . . . . . . . . . . . . . . . . . . . . . 1763.3.2 Les types de requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1793.3.3 Configuration des filtres de la requête . . . . . . . . . . . . . . 1823.3.4 Créer un backlog à partir d'une requête . . . . . . . . . . . . . 184

Page 6: Accélérer et perfectionner le développement logiciel

5Table des matières

4. Gestion du portefeuille Agile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1864.1 Présentation du Gestionnaire de Portefeuille Agile . . . . . . . . . 1864.2 Gestion des backlogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1874.3 Tableau Kanban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1894.4 Tableau des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1944.5 Rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1974.6 Gestion des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

5. Personnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.1 Personnalisation d'un élément de travail . . . . . . . . . . . . . . . . . 2025.2 Création d'un nouvel élément de travail . . . . . . . . . . . . . . . . . . 209

6. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Chapitre 4Garantir la qualité

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

2. Tests manuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2142.1 Créer une campagne de test avec Microsoft Test Manager. . . 214

2.1.1 Présentation de l'outillage . . . . . . . . . . . . . . . . . . . . . . . . 2142.1.2 Les plans de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2152.1.3 Assigner une version à un plan de test . . . . . . . . . . . . . . 2172.1.4 Assigner une configuration . . . . . . . . . . . . . . . . . . . . . . . 2202.1.5 Gérer les environnements

et les paramètres d'exécution. . . . . . . . . . . . . . . . . . . . . . 2232.1.6 Organiser les cas de test via les suites de test . . . . . . . . . 2272.1.7 Créer les cas de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

2.2 Exécuter les tests manuels depuis Microsoft Test Manager . . 2332.2.1 Exécuter des cas de test . . . . . . . . . . . . . . . . . . . . . . . . . . 2332.2.2 Créer un bogue via Microsoft Test Manager . . . . . . . . . 236

3. Tests automatisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2383.1 Présentation des tests automatisés . . . . . . . . . . . . . . . . . . . . . . 2383.2 Le cycle de vie des tests automatisés . . . . . . . . . . . . . . . . . . . . . 243

Page 7: Accélérer et perfectionner le développement logiciel

6Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

4. Gestion des environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2454.1 Politique de gestion des environnements . . . . . . . . . . . . . . . . . 2454.2 Collecte des données d'exécution . . . . . . . . . . . . . . . . . . . . . . . 2474.3 Constituer un environnement de tests de charge ad hoc . . . . 2494.4 Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

5. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Chapitre 5Génération et déploiement

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

2. Les objectifs de la génération et du déploiement . . . . . . . . . . . . . . . 2562.1 Présentation du DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562.2 Des éléments à automatiser. . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

3. Gestion des builds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2583.1 Mettre en place un serveur de build . . . . . . . . . . . . . . . . . . . . . 2583.2 Créer une définition de build . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613.3 Créer ses propres tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

4. Gestion des livraisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2734.1 Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

4.1.1 L'outillage disponible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2734.1.2 Automatiser les déploiements . . . . . . . . . . . . . . . . . . . . . 273

4.2 Gérer les déploiements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2764.2.1 Agents de déploiement. . . . . . . . . . . . . . . . . . . . . . . . . . . 2764.2.2 Configurer une définition de mise en production . . . . . 278

5. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

Page 8: Accélérer et perfectionner le développement logiciel

7Table des matières

Chapitre 6Gestion des projets d'équipe

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

2. Collaboration et communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 2922.1 Le tableau de bord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

2.1.1 Qu'est-ce que le tableau de bord ? . . . . . . . . . . . . . . . . . . 2922.1.2 Personnalisation du tableau de bord . . . . . . . . . . . . . . . . 2932.1.3 Page de bienvenue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

2.2 Les graphiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3002.3 Les alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3012.4 Les équipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3042.5 Les salles de réunion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3072.6 Les crochets de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

3. La gestion des autorisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3113.1 Accès aux fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3113.2 Projet d'équipe et tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3133.3 Contrôle de codes sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3153.4 Accès aux éléments de travail . . . . . . . . . . . . . . . . . . . . . . . . . . 316

4. Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

Page 9: Accélérer et perfectionner le développement logiciel

137

Chapitre 3

Gestion des éléments de travail

Gestion des éléments de travail

1. Introduction

La réalisation d'un projet informatique n'est pas constituée uniquement decode source emmagasiné dans un contrôle de code source. La réalisation d'unprojet informatique, ou même d'un projet au sens large, demande de la ges-tion, une orchestration pour que celui-ci suive une bonne ligne directrice. TFSest constitué d'outils qui se complètent parfaitement les uns avec les autres.La partie code source a été vue précédemment et TFS propose une briqued'outils permettant de gérer efficacement les projets tout en ayant une syner-gie complète dans son entièreté.

Pour cela, TFS repose sur un système nommé les éléments de travail ou WorkItems en anglais (ce dernier terme est très souvent utilisé).

La bonne utilisation des éléments de travail est primordiale pour profiter detoutes les possibilités offertes par TFS. Souvent complexifiée, l'utilisation deséléments de travail est pourtant simple et apporte énormément de synergieavec les autres composants (code source, build, tests fonctionnels, rapports…).

Les éléments de travail sont certainement l'une des parties les plus impor-tantes de toute la solution ALM de Microsoft. Ce chapitre aura pour objectifde donner une vision complète sur les éléments de travail, les bonnes pratiquesà mettre en place pour les utiliser de façon optimale, connaître leurs diffé-rences et les synergies qu'ils apportent.

Page 10: Accélérer et perfectionner le développement logiciel

© E

dit

ions

EN

I -

All r

ights

rese

rved

138Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

2. Présentation des éléments de travail

2.1 Qu'est-ce qu'un élément de travail ?

Comme dit en introduction, un projet a besoin de gestion pour être mené àbien, les éléments de travail permettent de réaliser cette gestion de projet dansTFS.

Un élément de travail est simplement une fiche descriptive d'un élément pro-jet. Il peut se présenter sous différentes formes, autant de formes que d'élé-ments distinctifs d'un projet. En d'autres termes, un élément de travail peutêtre une fiche décrivant un bogue, comme une fiche décrivant une fonction-nalité. Ces fiches sont composées de différents champs adaptés en fonction del'information à transmettre.

Exemples

Un élément de travail qui doit représenter une fonctionnalité devra contenirun champ permettant de spécifier une description, un champ pour signalerà qui est affectée la réalisation de la fonctionnalité, un titre pour pouvoirl'identifier et la comprendre rapidement, etc.

Un élément de travail qui doit représenter un bogue devra, quant à lui,contenir une entrée permettant d'identifier sa criticité selon x niveaux de cri-ticité, etc.

Les éléments de travail reflètent aussi la méthodologie utilisée par l'entreprise.

Exemple

Si l'entreprise pratique l’eXtreme Programming (méthode Agile), elle aurabesoin de récits utilisateurs (ou plus communément appelés User Story) pourreprésenter les exigences.

TFS propose de base un certain nombre d'élément de travail permettant de gé-rer les projets selon les méthodologies les plus populaires. En gardant à l'idéeque TFS est un outil fortement axé sur l'Agilité, les éléments de travail vontmajoritairement dans ce sens. Néanmoins, TFS reste un outil ouvert et il estalors tout à fait possible de créer ses propres éléments de travail.

Page 11: Accélérer et perfectionner le développement logiciel

139Gestion des éléments de travailChapitre 3

2.2 Les différents types d'éléments de travail

Pour garder une cohérence et une lisibilité, TFS se base sur Microsoft Solu-tions Framework (MSF), un ensemble de modèles de processus (Tem-plate) qui permettent de définir les types d'éléments de travail disponiblesdans la réalisation d'un projet. Ces Modèles de processus sont au nombre detrois :

– Scrum : ce modèle de processus définit des types d'éléments de travail per-mettant de gérer au mieux un projet avec une méthodologie Agile de typeScrum.

– Agile : ce modèle de processus est adapté aux équipes utilisant des mé-thodes Agiles au sens large (Scrum compris, bien qu'un modèle de processussoit déjà dédié à la méthodologie). Pour cela, il fournit des éléments de tra-vail génériques aux méthodes Agiles.

– CMMI (Capability Maturity Model + Integration) : ce modèle de processusest adapté à la gestion de projet ayant besoin d'amélioration de processus etd'enregistrer des décisions avec potentiels Audit.

Chacun de ces modèles de processus fournit un ensemble de types d'élémentsde travail adaptés à la méthodologie qui lui est affectée. Certains types d'élé-ments de travail restent néanmoins partagés entre tous, même si certainschamps qui les composent peuvent différer.

– Epopée (Epic) [Scrum, Agile, CMMI] : une épopée est un élément de tra-vail qui permet de définir une valeur à apporter au projet. C'est l'élément detravail le plus haut dans la hiérarchie des éléments de travail.

Exemple

Améliorer l'expérience utilisateur.

– Fonctionnalité (Feature) [Scrum, Agile, CMMI] : cet élément de travailest hiérarchiquement sous l'Épopée. La fonctionnalité permet de définir unélément du projet qui pourra être partagé entre plusieurs itérations ousprints, mais qui doit être livré dans son entièreté en une seule version.

Exemple

Utiliser dans tout le projet X le protocole SSL.

Page 12: Accélérer et perfectionner le développement logiciel

© E

dit

ions

EN

I -

All r

ights

rese

rved

140Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

– Élément de Backlog de Produit (Product Backlog Item), anciennementElément du journal des travaux en souffrance du produit avant Team Foun-dation Version 2015 [Scrum] : cet élément de travail est hiérarchiquementsous la Fonctionnalité. Il permet de définir une activité qui permet d'accom-plir une exigence du produit. Celui-ci doit pouvoir être livré en une seule ité-ration.

Exemple

Un utilisateur doit pouvoir envoyer sa position GPS depuis l'application X.

– Scénario utilisateur (User Story), anciennement Récit utilisateur avantTFS 2015 [Agile] : fonctionnellement identique à l'élément de backlog deproduit, la différence provient des champs disponibles dans l'élément de tra-vail.

Remarque

Dans le cadre d'un scénario utilisateur, la règle de nommage propre à ce typed'élément doit être respectée même si aucune vérification n'est faite par TFS.C’est-à-dire prendre la forme suivante :

Exemple

En tant que [Rôle : utilisateur, administrateur, aventurier…] Je veux pouvoir[But : consulter mes emails, supprimer une commande, réserver un billetd'avion…] dans l'objectif de [Bénéfice : me tenir au courant des nouvelles,adapter ma commande, me rendre de Paris à l’île de la Réunion].

– Spécification (Requirement) [CMMI] : fonctionnellement identique àl'élément de backlog de produit, la différence provient des champs dispo-nibles dans l'élément de travail.

– Bogue (Bug) [Scrum, Agile, CMMI] : cet élément de travail décrit une di-vergence entre le comportement exigé et le comportement réel et assure lesuivi du travail de correction du défaut et de vérification de la correction. LeBogue peut être selon les règles établies dans la méthodologie utilisée dansl'entreprise soit au même niveau qu'un élément de backlog de produit, scé-nario utilisateur ou d'une spécification.

Exemple

Aller sur la page de contact en tant qu'utilisateur provoque une erreur 404.

Page 13: Accélérer et perfectionner le développement logiciel

141Gestion des éléments de travailChapitre 3

– Tâche (Task) [Scrum, Agile, CMMI] : les éléments de travail de type Tâchesont hiérarchiquement en dessous des éléments de travail de type : élémentde backlog de produit, scénario utilisateur, spécification et potentiellementbogue. La tâche permet de spécifier un travail technique permettant de réa-liser une exigence.

Exemple

Obtenir une clé d'API pour l'utilisation de la cartographie de Microsoft.

– Obstacle (Impediment) [Scrum] : les obstacles définissent un élémentperturbateur qui empêche la réalisation d'un élément de backlog de produit.Potentiellement à partir de cet élément seront réalisés d'autres éléments detravail : bogue, fonctionnalités, élément de backlog de produit…

Exemple

Le crédit Azure est expiré et la facturation bloquée, cela empêche de testeren intégration.

– Problème (Issue) [Agile, CMMI] : un problème définit un évènement quibloque la réalisation d'un scénario utilisateur ou une spécification. Ce pro-blème est déclaré spontanément par l'équipe suite aux réunions quoti-diennes ou au fil du développement.

Exemple

La licence Visual Studio de Jean est expirée.

– Récapitulatif (Review) (anciennement Révision) [CMMI] : un Récapitu-latif est un élément de travail permettant de documenter le résultat d'unerévision de code ou de design.

Exemple

Modification de l'ergonomie de la page d'accueil pour faciliter la prise decommandes.

– Risque (Risk) [CMMI] : un Risque est un élément de travail qui permet despécifier une potentielle variance entre le résultat actuel et le désir utilisa-teur. Celui-ci documente un évènement qui peut avoir un impact négatifsur le projet ou des futurs travaux.

Page 14: Accélérer et perfectionner le développement logiciel

© E

dit

ions

EN

I -

All r

ights

rese

rved

142Accélérer et perfectionner le développement logiciel

Team Foundation Server 2015

Exemple

Application Insights sera remplacé par Hockey App, il faudra en fonctiondes impacts modifier le code en place.

– Demande de modification (Change Request) [CMMI] : une demandede modification est un élément de travail qui permet de suivre une proposi-tion de modification sur le produit développé. Une Demande de rectifica-tion peut être réalisée pour apporter des changements à une Spécificationdéjà déclarée, dans ce cas l'élément de travail Demande de modification doitêtre lié à la Spécification cible.

Exemple

Utiliser un service de cartographie existant plutôt que tout redévelopper.

– Plan de test (Test Plan) [Scrum, Agile, CMMI] : un plan de test est unélément de travail permettant de suivre les activités de test pour un jalon ouune mise en production spécifique. Cet élément de travail sera abordé dansle chapitre Garantir la qualité - Tests manuels.

– Suite de test (Test Suite) [Scrum, Agile, CMMI] : une suite de test est unélément de travail permettant d'effectuer un suivi des activités de test pourune fonctionnalité, une exigence ou un scénario utilisateur spécifique. LesSuites de test sont fortement liées aux exigences, c'est pour cette raison quela déclaration des éléments de backlog de produit, Scénarios utilisateur etSpécifications doivent être initialement bien faites. Hiérarchiquement unesuite de test est en dessous d'un plan de test. Cet élément de travail seraabordé dans le chapitre Garantir la qualité - Tests manuels.

– Cas de test (Test Case) [Scrum, Agile, CMMI] : Un cas de test est un élé-ment de travail permettant de spécifier un ensemble d'étapes à tester pourvalider un critère. Hiérarchiquement un cas de test est en dessous d'unesuite de test. Un ensemble de cas de test permet de valider une suite de test.Cet élément de travail sera abordé dans le chapitre Garantir la qualité - Testsmanuels.

– Etapes partagées (Shared Steps) [Scrum, Agile, CMMI] : une étape par-tagée est un élément de travail particulier qui permet de partager des étapesqui composent un cas de test entre plusieurs cas de test. Cet élément de tra-vail sera abordé dans le chapitre Garantir la qualité - Tests manuels.