SlideShare une entreprise Scribd logo
Open-REX – Utilisation des méthodes agiles




                25/03/2010
            Clément BERTHELOT
Licence d'utilisation

•   Cette présentation vous est fournie sous licence Creative Commons
    Attribution Share Alike


•   Vous etes libres :
     – De reproduire, distribuer et communiquer cette création au public
•   Selon les conditions suivantes :
     – Paternité. Vous devez citer le nom des auteurs originaux mais pas d'une
        maniere qui suggérerait qu'ils vous soutiennent ou approuvent votre
        utilisation de l'œuvre.
     – A chaque réutilisation ou distribution de cette création, vous devez faire
        apparaitre clairement au public les conditions contractuelles de sa mise a
        disposition sous licence identique Creative Commons Share Alike.
     – Chacune de ces conditions peut etre levée si vous obtenez l'autorisation
        du titulaire des droits sur cette œuvre.
     – Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur
        ou des auteurs.
Open-REX – Utilisation des méthodes agiles

• Contexte du projet
   – Présentation rapide du projet
   – Organisation de l'équipe projet
   – Quelques pré-requis pour faire de l'agile


• Focus sur une itération en mode agile
   – Principales phases d'une itération
   – Organisation de l'équipe MOE
   – Les outils


• Retour sur l'utilisation des méthodes agiles
   – Au fil des itérations
   – Les phases de livraison
Présentation du projet

• Portail web d'un grand opérateur d'internet et des
  annuaires
   –   Gestion des produits
   –   Gestion de leurs comptes
   –   Suivi des audiences de leurs produits
   –   Informer les professionnels de l'entreprise


• Application tres évolutive
   – Mise en production tous les 3 mois
   – Besoin tres changeant; nécessité de reprioriser fréquemment les
     tâches a faire
   – De nombreux partenaires


• Organisation de l'équipe
Organisation de l'équipe
Quelques pré-requis



• Une équipe motivée et acceptant de changer les habitudes

• Des processus clairs, établis par tous et connus de tous

• Une MOE et une AMOA tres rapprochées

• Une plateforme d'intégration continue fonctionnelle
Les phases du mode agile



• Quelques définitions de base :

   – Chaque livraison en recette est un sprint


   – Un sprint est une succession de n itérations


   – Une itération débute par une présentation de User Stories et se
     termine par une rétrospective de l'itération
Les phases du mode agile

• Schéma du cycle d'une itération
Les phases du mode agile

• Quelle durée pour une itération ?

• Plus c'est court, plus c'est bon
   – Vrai au début
   – 1 semaine pendant la phase d'initiation
   – Permet de répéter rapidement les différents rituels de l'agile



• Ensuite, nous sommes passés sur 15 jours
La présentation des User Stories



• Ensemble limité d'exigences qui répondent a un besoin
  spécifique
   – En tant que « utilisateur », je veux « action » pour « resultat »


• Chaque US a une valeur métier MOA et une complexité
  estimée (estimation grosse maille) par le TechLead et le
  Bureau d'Etude

• Toute US est livrée avec un lot de tests automatisés
  souhaités par la MOA
Evaluation de la complexité

• Pas d'évaluation en jours/homme (trop dépendant de la
  personne qui va développer)

• Deux nouveaux indicateurs
   – La complexité
      • 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ?
   – La vélocité
      • Nombre de points réalisés pendant une itération


• Principe : une tâche a la meme complexité pendant toute
  la durée du projet. C'est la vélocité qui varie

• La complexité est évaluée par toute la MOE
Choix des US par la MOE

• C'est la MOE qui « choisit » le nombre de US qu'elle peut
  traiter (en respectant la priorisation MOA)

• La MOE s'engage a terminer les US choisies
   – Définir ensemble MOA/MOE ce que « terminé » signifie
   – Ex : commité, tests unitaires OK, couverture de test OK, tests
     fonctionnels automatisés OK, Environnement de démonstration
     bouchonné, ...


• Prise en compte des tâches techniques supplémentaires
   – Ex : Portlets d'administration, Mise en place d'une PIC,
     amélioration de performances, ...
