Outillage agile dans un     environnement de  développement Microsoft          Scrum Day France 2011Christophe HERAL chris...
Merci aux sponsors du Scrum Day !          Sponsors Platinum           Sponsors Gold Parrainage :
   Partenaire historique et stratégique de Microsoft   Plus de 90 collaborateurs certifiés interviennent chaque jour sur...
Sommaire• Pourquoi s’outiller ?• Team Foundation Server 2010• Scénario• Outils annexes
Outils vs Papier• Méthodes agiles basées sur une approche sans outil  (paperboard, posts-it, interaction physique de l’équ...
Outillage agile dans un      environnement Microsoft• Outillage proposé par Microsoft  – Visual Studio 2010  – Team Founda...
TEAM FOUNDATION SERVER 2010
Positionnement de TFS                           Team Foundation Server           Open SourceContrôleur de source          ...
Architecture de TFS
Un outil Agile ?• Positionnement Agile dès TFS 2005/2008   – MSF for Agile   – eScrum• Quels autres ALM Agiles ?   – Outil...
Template MSF for Agile v5.0              pour TFS• Template « historique » de Visual Studio pour  les méthodologies Agiles...
MSF for Agile v5.0 vs Scrum v1.0• Les différents types de workitems      MSF For Agile v5.0   Scrum v1.0      User Story  ...
Template Scrum v1.0 pour TFS• Vocabulaire Scrum• WorkItem de type Sprint   – Onglet Rétrospective• Nouveaux rapports   – R...
SCENARIO
Gérer son backlog sous Excel• Interopérabilité Office avec TFS  – Microsoft Excel  – Microsoft Project• Possibilité de gér...
Les tests• Validation des fonctionnalités, performances,  charges et non-régression• Types de tests  – Tests unitaires  – ...
Tests unitaires• Projets de tests unitaires• MSTest• Interaction possible avec d’autres outils de  tests (NUnit, MBUnit, …)
Couverture de code• Mesure qui permet de définir quel est le taux de code  source testé d’un programme (sous forme de %)• ...
Tests manuels• Tests fonctionnels / non automatisables• Test Manager 2010  – Gestion des Tests / Etapes de tests  – « Acti...
Debugging avec Visual Studio 2010• Debug traditionnel : permet de connaître  l’état de l’application à un moment donné• In...
Outillage pour le développeur• Apprendre de son propre code (grâce aux  autres ou grâce aux outils)• Rembourser la dette t...
Revue de code• Examen systématique du code source par une autre  personne• Détection au plus tôt des bugs et des vulnérabi...
Analyse automatique du code• Ensemble de règles qui permettent  d’améliorer la structure du programme en se  basant sur le...
Analyse du code source• Travaille sur le code avant compilation• Définit un lot de règles concernant :  –   Le nommage  – ...
Refactoring• En quoi cela consiste ?  – Modification de la présentation du code source  – Suppression du code mort  – Reno...
Programmation par contrat• 3 types d’assertions :  – Invariant : condition toujours vraie  – Pré-condition : condition à v...
Intégration continue avec TFS• Builds• Gated checkins  – Force l’équipe à exécuter une Build avant    d’archiver• Intégrat...
Documents• Stockés dans Sharepoint• Gestion des versions
Rapports• Stockés sur un serveur SSRS• Gestion des droits fine et granulaire                               Basés sur un   ...
OUTILS ANNEXES
Scrum for Team System v3• Process Template• Application Tableau de Bord
Urban Turtle• Plug-in à TFS 2010 Web Access, enrichit  l’utilisation de Scrum avec TFS• Ex : Priorisation du backlog via d...
Et Java dans tout ça ?• Visual Studio Team Explorer Everywhere 2010  – Anciennement Team Prise     • racheté par Microsoft...
Team Table• Une application Scrum sur la table Microsoft Surface• Exploite le tactile et le multi-points• Permet de sélect...
Applications de Planning Poker          sur Smartphones• Iphone, Android, Windows Phone 7, ...
Questions            MERCI
Prochain SlideShare
Chargement dans…5
×

[Scrum Day 2011] Outillage Agile dans un environnement Microsoft

3 640 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 640
Sur SlideShare
0
Issues des intégrations
0
Intégrations
524
Actions
Partages
0
Téléchargements
55
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Autres outils : Ncover, PartCover.
  • Gendarme sous MonoEn ligne avec des outils comme Kalistick (plugin Visual Studio, qui gère aussi le Java, plugin JIRA/Greenhopper).
  • CodeRush
  • Produit de MS Research, téléchargeable gratuitement (2 versions), anciennementSpec#.ContractInvariantMethod, Contract.Requires,Contract.EnsuresPex inclus dans l’abonnement MSDN, fonctionne en ligne de commande.
  • Distribué gratuitement par EMC Consulting
  • Payant, développé par Pyxis.On peut aussi évoquer TeamPulse développé par Telerik
  • Développé par Access IT
  • [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

    1. 1. Outillage agile dans un environnement de développement Microsoft Scrum Day France 2011Christophe HERAL christophe.heral@winwise.com Geoffrey DANIEL geoffrey.daniel@winwise.com
    2. 2. Merci aux sponsors du Scrum Day ! Sponsors Platinum Sponsors Gold Parrainage :
    3. 3.  Partenaire historique et stratégique de Microsoft Plus de 90 collaborateurs certifiés interviennent chaque jour sur des missions variées :  Missions d’expertise  Conseil & Audit  Réalisation de projets à engagement de résultats Une offre qui couvre l’ensemble du cycle de vie des applications :  Travail collaboratif, portail d’entreprise et Workflow  Business Intelligence & Data Management  Interfaces utilisateurs, Rich Internet Application & desktop application  Architecture d’entreprise et Architecture Life cycle Management  Infrastructure, Sécurité et Réseaux  Centre de formation et de Certification Microsoft  Accompagnement dans la mise en place de méthodes Agiles (Scrum notamment)
    4. 4. Sommaire• Pourquoi s’outiller ?• Team Foundation Server 2010• Scénario• Outils annexes
    5. 5. Outils vs Papier• Méthodes agiles basées sur une approche sans outil (paperboard, posts-it, interaction physique de l’équipe…)• L’utilisation d’outils apporte de la valeur ajoutée (équipe distribuée, amélioration continue du code produit, …)
    6. 6. Outillage agile dans un environnement Microsoft• Outillage proposé par Microsoft – Visual Studio 2010 – Team Foundation Server 2010• Outils complémentaires – Outils intégrés à TFS – Outils non intégrés
    7. 7. TEAM FOUNDATION SERVER 2010
    8. 8. Positionnement de TFS Team Foundation Server Open SourceContrôleur de source SVN / Git / MercurialTaches (WorkItems) Bug Tracker / RedmineProcess Template -Builds Cruise Control / NAnt / HudsonTests NUnitRapports ?Portail Collaboratif Site web ?Portail de gestion de Site web ?projetDocuments (mise à dispo) Site web ? Repository ?Couverture de code NCoverAnalyse statique de code Gendarme / FxCop
    9. 9. Architecture de TFS
    10. 10. Un outil Agile ?• Positionnement Agile dès TFS 2005/2008 – MSF for Agile – eScrum• Quels autres ALM Agiles ? – Outils Agiles (ScrumWorks, Rally, IceScrum, …) – Agile Accelerator de HP – Polarion ALM
    11. 11. Template MSF for Agile v5.0 pour TFS• Template « historique » de Visual Studio pour les méthodologies Agiles (par opposition au template CMMI)• Basé sur MSF (Microsoft Solutions Framework)• Convient pour des projets Agiles en général
    12. 12. MSF for Agile v5.0 vs Scrum v1.0• Les différents types de workitems MSF For Agile v5.0 Scrum v1.0 User Story Product Backlog Item Task Task Test case Test case Bug Bug Issue Impediment Itération Sprint
    13. 13. Template Scrum v1.0 pour TFS• Vocabulaire Scrum• WorkItem de type Sprint – Onglet Rétrospective• Nouveaux rapports – Release Burndown – Velocity – Sprint Burndown
    14. 14. SCENARIO
    15. 15. Gérer son backlog sous Excel• Interopérabilité Office avec TFS – Microsoft Excel – Microsoft Project• Possibilité de gérer les WorkItems en masse
    16. 16. Les tests• Validation des fonctionnalités, performances, charges et non-régression• Types de tests – Tests unitaires – Tests Web – Tests chaînés – UI – Tests manuels
    17. 17. Tests unitaires• Projets de tests unitaires• MSTest• Interaction possible avec d’autres outils de tests (NUnit, MBUnit, …)
    18. 18. Couverture de code• Mesure qui permet de définir quel est le taux de code source testé d’un programme (sous forme de %)• Dans Visual Studio :• Tests impactés : permet de savoir quels tests rejouer après une modification de code.
    19. 19. Tests manuels• Tests fonctionnels / non automatisables• Test Manager 2010 – Gestion des Tests / Etapes de tests – « Action Recording » • Enregistrement des actions utilisateurs • Possibilité de rejouer le test• Mieux que des mots, Démo
    20. 20. Debugging avec Visual Studio 2010• Debug traditionnel : permet de connaître l’état de l’application à un moment donné• IntelliTrace (VS 2010 Ultimate) – Permet de connaître l’état pour les évènements du passé – Peut être généré par le testeur – Peut enregistrer les évènements mais aussi les appels de méthodes
    21. 21. Outillage pour le développeur• Apprendre de son propre code (grâce aux autres ou grâce aux outils)• Rembourser la dette technique• Restructurer sans tout casser• S’assurer de la robustesse du code
    22. 22. Revue de code• Examen systématique du code source par une autre personne• Détection au plus tôt des bugs et des vulnérabilités• Le code de l’examinateur est aussi examiné• Partage de la connaissance, permet de faire ressortir les meilleurs choix d’architecture• Permet de former les membres de l’équipe• Possible avec des équipes distribuées• Avant l’intégration au contrôle de code source ou après• TeamReview
    23. 23. Analyse automatique du code• Ensemble de règles qui permettent d’améliorer la structure du programme en se basant sur le code MSIL – Les performances – La sécurité – L’architecture des bibliothèques – La conception – …• FxCop : inclus comme outil d’analyse de code standard de Visual Studio
    24. 24. Analyse du code source• Travaille sur le code avant compilation• Définit un lot de règles concernant : – Le nommage – La maintenabilité – La lisibilité – …• StyleCop• Analyse du code dupliqué – Clone Detective
    25. 25. Refactoring• En quoi cela consiste ? – Modification de la présentation du code source – Suppression du code mort – Renommage de classes et de méthodes – Modifications algorithmiques – Refonte de la conception• Nécessite des tests unitaires pour éviter les régressions• Resharper
    26. 26. Programmation par contrat• 3 types d’assertions : – Invariant : condition toujours vraie – Pré-condition : condition à vérifier avant le lancement du traitement – Post-condition : condition garantie après le traitement• Code Contracts – Vérifie les assertions à l’exécution ou à la compilation (Edition Premium)• PEX : générateur de tests unitaires
    27. 27. Intégration continue avec TFS• Builds• Gated checkins – Force l’équipe à exécuter une Build avant d’archiver• Intégration d’outils tiers (Code Analysis…)
    28. 28. Documents• Stockés dans Sharepoint• Gestion des versions
    29. 29. Rapports• Stockés sur un serveur SSRS• Gestion des droits fine et granulaire Basés sur un cube OLAP
    30. 30. OUTILS ANNEXES
    31. 31. Scrum for Team System v3• Process Template• Application Tableau de Bord
    32. 32. Urban Turtle• Plug-in à TFS 2010 Web Access, enrichit l’utilisation de Scrum avec TFS• Ex : Priorisation du backlog via drag & drop
    33. 33. Et Java dans tout ça ?• Visual Studio Team Explorer Everywhere 2010 – Anciennement Team Prise • racheté par Microsoft en 2009 – Plug-in pour Eclipse qui permet d’accéder à Team Foundation Server – Crée une passerelle entre les développements Java et .Net
    34. 34. Team Table• Une application Scrum sur la table Microsoft Surface• Exploite le tactile et le multi-points• Permet de sélectionner les tâches d’un sprint• Peut s’utiliser en complément du Scrum Dashboard
    35. 35. Applications de Planning Poker sur Smartphones• Iphone, Android, Windows Phone 7, ...
    36. 36. Questions MERCI

    ×