Les méthodes et processus ont besoin de s'appuyer sur des outils, c'est même souvent nécessaire. Microsoft propose Visual Studio et le serveur TFS (Team Foundation Server) comme solution ALM (Application Lifecycle Management). La nouvelle version 2012 propose une solution complète pour la gestion de projet Agile en intégrant tous les acteurs (chef de projet, scrum master, product owner, développeur, testeur, sponsor, moa, amoa, ...). Dans cette session, nous montrerons ses bénéfices et capacités. Nous verrons en particulier : le prototypage et storyboarding, la définition et l'ordonnancement du Backlog, la planification des itérations, le suivi (tableau des taches, kanban, burndown chart), la traçabilité des spécifications/code source, les tests (ATDD piloté par les tests de l'interface), le feed-back client en continu.
4. Planification Agile
Les actions demandées par les méthodes Agiles
• Ordonner les spécifications
• Lotir les spécifications en itération
• Découper celles-ci en tâches de réalisation
• Modifier et suivre les états et reste à faire
• Communiquer l’avancement, la rapidité
20/11/12 www.agiletour.com
5. TFS Web Access
L’outil permet ces actions au travers
• Journal produit/itération
• Kanban
• Tableau des taches
• Capacité de l’équipe
• Rapports
Et personnalisable
20/11/12 www.agiletour.com
7. Définition et prototypage
Définition des spécifications, récits utilisateurs
• Éléments de travail
• Textes enrichis
Prototypage, maquette
• Outil intégré
à PowerPoint
20/11/2012 www.agiletour.com
9. Communication Agile
L’inspection, les retours utilisateurs,
la communication régulière
Les outils de Feedback
• Outil de commentaires
• Révisions de code
• Tests exploratoires & fonctionnels
• Bogues, Plug-In SCOM
• Intellitrace en production
• Preemptive Analytics
20/11/12 www.agiletour.com
11. Développeur Agile
Ses pratiques agiles
• pair programming
• TDD
• Refactoring
Ses nouveaux outils
• Révisions de code
• Test explorer
• Suspension et reprise du travail
20/11/12 www.agiletour.com
13. Tests Agile
Les pratiques de test
• ATDD
• Tests BVT
Les outils de test
• Tests exploratoires
• Tests manuels
• Tests codés de l’interface
20/11/12 www.agiletour.com
15. Résumé
Ce qu’on a vu, ce qu’il faut savoir
• Les outils de Visual Studio 2012 ALM mettent en avant les pratiques
agiles et permettent de les mettre en œuvre de manière intégré dans un
référentiel unique.
Pour aller plus loin
• Contact : c.leblond@happly.fr
• http://visualstudio.fr/bonapp
20/11/12 www.agiletour.com
Notes de l'éditeur
05/05/09 www.agiletour.com 05/05/09 www.agiletour.com Cédric Leblond, consultant ALM chez Happly Nous allons discuter des outils la nouvelle offre MS : Visual studio et TFS 2012 et nous verrons leur adhérence très forte aux pratiques agiles. Beaucoup de ces outils ont justement été développés dans l’optique de promouvoir et d’accélérer l’adoption de ces méthodes agiles. 05/05/09 www.agiletour.com
05/05/09 www.agiletour.com Merci aux sponsors! Happly : Société de conseil et de services situé sur le grand-Est de la France. Notre expertise est reconnue sur la plateforme MS. Nous avons 2 principales activités de services et de formation. Nous sommes centre de formation certifié MS (CPLS) Sur l’activité de services, nous intervenons chez nos clients sur des missions d’expertises, d’audit, de développement logiciel, ou de mise en œuvre de solutions Microsoft
Au menu, nous allons voir pour différentes pratiques Agile très courantes, les nouveaux outils offerts par la gamme Visual Studio ALM. (J’ai pris les pratiques courantes utilisées lors des projets réaliser avec des méthodes agiles ) Nous verrons les nouvelles solutions de planification et suivi, la création d’une maquette pour concevoir l’appli, La communication est une valeur importante en Agile. Et on le verra beaucoup de nouveaux outils permettent de la faciliter à tous les niveaux. Et je vous présenterai aussi les nouveaux outils facilitant les pratiques agiles de développement et de test. En bref, comment la gamme ALM soutient et supporte les pratiques Agile. 05/05/09 www.agiletour.com
Planning agile les enjeux et exigences 1 : l’ordonnancement (priorisation) des exigences, élément du carnet de produit (product backlog item), récit utilisateur (user story) 2 : affecter en itérations (Versions, Sprint), ou pas je serai sans si j’utilise uniquement Kanban 3 : découper en taches de réalisation (principalement développement) 4 : suivre et mettre à jour les statuts 5 : mesurer et rapports pour vérifier on track pour la fin d’une itération, prévoir les prochaines 05/05/09 www.agiletour.com
Le nouveau TFS Web Access est la réponse MS, il va permet de réaliser les actions vues précédemment avec : un journal de produit un journal, journal par itération Un tableau Kanban des spécifications Un tableau pour les taches La possibilité de gérer la capacité de l’équipe (en réalité des équipes puisque je peux créer plusieurs team pour un même projet) Des rapports pour suivre le reste à faire, la rapidité (vélocité) de l’équipe L’ensemble est bien sûr personnalisable. 05/05/09 www.agiletour.com
Page d’accueil Le journal , ajouter un PBI, ordonner, prévoir les prochains Sprints. Affecter à une itération par glisser déposer sur celle-ci Template Scrum, adhérant complètement à la méthodologie (disponibles toujours Msf Agile et CMMI). Textes riche sur le PBI, insertion d’images Tableau Kanban (update 1), il permet le glisser déposer indiquer des limites le « travail en cours » (il est personnalisable pour modifier les colonnes) Le journal d’une itération : le travail qui est découpé en tâche, la gestion de la capacité de l’équipe pour vérifier la cohérence entre le travail restant et les disponibilités de l’équipe. Réglage des congés et heures par jour pour chacun Tableau des taches par User Story permet de déplacer facilement les taches et de les ajouter les tâches. Une vue par membre de l’équipe, changement direct du temps restant ou de la personne assignée, (changement aussi par glisser déposer) 05/05/09 www.agiletour.com
L’application en Agile est définie par des spécifications allégées, on préfère le logiciel qui fonctionne à de la documentation exhaustive. On l’a vu à l’instant la définition des récits utilisateurs peut se faire directement dans les éléments de travail. Pour certains scénarios, spécifications, il est parfois plus simple de réaliser une maquette visuelle pour définir et expliquer l’implémentation à l’équipe de développement. Ms a aussi ajouté un outil de prototypage à PowerPoint. Il s’agit d’un outil simple souvent connu et régulièrement manipuler par la maitrise d’ouvrage ou PO. Il permet donc de documenter certains scénarios spécifiques afin que l’équipe de développement puisse les comprendre et les implémenter plus rapidement. 05/05/09 www.agiletour.com
La démo, Voici un storyboard de la compagnie Fabrikam Fiber qui assure la distribution par cable de chaines TV. Je veux ajouter un plan ceonceptuel (maquette) pour l’interaction des techniciens avec les demandes clients. Avec le plug-In, créer une nouvelle diapositives, entrer l’url http://intranet.ff.com, titre de la page Dashboard, insérer texte Dashboard, Insérer bouton depuis les éléments commun, changer l’aspect et l’enregistrer dans mes formes Insérer le snapshot de la page web http:// , Créer le lien vers l’élément du journal produit (préciser que le fichier doit être partagé pas en local), montrer le lien créé depuis le WI en l’ouvrant 05/05/09 www.agiletour.com
La communication fréquente avec les différents acteurs PO, utilisateurs, clients finaux, opérations est une valeur importante dans les méthodes Agiles. Avec la nouvelle version de Visual Studio, on peut encore mieux gérer ses listes de tâches, les définition des exigences, fonctionnalité ( le backlog) avec les outils de planification Agile ( Web Access) , maquette cinématique de l’application (plug-in storyboard de powerpoint). Et on a de disponible à chaque étape du cycle de vie de l’application un outil ou un ensemble d’outils permettant de donner un retour d’expérience. Sur la maquette, on peut utiliser l’outil de commentaires (feedback client). On peut l’utiliser aussi pendant le DEV auprès des utilisateurs/le métier sur l’application elle-même. Pendant l’implémentation, les développeurs peuvent demander/donner des retours sur le code de l’application grâce à l’outils de révisions de code qui facilite énormément le processus de revue par lespairs. A la fin de l’implémentation d’une version/lot de fonctionnalité(dépend de votre processus), on va utiliser les tests exploratoires puis fonctionnels, déclarer des bogues. Ces mêmes bogues pourront aussi dans la phase de monitoring en production être directement créés par les équipes techniques via le plugin pour SCOM (systemcenter Operation manager). Ceux-ci peuvent être enrichis par la prise d’informations de débogage riches et historisés avec Intellitrace directement sur les serveurs en production. Avec Preemptive Analytics, les exceptions d’une application cliente (ou serveur) peuvent être automatiquement rassemblées, cumulées, sauvegardées puis générer directement un bogue dans TFS (sur le déclenchement de seuils, par exemple plus de 10 exceptions identiques) 05/05/09 www.agiletour.com
Démo outils de commentaire : Je créé une demande sur une application (ou tout autre élément par exemple la maquette si je suis dans une phase de conception) Je précise les différents points/fonctions que je souhaites vérifier et j’envoie la demande, Les destinataires reçoivent un mail avec la demande (le destinataire n’a pas besoin de licence, il a un lien pour installer l’outil) Celui-ci fait point par point des commentaires enrichis avec des captures d’images, un enregistrement vidéo des essais Il donne ensuite un avis général (rating) puis il envoi ses commentaires. Le demandeur peut ensuite vérifier les commentaires. 05/05/09 www.agiletour.com
dans les pratiques comme XP, le développeur est mis en binomage (pair ou sidebyside programming) avec pour objectif une relecture croisée permanente du code. Autre pratique le TDD (Test driven developement) où je crée le/les tests avant le code ma fonctionnalité et son corollaire le refactoring (optimisation, simplification du code) C’est une nouveauté de VS 2012, la révision de code. Il simplifie énormément le processus de revue par les pairs ! Elles permettent de : - trouver plus-tôt des bogues et les corrigés - permettent de mieux coller/respecter les bonnes pratiques - d’améliorer la qualité des commentaires pour la maintenance - d’améliorer la consistance du code par les partage entre les différents développeurs - apprendre aux nouveaux membres de l’équipe et aux aniciens aussi Test runner est une nouveauté Visual Studio 2012. Qu’apporte ce changement ? Essentiellement la possibilité de lancer les tests de Framework tiers. (xUnit, Nunit, Qunit Jasmine, …) On peut toujours utiliser Mstest , on peut aussi exécuter les tests créés avec la précédente édition Visual Studio 2012. Cette version apporte de nouvelles fonctionnalités, il découvre et exécute automatiquement les tests de ma solution, une fois que j’ai compilé l’application. Bien-sûr je peux demander à vérifier la couverture de code. Sympa : je peux continuer à développer pendant l’exécution de mes tests, ils sont lancés en tâches de fond. A la fin, j’ai une présentation détaillée de l’exécution (réussite, temps d’exécution, détails en cas de pb). On accède facilement aux informations de la couverture de code. Productivité de développeur avec le vue/hub « mon travail » qui va concentrer toutes les actions du quotidien, plus les outils de diagnostiques (analyse des normes, le calcul des métriques de code et le nouvel analyseur des clones de code) 05/05/09 www.agiletour.com
Montrer la suspension et reprise du travail (l’insérer avec la révision de code si possible) Pour les révisions, il faut aller dans le hub mon travail. On peut voir les celles que l’on a en cours ou demander soit même une demande de révision de code (dans la partie travail en cours). Faire une demande. Je peux alors mettre en attente mon travail en attendant une réponse et passer à la prochaine tâche. (mes modifications, les points d’arrêt, les éléments ouverts sont conservés et seront restitués) Ouvrir la requête pour montrer la comparaison de fichier et les commentaires sur la révision (pour compléter je peux aussi dé réserver et lancer les outils de diagnostiques, si je souhaites réaliser un audit plus global de l’appli). Fermer les fenêtres et reprendre le travail suspendu. Démo de création d’un tests unitaire et exécution du tests Runner : - ouverture du Test Runner et découverte des tests - lancement des tests (montrer que c’est en tâche de fond) - Résultats avec le OK/KO, le temps d’exécution, les affichages possibles, le détail des infos sur un élément qui plante - ajout package nUnit, ou Xunit si je souhaite utiliser ces frameworks - avec Visual studio update 1, on peut aussi trier sur les catégories, propriétaire, propriétés 05/05/09 www.agiletour.com
Dans les méthodes agiles, les tests sont souvent menés par les critères d’acceptations fonctionnels ou technique émis par le métier (ATDD). Les équipes réalisent aussi beaucoup de tests techniques (unitaires, intégration, fonctionnel) qui sont exécuter lors de la compilation continue (BVT). L’offre Microsoft s’est étoffée et améliorée avec 2012, les tests exploratoire (tests non structurés) qui permettent de tester les spécifications sans plan prédéfini. Mais qui vont permettre de créer un cas de tests structuré pour un effectuer des tests manuels et les tests codés de l’interface (que l’on pourra intégrer à la Build). On a déjà discuter des tests techniques un peu plus-tôt. Avec update 1, Je peux degoguer, tester des applications SharePoint. Pour les tests manuels : avant je n’avais qu’un seul test en pause, je peux maintenant en mettre plusieurs en pause. Je vais aussi pouvoir modifier un cas de test pendant l’exécution. Des améliorations, qui permettent encore une meilleur productivité Je peux aussi exécuter les tests codés dans différents navigateurs Internet (Chrome, FireFox ). Il faut juste installer les composants Selenium (et les navigateurs).. 05/05/09 www.agiletour.com
Effectuer un test exploratoire à partir du plan de test. Indiquer que l’on a la vidéo enregistrée, l’enregistrement des actions. Je peux créer un ou plusieurs cas de test. En même temps que je créé le bogue, je peux créer un test pour vérifier ensuite si celui-ci est corrigé. Je peux exécuter et enregistrer mon cas de test pour le relancer plus-tard. Avec Update 1, j’ai la possibilité maintenant d’enregistrer la couverture de code pendant les tests manuel. Je la visualise dans le rapport de la build sélectionnée pour le test ou associée au plan de test. Si temps restant, naviguer vers la vérification des bogues et simuler sa vérification. 05/05/09 www.agiletour.com