PDC 08 – Agile Development With Microsoft Visual Studio

Dernière session pour cette première journée, présentée par Lori Lamkin, production unit manager et Sunder Raman program manager.

La session débute avec une présentation d'un schéma de Kent Beck sur les outils utiles pour le développement agile avec un focus sur :

  • Le test driven development
  • L'intégration continue
  • Les tests unitaires
  • Le « weekly cycle »
  • La transparence

Comme vous le savez, le test driven development, c'est écrire ces tests en premier, et développer les fonctionnalités associées ensuite. Visual Studio 2010 aide le développeur à aller dans ce sens.

Le problème avec Visual Studio avant la version 10 est qu'on ne pouvait pas créer facilement les tests unitaires sans avoir le code à tester. Avec la version 2010, il est maintenant possible de générer ce code directement à partir du code du test (un peu comme le font certains frameworks de test indépendants). L'avantage, c'est que l'on peut se concentrer sur l'écriture du test sans avoir à se préoccuper de l'écriture de la structure du code que l'on teste. On arrive alors dans l'état désiré lorsque l'on faire du TDD : le test ne passe pas (et on entre dans la phase d'implémentation de la fonctionnalité, jusqu'à ce que le test passe).

En termes de refactoring, on peut désormais créer une méthode à partir d'un ensemble de lignes de code pour le factoriser et pouvoir le réutiliser facilement dans le reste de l'application.

L'intégration est un processus complexe qui est source de beaucoup de problèmes, c'est pour cela qu'il faut le réaliser le plus souvent possible : il s'agit de l'intégration continue. Pour réaliser cela dans TFS, on choisit de compiler à chaque checkin, on utilise une politique de checkins qui va forcer le développeur d'exécuter les tests unitaires associés avant l'archivage.

La nouveauté, c'est surtout le « Gated Check-in » (dont j'ai parlé dans le cadre de deux autres sessions). Ce nouveau mode de check-in permet de valider le code archivé en le compilant dans un espace isolé et de ne pas l'archiver si la compilation échoue. Comment cela marche ? Via la création d'un shelveset temporaire qui est compilé sans être archivé. L'avantage c'est que c'est totalement transparent pour le développeur, il est simplement averti qu'une vérification va être faite. C'est à mon sens le sommet de l'intégration continue, car on évite réellement de casser une compilation AVANT que le mal soit fait J

L'ergonomie du rapport de compilation a été largement revue (notamment pour parcourir et analyser un log de compilation). On a également à notre disposition un rapport qui permet d'avoir l'évolution de la qualité des compilations au cours du temps, avec une finesse au niveau du test (telle compilation a réussie, mais n'a pas exécuté de tests). Ce rapport permet de répondre aux questions comme : Quelle est la qualité de ma build au cours du temps ? Est-ce que cette qualité est constante ?

En termes de work items, ceux-ci ont été simplifiés, et surtout hiérarchisés. On a à notre disposition un backlog commun permettant de suivre l'évolution des tâches pour chaque itération.

Via excel, on peut très facilement gérer la relation parent enfant des work items en les déplaçant de horizontalement (chaque colonne correspond à un niveau de hiérarchie). Un ensemble de rapport sont disponible par défaut, permettant d'avoir des informations notamment sur la velocité, le capacity planning (avec un niveau de détail par développeur), etc.

Toujours dans les fonctionnalités Excel, on à la possibilité de créer un rapport automatiquement à partir d'une requête de workitems. Les informations sont automatiquement récupérées du cube sans que l'on ai besoin de le maîtriser. Créer un rapport est très simple. Seul inconvénient à priori, c'est qu'on offre l'accès aux données de tous les projets via cette fonctionnalité.

Concernant la partie sharepoint, il y a maintenant un certains nombre de webparts disponibles qui nous permettra de construire un « dashboard » personnalisé contenant les informations dont on a besoin.

Deux personnes de Conchago ont également présenté leur solution « Scrum for Team System » et plus principalement leur application « Task Board for Team System ». Il s'agit d'une application simulant un tableau sur lequel on peut coller des post-it, à la manière dont il est conseillé de le faire dans les méthodes agiles, et surtout parce que les « gens agiles aiment ça » (phrase de Lori !). Bien évidemment, cette application est connectée à TFS et permet de mettre à jour les données en fonction des actions réalisée, par exemple lorsqu'on déplace un post-it de « En cours » à « Terminé », le workitem associé est mis à jour dans TFS.

En résumé, une session intéressante, et encore une fois : vivement la VPC J

.Dispose();

Publié mardi 28 octobre 2008 02:17 par Etienne Margraff
Classé sous
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires


Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01