• Répartition des tâches dans l'équipe
   – Faire tourner les sujets, binomage, ...
Agile au quotidien – Organisation plateau

• Le backlog indexe toutes les US
• Les US sont documentées dans un wiki, accompagnés des
  tests de recette
• Toute évolution est faite sous forme de US
• Tout bug est répertorié dans un bugtracker
• Les tableaux post-it
   –   Road map
   –   Tableau de suivi
   –   Planning de livraison
   –   Zoom suivi MOE


• Question : de quels tableaux se sert-on vraiment ?
Agile au quotidien – Organisation plateau

• De quels tableaux se sert-on vraiment ?
   –   Road map [AMOA]
   –   Tableau de suivi [personne]
   –   Planning de livraison [tout le monde]
   –   Zoom suivi MOE [MOE]


  → Presque tous

• Quels avantages
   – Une vision du projet en grand format partagée par tous
   – Facile de gérer le travail a faire de l'équipe sur une itération
Agile au quotidien – Organisation MOE

• Ensemble des tâches affichées sur le tableau de suivi
   – Zoom détaillé sur les tâches MOE proche de l'équipe


• Stand-up meeting tous les matins
   – Uniquement MOE + coach AMOA si une annonce a faire
   – Chaque développeur indique ce qu'il a fait hier, ce qu'il prévoit de
     faire aujourd'hui, s'il rencontre des problemes
   – Proposition de binomage (Diffusion de la connaissance, meilleure
     ambiance)
   – Tres bon suivi au quotidien pour le TechLead et le chef de projet
Agile au quotidien – Les outils

• La météo du projet avec Hudson.
Agile au quotidien – Les outils

• Les Tests Unitaires
   – Implémentation fake de tous les services extérieurs et des services
     Liferay « service buildé »
   – Services bouchonnés au plus proche de la réalité
       • Bases de données de test
       • Fichiers xml ou html pour les requetes http
       • Utilisation de yaml pour les webservices
Agile au quotidien – Les outils - yaml
Agile au quotidien – Les outils - yaml

• Classe de mapping DTOYml
Agile au quotidien – Les outils - yaml

• Exemple de bouchon
  – Méthode remplaçante du service réel
Agile au quotidien – Les outils - yaml

• Exemple de bouchon
  – Méthode de lecture du fichier yaml
Agile au quotidien – Les outils - yaml

• Exemple de bouchon
  – Mapping vers l'objet reel
Agile au quotidien – Les outils - yaml

• Exemple de classe Manager
Agile au quotidien – Les outils

• Les Tests Unitaires
   – Implémentation fake de tout les services extérieurs et des services
     Liferay « service buildés »
   – Services bouchonnés au plus proche de la réalité
       • Bases de données de test
       • Fichiers xml ou html pour les requete http
       • Utilisation de yaml pour les webservices


• Les bouchons ont une double utilité
   – Bouchons pour les tests unitaires
   – Bouchons pour l'environnement de démo (données AMOA)


• Possibilité de switcher entre environnements bouchon ou
  réel par fichier properties. Utilisation de Managers
Agile au quotidien – Les outils

