Présentation d'une proposition pour établir la roadmap de montée en compétence Agile de sonéquipe et la suivre son avancement.
La méthode est librement inspirée des modèle type CMMI, ITIL.
Dans une seconde partie, quelques exmelpes de processus sont illustré supportés par Visual Studio ALM
2. • Data Management • Formation Microsoft
• Business Solutions and • Transfert de compétences
Services • Centre de Formation
• Custom Development CPLS
• Enterprise Infrastructure • Certification
• Process & Quality
c.leblond@happly.fr
3.
4. Couverture de Rapports tests
Gestion sources code
Intégration Métriques de
Gestion des code
documents continue
Tests de Gestion des Gestion des
Tests performance risques Environnements
d’intégration
Validation Compilation
Déploiement
Analyse architecture
automatisé
statique
Tests de charge Gestion des
Gestion des
ressources
Modélisation anomalies
architecture Test Driven
Tests
Development
fonctionnels
Débogage
Planification Gestion des
avancé portefeuille
spécifications
projet
Acceptance Test Récolter le Suivi
besoin Gestion des
Driven Dev. avancement
livraisons
Tests unitaires Revue de code
Gestion Lab
virtuel
5. Gestion des
Environnements Tests
Récolter le
fonctionnels Analyse
besoin Débogage
avancé statique
Gestion des Tests de charge
ressources Validation
architecture Métriques de
Tests de code
Gestion des
Modélisation performance
anomalies
architecture Couverture de
Suivi Tests code
Gestion des d’intégration
avancement
documents
Test Driven Rapports tests
Gestion des Intégration
spécifications Development
continue
Tests unitaires Revue de code
Planification Gestion sources
6.
7. Gestion des
Environnements Tests
Récolter le
fonctionnels Analyse
besoin Débogage
avancé statique
Gestion des Tests de charge
Validation
ressources Métriques de
architecture
Tests de code
Gestion des Modélisation performance
anomalies architecture Couverture de
Suivi Tests code
Gestion des
avancement d’intégration
documents
Rapports tests
Gestion des Test Driven
spécifications Gestion sources Development
Intégration Tests unitaires Revue de code
Planification
continue
MSDN MSDN MSDN MSDN
Professional Premium Ultimate Test Professional
8. Qualité interne et
externe
Capacité Facilité
Fiabilité Efficacité Maintenabilité Portabilité
fonctionnelle d’utilisation
Comportement
Facilité de Facilité Facilité
Aptitude Maturité vis-à-vis du
compréhension d’analyse d’adaptation
temps
Tolérance aux Facilité Utilisation des Facilité de Facilité
Exactitude fautes d’apprentissage ressources modification d’installation
Possibilité de Facilité Conformité aux
Interopérabilité Stabilité Coexistence
récupération d’exploitation standards
Conformité aux
Sécurité Attractivité Facilité de test Interchangeable
standards
Conformité aux
Conformité Conformité aux Conformité aux
standards, accessibilité,
réglementaire standards standards
charte graphique
9. Gestion des
Environnements Tests
Récolter le
fonctionnels Analyse
besoin Débogage
avancé statique
Gestion des Tests de charge
ressources Validation
architecture Métriques de
Tests de code
Gestion des
Modélisation performance
anomalies
architecture Couverture de
Suivi Tests code
Gestion des d’intégration
avancement
documents
Test Driven Rapports tests
Gestion des Intégration
spécifications Development
continue
Gestion sources Tests unitaires Revue de code
Planification
Légende Bloqué Connu Actionné Optimisé
10. − Quelles méthodes et processus ?
− Comment les organiser, les sélectionner ?
− Comment définir les axes d’amélioration ?
11.
12. Qualité interne et
externe
Capacité Facilité
Fiabilité Efficacité Maintenabilité Portabilité
fonctionnelle d’utilisation
Comportement
Facilité de Facilité Facilité
Aptitude Maturité vis-à-vis du
compréhension d’analyse d’adaptation
temps
Tolérance aux Facilité Utilisation des Facilité de Facilité
Exactitude fautes d’apprentissage ressources modification d’installation
Possibilité de Facilité Conformité aux
Interopérabilité Stabilité Coexistence
récupération d’exploitation standards
Conformité aux
Sécurité Attractivité Facilité de test Interchangeable
standards
Conformité aux
Conformité Conformité aux Conformité aux
standards, accessibilité,
réglementaire standards standards
charte graphique
13. Gestion des
Environnements Tests
Récolter le
fonctionnels Analyse
besoin Débogage
avancé statique
Gestion des Tests de charge
ressources Validation
architecture Métriques de
Tests de code
Gestion des
Modélisation performance
anomalies
architecture Couverture de
Suivi Tests code
Gestion des d’intégration
avancement
documents
Test Driven Rapports tests
Gestion des Intégration
spécifications Development
continue
Gestion sources Tests unitaires Revue de code
Planification
Légende Bloqué Connu Actionné Optimisé
14. − Quelles méthodes et processus ?
− Comment les organiser, les sélectionner ?
− Comment définir les axes d’amélioration ?
− Comment Visual Studio ALM permet de les
mettre en œuvre ?
17. − Quelles méthodes et processus ?
− Comment les organiser, les sélectionner ?
− Comment définir les axes d’amélioration ?
− Comment Visual Studio ALM permet de les
mettre en œuvre ?
− Validation de l’architecture,
21. − Quelles méthodes et processus ?
− Comment les organiser, les sélectionner ?
− Comment définir les axes d’amélioration ?
− Comment Visual Studio ALM permet de les
mettre en œuvre ?
− Validation de l’architecture, analyse de code,
métriques de code,
22. Réserver les Dé réserver les
modifications modifications
affecter la tâche Effectuer la revue
Auditeur
Développeur
(Développeur)
Dé réserver, compléter, Réserver les
corriger les changements changements
Archiver les modifications Ré affecter la tâche
24. − Quelles méthodes et processus ?
− Comment les organiser, les sélectionner ?
− Comment définir les axes d’amélioration ?
− Comment Visual Studio ALM permet de les
mettre en œuvre ?
− Validation de l’architecture, analyse de code,
métriques de code, la revue de code,
Par brainstorming, consultation des plan d’assurance qualité, interviewsElles sont nombreuses il nous faut donc les trier, organiser, choisir !Je vais me concentrer sur les processus du cycle la vie de développement d’une application (SDLC) exit portefeuille projet, et choix exit Acceptance TDD, car confusions possibles avec TDD bien que complémentaires
Permet à la fois de se donner de voir un « état » des pratiques et processus et aussi de définir les axes d’améliorations/objectifs.Un classement par thème/type d’activité : Projet, Support au développement, Tests, Analyse et Mesure.Un empilage avec en-dessous les « fondations » : méthodes, pratiques plus faciles nécessitant moins d’expertise, d’expérience.Déclinable à plusieurs niveaux : l’entreprise, d’une équipe, d’un projet logiciel en particulier.
Par maitrise : facile pour démarrer, se justifie très bien sur un projet urgent avec un délai très courtPar consensus : permet d’obtenir en plus l’adhésion de l’équipe, très adapté aux équipes agiles (choix au Sprint 0, puis ajustement pendant les Rétrospectives)Par valeur apporté :calcul d’une vraie valeur, ROI apporté par la pratique. Exemple sur l’analyse de code : Sur l’absence de commentaires, le suivi peut apporter des bénéfices sur la maintenance (relativement floue et lointain) En revanche la comparaison d’égalité entre 2 flottants, peut provoquer une défaillance très rapidement. Si on est sur un logiciel de calcul de contraintes mécaniques, la valeur ajouté sera importante!Réponds à quelle intérêt, justificationSelon l’outillage : cela répond au comment. Il faut au moins vérifier que l’on peut l’outiller (Effectuer manuellement l’ensemble des taches d’une intégration continue n’aurait pas de sens ! Trop chronophage donc pas de ROI)Selon les caractéristiques, cela répond aussi comment atteindre l’objectif final : livré une application/service qui répond au besoin et satisfait l’Utilisateur.
Mettre en avant tous ceux outillés automatisés par VS ALM par version MSDN Developer, Premium, Ultimate, Test managementCe n’est pas la cartographie des fonctions VS ALM : - il y en a d’autres : Tests impactés, Lab management, - et imprécisions selon la technologie : exemple TestsU sur BDD uniquement dans Premium.Si Ultimate et Premium, nous serons pas limité par l’outil !Justifications aux limites « planification », gestion de ressources : MS Project à partir du Premium (intégration avec ProjectServer en Ultimate) « Récolter le besoin » : Sketch Flow inclut en plus dans Ultimate « Modélisation » : En lecture seul avec Premium « Tests d’intégration » : on peut tester le sous jacent de l’IHM (MVC, MVVM) ou API de la dll « Tests de performance » : Profilage de performance, mais pas « Tests web de performance » « Tests unitaires » : le premium ajoute ceux sur la base de donnéeshttp://www.microsoft.com/france/visual-studio/produits/features.aspx
Avantage : permet d’aller aussi plus finement dans le choix de certaines pratiques et plus particulièrement sur règles de développement/architectureLa qualité importante est celle perçue par l’utilisateur. Elle est souvent mesurer par une disponibilité du service et surtout par des questionnaires de satisfaction. Elle est donc relativement subjective. Elle va très souvent refléter la qualité interne et externe.Attractivité est la plus évidente vers la qualité perçue.Expliquer le passage de « comportement vis-à-vis du temps » vers « tests de performance » (profiling). et le passage de la « tolérance aux fautes » vers la gestion des exceptions modélisation architecture et « facilité de test » vers « Test DrivenDevelopment »Défaut du modèle les caractéristiques et périmètre sont parfois peu clair dans le comment mesurer ? et le quoi (cf Maturité),Faire avec en attendant la norme du CISQ qui va combler le « vide ». Il standardisent la manière de réaliser les vérifications, les mesures, établir les indicateurs. Consortium for IT Software Quality. http://www.it-cisq.org/Cela se traduitdans les normes ISO SQuaRE (ISO 25000 series). La 25010 développe/améliore la 9126-1.Tout n’est pas encore disponible, surtoutsur les techniques mesures.
Donner une couleur à chacun : Connu (équipe(s) formées), Actionné (outillé), Optimisé (automatisé, adapté, maitrisé), Bloqué (problème à résoudre (technique ou processus défaillant))Coin bas-gauche : état précédent. Coin Haut droit : état cible.Axes : Investir à une meilleure maitrise sur certains processus, actionner une nouvelle pratiqueRécolter le besoin : actuellement nous avons une autre personne (équipe AMOA) qui assure cette récolte des besoins. On a donc pas accès au vrai besoin et on livre pas les fonctionnalités souhaitées
Je vais prendre un exemple simple (contexte très favorable, env .Net, abonnements MSDN Ultimate) 1ère étape : déterminer les axes processus à actionner 2ème étape : montrer concrètement comment le faire avec Visual Studio et TFS 2010.
Site annexe pour vendre t-shirt, objets d’espionnages, … Adresse du site web : http://tfspsdemo:1234
(Revoir les faux amis pour éviter des hésitations)
Pas de précédent…Au milieu, l’objectif en cours d’atteinte lors de notre premier cycle (sélectionné par maitrise de l’équipe, outillage principalement, Quick Win)Objectifs à la fin du prochain cycle, là vraiment pour servir l’atteinte de nos objectifs qualité ! (consensus et adhésion de l’équipe sur ces objectifs)
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :Analyse de code, Les métriques de code, La revue de code,Les tests unitaires automatisés avec PEX.
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :Validation de l’architecture au cours du développement
Lister exactement et apprendre les limiteshttp://en.wikipedia.org/wiki/Cyclomatic_complexity http://en.wikipedia.org/wiki/Halstead_complexity_measureshttp://blogs.msdn.com/b/codeanalysis/archive/2007/11/20/maintainability-index-range-and-meaning.aspx
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :Analyse de code, Les métriques de code
Le développeur crée une réservationLe développeur affecte la tâche à l’auditeurL’auditeur dé réserve les modificationsL’auditeur indique ses observations dans le code en commentaire,L’auditeur enregistre ses modifications dans la réservation,L’auditeur réaffecte la tache au développeurLe développeur dé réserve, effectue les modificationsLe développeur archive les modifications en attenteSera bien plus facile avec VS Next car un type de WI spécifique est créé pour demander la revue à plusieurs membres simultanément. (il y a aura aussi un outil de Feeback pour demander l’avis aux fonctionnels, utilisateurs)
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :La revue de code,
http://research.microsoft.com/pex/ Explore le code , il cherche à passer par tous les chemins et à tester les limites de la méthode la faire « Crasher »Moles utilise la technique des délégués pour détourner l’accès à une méthode.Remarque : il est intéressant de l’associer avec le Code contracts car il les prends en compte automatiquement (on peut aussi créer de contrats manquants)
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :Les tests unitaires automatisés avec PEX.
Les installations nécessaires sur l’agent pour :Analyse de code : Visual StudioMétriques de code : Code Metrics Power ToolValidation architecture : Visual StudioTests unitaires PEX : ajouter les assemblies public ou installer PEXIntégrer code metrics : http://geekswithblogs.net/jakob/archive/2011/01/30/integrating-code-metrics-in-tfs-2010-build.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+JakobEhn+%28Jakob+Ehn%29
Objectif : montrer comment Visual Studio 2010 nous permet d’accélérer la mise en place des processus :Intégration des processus précédent dans la Build (sauf la revue de code bien-sur).