36
Outillage agile dans un environnement de développement Microsoft Scrum Day France 2011 Christophe HERAL [email protected] Geoffrey DANIEL [email protected]

[Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Outillage agile dans un environnement de

développement Microsoft

Scrum Day France 2011

Christophe HERAL [email protected]

Geoffrey DANIEL [email protected]

Page 2: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Merci aux sponsors du Scrum Day !

Sponsors Platinum

Sponsors Gold

Parrainage :

Page 3: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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)

Page 4: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Sommaire

• Pourquoi s’outiller ?

• Team Foundation Server 2010

• Scénario

• Outils annexes

Page 5: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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, …)

Page 6: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 7: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

TEAM FOUNDATION SERVER 2010

Page 8: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Positionnement de TFSTeam Foundation Server Open Source

Contrôleur de source SVN / Git / Mercurial

Taches (WorkItems) Bug Tracker / Redmine

Process Template -

Builds Cruise Control / NAnt / Hudson

Tests NUnit

Rapports ?

Portail Collaboratif Site web ?

Portail de gestion de projet

Site web ?

Documents (mise à dispo) Site web ? Repository ?

Couverture de code NCover

Analyse statique de code Gendarme / FxCop

Page 9: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Architecture de TFS

Page 10: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 11: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Template MSF for Agile v5.0pour 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

Page 12: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 13: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Template Scrum v1.0 pour TFS• Vocabulaire Scrum • WorkItem de type Sprint

– Onglet Rétrospective

• Nouveaux rapports– Release Burndown– Velocity– Sprint Burndown

Page 14: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

SCENARIO

Page 15: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Gérer son backlog sous Excel• Interopérabilité Office avec TFS

– Microsoft Excel– Microsoft Project

• Possibilité de gérer les WorkItems en masse

Page 16: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 17: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Tests unitaires

• Projets de tests unitaires• MSTest• Interaction possible avec d’autres outils de

tests (NUnit, MBUnit, …)

Page 18: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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.

Page 19: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 20: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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ènementsmais aussi les appels de méthodes

Page 21: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 22: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 23: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 24: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 25: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 26: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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écutionou à la compilation (Edition Premium)

• PEX : générateur de tests unitaires

Page 27: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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…)

Page 28: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Documents• Stockés dans Sharepoint• Gestion des versions

Page 29: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Rapports

Basés sur un cube OLAP

• Stockés sur un serveur SSRS• Gestion des droits fine et granulaire

Page 30: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

OUTILS ANNEXES

Page 31: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Scrum for Team System v3• Process Template• Application Tableau de Bord

Page 32: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Urban Turtle• Plug-in à TFS 2010 Web Access, enrichit

l’utilisation de Scrum avec TFS• Ex : Priorisation du backlog via drag & drop

Page 33: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 34: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

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

Page 35: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Applications de Planning Poker sur Smartphones

• Iphone, Android, Windows Phone 7, ...

Page 36: [Scrum Day 2011] Outillage Agile dans un environnement Microsoft

Questions

MERCI