• Les tests fonctionnels automatisés avec GreenPepper
   – Tests écrits en collaboration MOE/AMOA
   – Fixtures GP rédigées dans un wiki et transformées en java
   – Tests principalement selenium [Projet d'agrégation de données –
     l'IHM permet de valider un grand nombre de regles fonctionnelles]
• Attention :
   – On ne peut pas tout tester, mais ça réduit la charge de l'équipe qui
     s'occupe de la recette
   – Question a se poser avant l'écriture d'un test :
       • La répétition manuelle de ce test en recette sera-t-elle toujours plus
         rapide que le temps passé a l'automatiser ?
       • Cette fonctionnalité ne sera-t-elle pas déja testée autrement ?


• Fonctionnement basique de GP
   – Ecriture des fixtures grâce a quelques mots clés
Agile au quotidien – Les outils - GP

• Do with : permet de créer une fixture = un test java




• Check : Vérifie une ou plusieurs valeur




• List of : permet au check de tester une liste de valeur
Agile au quotidien – Les outils - GP

• Do with : permet de créer une fixture = un test java




• Check : Vérifie une ou plusieurs valeurs




• Set of : permet au check de tester un ensemble de valeurs
Agile au quotidien – Les outils

• Les tests fonctionnels automatisés avec GreenPepper
   – Tests écrits en collaboration MOE/AMOA
   – Fixtures GP rédigées dans un wiki et transformées en java
   – Tests principalement selenium


• Fonctionnement basique de GP
   – Ecriture des fixtures grâce a quelques mots clés
   – Enrichissement par notre propre grammaire complémentaire
      • Plus simple pour l'AMOA
Agile au quotidien – Les outils - GP

• Grammaire specifique au projet
Agile au quotidien – Les outils

• Les tests fonctionnels automatisés avec GreenPepper
   – Tests écrits en collaboration MOE/AMOA
   – Fixtures GP rédigées dans un wiki et transformées en java
   – Tests principalement selenium


• Fonctionnement basique de GP
   – Ecriture des fixtures grâce a quelques mots clés
   – Enrichissement par notre propre grammaire complémentaire
      • Plus simple pour l'AMOA
   – injection des données utiles et exécution dans un environnement
     fermé.
Fin d'itération - Démo

• Préparation de la démo
   – Vérification sur la PIC des exigences demandées avec l'AMOA
     concernée
   – Déploiement sur une machine spécifique a partir de la PIC
   – La machine de démo servira de plateforme de test, bouchonnée
     avec les données de la MOA pendant l'itération suivante
   – Présentation démo dans la MOE pour partage de connaissances


• Démo + Ptit dej = tout le plateau réuni
   –   US pour validation / US pour background avancement
   –   Validation des exigences MOA
   –   Calcul du niveau de complexité développé sur l'itération
   –   Report de la complexité dans le burndown chart
Burndown chart
Fin d'itération - Rétrospective



• Note d'itération → humeur de l'équipe
• Annonces du pilote du projet
• Keep/drop/start/ ?
Fin d'itération - Rétrospective



•   Note d'itération → humeur de l'équipe
•   Annonces du pilote du projet
•   Keep/drop/start/ ?
•   PDCA




• Exemple d'action a suivre:
    – Chaque développeur relit avec l'AMOA concernée par la US les
      exigences demandées avant de passer la US a « FAIT »
Fin de sprint - Livraison


• Par la livraison de chaque sprint, le mode agile doit
  permettre d'aller en production avant l'ouverture de
  service.
   – Éprouver les processus de mise en production
   – Ouverture de flux
• Difficulté majeure :
   – L'intégration, la recette, la préprod et la prod sont faites par trois
     équipes différentes
     → Nécessité d'avoir des processus clairs et d'automatiser le plus
     de traitements possible
   – Pb : pour résoudre de nombreux problemes lors des mises en
     préprod/prod la MOE devrait avoir beaucoup de droits sur un grand
     nombre de machines → Droits impossibles a obtenir et énorme
     perte de temps lors des mises en production
Ma conclusion sur l'utilisation de l'agile

• Les avantages
   – Dév au fil de l'eau → Idées de la MOA encore fraiches
   – Peu de gros bugs livrés
   – La majorité des développeurs connaissent bien plus que ce qu'ils
     ont développé
   – Avancement régulier et visible du projet
   – Communication facilitée. Problemes rapidement remontés au plus
     haut niveau de hiérarchie
   – Conception émergente – on fait au plus simple


• Les inconvénients
   –   Environnements de développement complexe
   –   Conception émergente – refactoring parfois dangereux
   –   Rythme différent de celui de beaucoup de partenaires
   –   Difficultés a amener de l'agilité au dela du plateau de dév.

Contenu connexe

Tendances (20)

PDF
L'Amélioration Continue : une pratique qui profite à tous
LITTLE FISH
 
PDF
Value Stream Mapping: How to Visualize Work & Align Leadership for Organizati...
TKMG, Inc.
 
PDF
Gestion du temps marcel nizon methodes et outils
MARCEL NIZON, Marcel
 
PDF
Turning Up the Magic in PI Planning
Em Campbell-Pretty
 
PPTX
Presentaion gestion de temps
Alaeddine Mannai
 
PPTX
CONDUITE DE REUNION.pptx
mohamed ouanini
 
PDF
OKR (Objective Key Results) Best Practices
William Chin
 
PDF
Kanban for Portfolio Management
Gaetano Mazzanti
 
PPT
Mon cours Agile scrum.ppt
amani75494
 
PPTX
Gestion de projets agiles avec scrum
Pierre E. NEIS
 
PPT
Ppt 004 techniques_anim_reunions
Florine Clomegah
 
PDF
Introduction to Lean and Kanban
Rajesh Viswanathan
 
PPTX
Le lean outil d'optimisation dans le laboratoire (fiches outils)
Pasteur_Tunis
 
PDF
Agile contracts
CoachingSaga
 
PPTX
Atelier 1h la gestion du temps du chef d'entreprise
Claudie LEPRESTRE ☼ OPTIM assistance®
 
PPTX
Introduction to Kanban
TO THE NEW | Technology
 
PPTX
Flow Metrics: What They Are & Why You Need Them
Tasktop
 
PPTX
Kanban Cadences & Information Flow
David Anderson
 
PDF
522 - La boîte à outils des formateurs (1).pdf
Youssef795209
 
PDF
Workshop AssessFirst 360°
David BERNARD
 
L'Amélioration Continue : une pratique qui profite à tous
LITTLE FISH
 
Value Stream Mapping: How to Visualize Work & Align Leadership for Organizati...
TKMG, Inc.
 
Gestion du temps marcel nizon methodes et outils
MARCEL NIZON, Marcel
 
Turning Up the Magic in PI Planning
Em Campbell-Pretty
 
Presentaion gestion de temps
Alaeddine Mannai
 
CONDUITE DE REUNION.pptx
mohamed ouanini
 
OKR (Objective Key Results) Best Practices
William Chin
 
Kanban for Portfolio Management
Gaetano Mazzanti
 
Mon cours Agile scrum.ppt
amani75494
 
Gestion de projets agiles avec scrum
Pierre E. NEIS
 
Ppt 004 techniques_anim_reunions
Florine Clomegah
 
Introduction to Lean and Kanban
Rajesh Viswanathan
 
Le lean outil d'optimisation dans le laboratoire (fiches outils)
Pasteur_Tunis
 
Agile contracts
CoachingSaga
 
Atelier 1h la gestion du temps du chef d'entreprise
Claudie LEPRESTRE ☼ OPTIM assistance®
 
Introduction to Kanban
TO THE NEW | Technology
 
Flow Metrics: What They Are & Why You Need Them
Tasktop
 
Kanban Cadences & Information Flow
David Anderson
 
522 - La boîte à outils des formateurs (1).pdf
Youssef795209
 
Workshop AssessFirst 360°
David BERNARD
 

En vedette (20)

PPTX
MMA SMoX presentation slides by Rex Briggs
Christie Crockett
 
PDF
Seminaire Portail Open Source
Ippon
 
PDF
Présentation Rex GWT 2.0
Ippon
 
PDF
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Ippon
 
PDF
Scrum et forfait
Ippon
 
PDF
Agile Tour Nantes 2011 - Bertrand pinel les projets au forfait - scrum but....
Association Agile Nantes
 
PDF
Hibernate vs le_cloud_computing
Ippon
 
KEY
CDI par la pratique
Ippon
 
PDF
Atelier TDD (Test Driven Development)
Ippon
 
PDF
JPA avec Cassandra, grâce à Achilles
Ippon
 
PDF
Offre 2015 numeriq_ippon
Ippon
 
PDF
Présentation Ippon DGA Liferay Symposium 2011
Ippon
 
PDF
Stateful is beautiful
Ippon
 
PDF
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Ippon
 
PDF
Formation Usine Logicielle gratuite par Ippon 2014
Ippon
 
PDF
Présentation du retour d'expérience sur Git
Ippon
 
PDF
Formation html5 CSS3 offerte par ippon 2014
Ippon
 
PDF
Mule ESB Summit 2010 avec Ippon
Ippon
 
PDF
Formation Gratuite Total Tests par les experts Java Ippon
Ippon
 
PDF
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Ippon
 
MMA SMoX presentation slides by Rex Briggs
Christie Crockett
 
Seminaire Portail Open Source
Ippon
 
Présentation Rex GWT 2.0
Ippon
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Ippon
 
Scrum et forfait
Ippon
 
Agile Tour Nantes 2011 - Bertrand pinel les projets au forfait - scrum but....
Association Agile Nantes
 
Hibernate vs le_cloud_computing
Ippon
 
CDI par la pratique
Ippon
 
Atelier TDD (Test Driven Development)
Ippon
 
JPA avec Cassandra, grâce à Achilles
Ippon
 
Offre 2015 numeriq_ippon
Ippon
 
Présentation Ippon DGA Liferay Symposium 2011
Ippon
 
Stateful is beautiful
Ippon
 
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Ippon
 
Formation Usine Logicielle gratuite par Ippon 2014
Ippon
 
Présentation du retour d'expérience sur Git
Ippon
 
Formation html5 CSS3 offerte par ippon 2014
Ippon
 
Mule ESB Summit 2010 avec Ippon
Ippon
 
Formation Gratuite Total Tests par les experts Java Ippon
Ippon
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Ippon
 
Publicité

Similaire à Presentation Rex Methodes Agiles (20)

PPTX
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL
 
PPTX
REX Scrum mature
Association Agile Nantes
 
PPT
Methodologie projet
Benjamin ACHAB
 
PDF
20110519 cara tests_agiles_grenoble_all
CARA_Lyon
 
PPTX
Slenium_Certififcation_patie1 A4Q presenter par le formateur
ssuserdc0ca3
 
PPT
cours-gratuit.com--id-12146.ppt
FatiMa243348
 
PPTX
Cerberus Testing
CIVEL Benoit
 
PPTX
Performance ug#1
Marc Bojoly
 
PDF
présentation sur la gestion des projets.pdf
ghiz-
 
PPTX
L’informatique efficience
Michel Bruchet
 
PPTX
Automatisation des tests - objectifs et concepts - partie 2
Christophe Rochefolle
 
PDF
Lunch learn 5 sep2013
Marc-Eric LaRocque
 
ODP
Forum PHP 2014 day 1
Olivier (DaffyDuke) Duquesne
 
PDF
La revue de code : agile, lean, indispensable !
Lucian Precup
 
PDF
Valider par des tests - Blend
Christophe Villeneuve
 
PDF
Université de la performance
pkernevez
 
PDF
Dev opsday case study
Radoine Douhou
 
PDF
1.pdf
DabiYonko
 
PPTX
De la livraison continue dans mon organisation?
Goood!
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL
 
REX Scrum mature
Association Agile Nantes
 
Methodologie projet
Benjamin ACHAB
 
20110519 cara tests_agiles_grenoble_all
CARA_Lyon
 
Slenium_Certififcation_patie1 A4Q presenter par le formateur
ssuserdc0ca3
 
cours-gratuit.com--id-12146.ppt
FatiMa243348
 
Cerberus Testing
CIVEL Benoit
 
Performance ug#1
Marc Bojoly
 
présentation sur la gestion des projets.pdf
ghiz-
 
L’informatique efficience
Michel Bruchet
 
Automatisation des tests - objectifs et concepts - partie 2
Christophe Rochefolle
 
Lunch learn 5 sep2013
Marc-Eric LaRocque
 
Forum PHP 2014 day 1
Olivier (DaffyDuke) Duquesne
 
La revue de code : agile, lean, indispensable !
Lucian Precup
 
Valider par des tests - Blend
Christophe Villeneuve
 
Université de la performance
pkernevez
 
Dev opsday case study
Radoine Douhou
 
1.pdf
DabiYonko
 
De la livraison continue dans mon organisation?
Goood!
 
Publicité

Plus de Ippon (10)

PDF
Quoi de neuf pour JHipster en 2016
Ippon
 
PDF
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Ippon
 
PPTX
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Ippon
 
PDF
Multi criteria queries on a cassandra application
Ippon
 
PDF
Agilité, n’oublions pas les valeurs
Ippon
 
PDF
Formation Spring Avancé gratuite par Ippon 2014
Ippon
 
PDF
Formation GIT gratuite par ippon 2014
Ippon
 
PDF
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
Ippon
 
PDF
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Ippon
 
PDF
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Ippon
 
Quoi de neuf pour JHipster en 2016
Ippon
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Ippon
 
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Ippon
 
Multi criteria queries on a cassandra application
Ippon
 
Agilité, n’oublions pas les valeurs
Ippon
 
Formation Spring Avancé gratuite par Ippon 2014
Ippon
 
Formation GIT gratuite par ippon 2014
Ippon
 
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
Ippon
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Ippon
 
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Ippon
 

Presentation Rex Methodes Agiles

  • 1. Open-REX – Utilisation des méthodes agiles 25/03/2010 Clément BERTHELOT
  • 2. Licence d'utilisation • Cette présentation vous est fournie sous licence Creative Commons Attribution Share Alike • Vous etes libres : – De reproduire, distribuer et communiquer cette création au public • Selon les conditions suivantes : – Paternité. Vous devez citer le nom des auteurs originaux mais pas d'une maniere qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'œuvre. – A chaque réutilisation ou distribution de cette création, vous devez faire apparaitre clairement au public les conditions contractuelles de sa mise a disposition sous licence identique Creative Commons Share Alike. – Chacune de ces conditions peut etre levée si vous obtenez l'autorisation du titulaire des droits sur cette œuvre. – Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.
  • 3. Open-REX – Utilisation des méthodes agiles • Contexte du projet – Présentation rapide du projet – Organisation de l'équipe projet – Quelques pré-requis pour faire de l'agile • Focus sur une itération en mode agile – Principales phases d'une itération – Organisation de l'équipe MOE – Les outils • Retour sur l'utilisation des méthodes agiles – Au fil des itérations – Les phases de livraison
  • 4. Présentation du projet • Portail web d'un grand opérateur d'internet et des annuaires – Gestion des produits – Gestion de leurs comptes – Suivi des audiences de leurs produits – Informer les professionnels de l'entreprise • Application tres évolutive – Mise en production tous les 3 mois – Besoin tres changeant; nécessité de reprioriser fréquemment les tâches a faire – De nombreux partenaires • Organisation de l'équipe
  • 6. Quelques pré-requis • Une équipe motivée et acceptant de changer les habitudes • Des processus clairs, établis par tous et connus de tous • Une MOE et une AMOA tres rapprochées • Une plateforme d'intégration continue fonctionnelle
  • 7. Les phases du mode agile • Quelques définitions de base : – Chaque livraison en recette est un sprint – Un sprint est une succession de n itérations – Une itération débute par une présentation de User Stories et se termine par une rétrospective de l'itération
  • 8. Les phases du mode agile • Schéma du cycle d'une itération
  • 9. Les phases du mode agile • Quelle durée pour une itération ? • Plus c'est court, plus c'est bon – Vrai au début – 1 semaine pendant la phase d'initiation – Permet de répéter rapidement les différents rituels de l'agile • Ensuite, nous sommes passés sur 15 jours
  • 10. La présentation des User Stories • Ensemble limité d'exigences qui répondent a un besoin spécifique – En tant que « utilisateur », je veux « action » pour « resultat » • Chaque US a une valeur métier MOA et une complexité estimée (estimation grosse maille) par le TechLead et le Bureau d'Etude • Toute US est livrée avec un lot de tests automatisés souhaités par la MOA
  • 11. Evaluation de la complexité • Pas d'évaluation en jours/homme (trop dépendant de la personne qui va développer) • Deux nouveaux indicateurs – La complexité • 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ? – La vélocité • Nombre de points réalisés pendant une itération • Principe : une tâche a la meme complexité pendant toute la durée du projet. C'est la vélocité qui varie • La complexité est évaluée par toute la MOE
  • 12. Choix des US par la MOE • C'est la MOE qui « choisit » le nombre de US qu'elle peut traiter (en respectant la priorisation MOA) • La MOE s'engage a terminer les US choisies – Définir ensemble MOA/MOE ce que « terminé » signifie – Ex : commité, tests unitaires OK, couverture de test OK, tests fonctionnels automatisés OK, Environnement de démonstration bouchonné, ... • Prise en compte des tâches techniques supplémentaires – Ex : Portlets d'administration, Mise en place d'une PIC, amélioration de performances, ... • Répartition des tâches dans l'équipe – Faire tourner les sujets, binomage, ...
  • 13. Agile au quotidien – Organisation plateau • Le backlog indexe toutes les US • Les US sont documentées dans un wiki, accompagnés des tests de recette • Toute évolution est faite sous forme de US • Tout bug est répertorié dans un bugtracker • Les tableaux post-it – Road map – Tableau de suivi – Planning de livraison – Zoom suivi MOE • Question : de quels tableaux se sert-on vraiment ?
  • 14. Agile au quotidien – Organisation plateau • De quels tableaux se sert-on vraiment ? – Road map [AMOA] – Tableau de suivi [personne] – Planning de livraison [tout le monde] – Zoom suivi MOE [MOE] → Presque tous • Quels avantages – Une vision du projet en grand format partagée par tous – Facile de gérer le travail a faire de l'équipe sur une itération
  • 15. Agile au quotidien – Organisation MOE • Ensemble des tâches affichées sur le tableau de suivi – Zoom détaillé sur les tâches MOE proche de l'équipe • Stand-up meeting tous les matins – Uniquement MOE + coach AMOA si une annonce a faire – Chaque développeur indique ce qu'il a fait hier, ce qu'il prévoit de faire aujourd'hui, s'il rencontre des problemes – Proposition de binomage (Diffusion de la connaissance, meilleure ambiance) – Tres bon suivi au quotidien pour le TechLead et le chef de projet
  • 16. Agile au quotidien – Les outils • La météo du projet avec Hudson.
  • 17. Agile au quotidien – Les outils • Les Tests Unitaires – Implémentation fake de tous les services extérieurs et des services Liferay « service buildé » – Services bouchonnés au plus proche de la réalité • Bases de données de test • Fichiers xml ou html pour les requetes http • Utilisation de yaml pour les webservices
  • 18. Agile au quotidien – Les outils - yaml
  • 19. Agile au quotidien – Les outils - yaml • Classe de mapping DTOYml
  • 20. Agile au quotidien – Les outils - yaml • Exemple de bouchon – Méthode remplaçante du service réel
  • 21. Agile au quotidien – Les outils - yaml • Exemple de bouchon – Méthode de lecture du fichier yaml
  • 22. Agile au quotidien – Les outils - yaml • Exemple de bouchon – Mapping vers l'objet reel
  • 23. Agile au quotidien – Les outils - yaml • Exemple de classe Manager
  • 24. Agile au quotidien – Les outils • Les Tests Unitaires – Implémentation fake de tout les services extérieurs et des services Liferay « service buildés » – Services bouchonnés au plus proche de la réalité • Bases de données de test • Fichiers xml ou html pour les requete http • Utilisation de yaml pour les webservices • Les bouchons ont une double utilité – Bouchons pour les tests unitaires – Bouchons pour l'environnement de démo (données AMOA) • Possibilité de switcher entre environnements bouchon ou réel par fichier properties. Utilisation de Managers
  • 25. Agile au quotidien – Les outils • Les tests fonctionnels automatisés avec GreenPepper – Tests écrits en collaboration MOE/AMOA – Fixtures GP rédigées dans un wiki et transformées en java – Tests principalement selenium [Projet d'agrégation de données – l'IHM permet de valider un grand nombre de regles fonctionnelles] • Attention : – On ne peut pas tout tester, mais ça réduit la charge de l'équipe qui s'occupe de la recette – Question a se poser avant l'écriture d'un test : • La répétition manuelle de ce test en recette sera-t-elle toujours plus rapide que le temps passé a l'automatiser ? • Cette fonctionnalité ne sera-t-elle pas déja testée autrement ? • Fonctionnement basique de GP – Ecriture des fixtures grâce a quelques mots clés
  • 26. Agile au quotidien – Les outils - GP • Do with : permet de créer une fixture = un test java • Check : Vérifie une ou plusieurs valeur • List of : permet au check de tester une liste de valeur
  • 27. Agile au quotidien – Les outils - GP • Do with : permet de créer une fixture = un test java • Check : Vérifie une ou plusieurs valeurs • Set of : permet au check de tester un ensemble de valeurs
  • 28. Agile au quotidien – Les outils • Les tests fonctionnels automatisés avec GreenPepper – Tests écrits en collaboration MOE/AMOA – Fixtures GP rédigées dans un wiki et transformées en java – Tests principalement selenium • Fonctionnement basique de GP – Ecriture des fixtures grâce a quelques mots clés – Enrichissement par notre propre grammaire complémentaire • Plus simple pour l'AMOA
  • 29. Agile au quotidien – Les outils - GP • Grammaire specifique au projet
  • 30. Agile au quotidien – Les outils • Les tests fonctionnels automatisés avec GreenPepper – Tests écrits en collaboration MOE/AMOA – Fixtures GP rédigées dans un wiki et transformées en java – Tests principalement selenium • Fonctionnement basique de GP – Ecriture des fixtures grâce a quelques mots clés – Enrichissement par notre propre grammaire complémentaire • Plus simple pour l'AMOA – injection des données utiles et exécution dans un environnement fermé.
  • 31. Fin d'itération - Démo • Préparation de la démo – Vérification sur la PIC des exigences demandées avec l'AMOA concernée – Déploiement sur une machine spécifique a partir de la PIC – La machine de démo servira de plateforme de test, bouchonnée avec les données de la MOA pendant l'itération suivante – Présentation démo dans la MOE pour partage de connaissances • Démo + Ptit dej = tout le plateau réuni – US pour validation / US pour background avancement – Validation des exigences MOA – Calcul du niveau de complexité développé sur l'itération – Report de la complexité dans le burndown chart
  • 33. Fin d'itération - Rétrospective • Note d'itération → humeur de l'équipe • Annonces du pilote du projet • Keep/drop/start/ ?
  • 34. Fin d'itération - Rétrospective • Note d'itération → humeur de l'équipe • Annonces du pilote du projet • Keep/drop/start/ ? • PDCA • Exemple d'action a suivre: – Chaque développeur relit avec l'AMOA concernée par la US les exigences demandées avant de passer la US a « FAIT »
  • 35. Fin de sprint - Livraison • Par la livraison de chaque sprint, le mode agile doit permettre d'aller en production avant l'ouverture de service. – Éprouver les processus de mise en production – Ouverture de flux • Difficulté majeure : – L'intégration, la recette, la préprod et la prod sont faites par trois équipes différentes → Nécessité d'avoir des processus clairs et d'automatiser le plus de traitements possible – Pb : pour résoudre de nombreux problemes lors des mises en préprod/prod la MOE devrait avoir beaucoup de droits sur un grand nombre de machines → Droits impossibles a obtenir et énorme perte de temps lors des mises en production
  • 36. Ma conclusion sur l'utilisation de l'agile • Les avantages – Dév au fil de l'eau → Idées de la MOA encore fraiches – Peu de gros bugs livrés – La majorité des développeurs connaissent bien plus que ce qu'ils ont développé – Avancement régulier et visible du projet – Communication facilitée. Problemes rapidement remontés au plus haut niveau de hiérarchie – Conception émergente – on fait au plus simple • Les inconvénients – Environnements de développement complexe – Conception émergente – refactoring parfois dangereux – Rythme différent de celui de beaucoup de partenaires – Difficultés a amener de l'agilité au dela du plateau de dév.