Presentation Rex Methodes Agiles

  • View
    2.531

  • Download
    1

Embed Size (px)

DESCRIPTION

Présentation Ippon Technologies Rex Méthodes Agiles du jeudi 25/03/2010www.ippon.frblog.ippon.fr

Text of Presentation Rex Methodes Agiles

  • 1. Open-REX Utilisation des mthodes agiles25/03/2010Clment BERTHELOT

2. Licence dutilisation Cette prsentation vous est fournie sous licence Creative CommonsAttribution Share Alike Vous etes libres : De reproduire, distribuer et communiquer cette cration au public Selon les conditions suivantes : Paternit. Vous devez citer le nom des auteurs originaux mais pas dunemaniere qui suggrerait quils vous soutiennent ou approuvent votreutilisation de luvre. A chaque rutilisation ou distribution de cette cration, vous devez faireapparaitre clairement au public les conditions contractuelles de sa mise adisposition sous licence identique Creative Commons Share Alike. Chacune de ces conditions peut etre leve si vous obtenez lautorisationdu titulaire des droits sur cette uvre. Rien dans ce contrat ne diminue ou ne restreint le droit moral de lauteurou des auteurs. 3. Open-REX Utilisation des mthodes agiles Contexte du projet Prsentation rapide du projet Organisation de lquipe projet Quelques pr-requis pour faire de lagile Focus sur une itration en mode agile Principales phases dune itration Organisation de lquipe MOE Les outils Retour sur lutilisation des mthodes agiles Au fil des itrations Les phases de livraison 4. Prsentation du projet Portail web dun grand oprateur dinternet et desannuaires Gestion des produits Gestion de leurs comptes Suivi des audiences de leurs produits Informer les professionnels de lentreprise Application tres volutive Mise en production tous les 3 mois Besoin tres changeant; ncessit de reprioriser frquemment les tches a faire De nombreux partenaires Organisation de lquipe 5. Organisation de lquipe 6. Quelques pr-requis Une quipe motive et acceptant de changer les habitudes Des processus clairs, tablis par tous et connus de tous Une MOE et une AMOA tres rapproches Une plateforme dintgration continue fonctionnelle 7. Les phases du mode agile Quelques dfinitions de base : Chaque livraison en recette est un sprint Un sprint est une succession de n itrations Une itration dbute par une prsentation de User Stories et se termine par une rtrospective de litration 8. Les phases du mode agile Schma du cycle dune itration 9. Les phases du mode agile Quelle dure pour une itration ? Plus cest court, plus cest bon Vrai au dbut 1 semaine pendant la phase dinitiation Permet de rpter rapidement les diffrents rituels de lagile Ensuite, nous sommes passs sur 15 jours 10. La prsentation des User Stories Ensemble limit dexigences qui rpondent a un besoinspcifique En tant que utilisateur , je veux action pour resultat Chaque US a une valeur mtier MOA et une complexitestime (estimation grosse maille) par le TechLead et leBureau dEtude Toute US est livre avec un lot de tests automatisssouhaits par la MOA 11. Evaluation de la complexit Pas dvaluation en jours/homme (trop dpendant de lapersonne qui va dvelopper) Deux nouveaux indicateurs La complexit 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ? La vlocit Nombre de points raliss pendant une itration Principe : une tche a la meme complexit pendant toutela dure du projet. Cest la vlocit qui varie La complexit est value par toute la MOE 12. Choix des US par la MOE Cest la MOE qui choisit le nombre de US quelle peuttraiter (en respectant la priorisation MOA) La MOE sengage a terminer les US choisies Dfinir ensemble MOA/MOE ce que termin signifie Ex : commit, tests unitaires OK, couverture de test OK, tests fonctionnels automatiss OK, Environnement de dmonstration bouchonn, ... Prise en compte des tches techniques supplmentaires Ex : Portlets dadministration, Mise en place dune PIC, amlioration de performances, ... Rpartition des tches dans lquipe Faire tourner les sujets, binomage, ... 13. Agile au quotidien Organisation plateau Le backlog indexe toutes les US Les US sont documentes dans un wiki, accompagns destests de recette Toute volution est faite sous forme de US Tout bug est rpertori 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 partage par tous Facile de grer le travail a faire de lquipe sur une itration 15. Agile au quotidien Organisation MOE Ensemble des tches affiches sur le tableau de suivi Zoom dtaill sur les tches MOE proche de lquipe Stand-up meeting tous les matins Uniquement MOE + coach AMOA si une annonce a faire Chaque dveloppeur indique ce quil a fait hier, ce quil prvoit de faire aujourdhui, sil 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 mto du projet avec Hudson. 17. Agile au quotidien Les outils Les Tests Unitaires Implmentation fake de tous les services extrieurs et des services Liferay service build Services bouchonns au plus proche de la ralit Bases de donnes 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 Mthode remplaante du service rel 21. Agile au quotidien Les outils - yaml Exemple de bouchon Mthode de lecture du fichier yaml 22. Agile au quotidien Les outils - yaml Exemple de bouchon Mapping vers lobjet reel 23. Agile au quotidien Les outils - yaml Exemple de classe Manager 24. Agile au quotidien Les outils Les Tests Unitaires Implmentation fake de tout les services extrieurs et des services Liferay service builds Services bouchonns au plus proche de la ralit Bases de donnes 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 lenvironnement de dmo (donnes AMOA) Possibilit de switcher entre environnements bouchon ourel par fichier properties. Utilisation de Managers 25. Agile au quotidien Les outils Les tests fonctionnels automatiss avec GreenPepper Tests crits en collaboration MOE/AMOA Fixtures GP rdiges dans un wiki et transformes en java Tests principalement selenium [Projet dagrgation de donnes lIHM permet de valider un grand nombre de regles fonctionnelles] Attention : On ne peut pas tout tester, mais a rduit la charge de lquipe qui soccupe de la recette Question a se poser avant lcriture dun test : La rptition manuelle de ce test en recette sera-t-elle toujours plus rapide que le temps pass a lautomatiser ? Cette fonctionnalit ne sera-t-elle pas dja teste autrement ? Fonctionnement basique de GP Ecriture des fixtures grce a quelques mots cls 26. Agile au quotidien Les outils - GP Do with : permet de crer une fixture = un test java Check : Vrifie 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 crer une fixture = un test java Check : Vrifie une ou plusieurs valeurs Set of : permet au check de tester un ensemble de valeurs 28. Agile au quotidien Les outils Les tests fonctionnels automatiss avec GreenPepper Tests crits en collaboration MOE/AMOA Fixtures GP rdiges dans un wiki et transformes en java Tests principalement selenium Fonctionnement basique de GP Ecriture des fixtures grce a quelques mots cls Enrichissement par notre propre grammaire complmentaire Plus simple pour lAMOA 29. Agile au quotidien Les outils - GP Grammaire specifique au projet 30. Agile au quotidien Les outils Les tests fonctionnels automatiss avec GreenPepper Tests crits en collaboration MOE/AMOA Fixtures GP rdiges dans un wiki et transformes en java Tests principalement selenium Fonctionnement basique de GP Ecriture des fixtures grce a quelques mots cls Enrichissement par notre propre grammaire complmentaire Plus simple pour lAMOA injection des donnes utiles et excution dans un environnement ferm. 31. Fin ditration - Dmo Prparation de la dmo Vrification sur la PIC des exigences demandes avec lAMOA concerne Dploiement sur une machine spcifique a partir de la PIC La machine de dmo servira de plateforme de test, bouchonne avec les donnes de la MOA pendant litration suivante Prsentation dmo dans la MOE pour partage de connaissances Dmo + Ptit dej = tout le plateau runi US pour validation / US pour background avancement Validation des exigences MOA Calcul du niveau de complexit dvelopp sur litration Report de la complexit dans le burndown chart 32. Burndown chart 33. Fin ditration - Rtrospective Note ditration humeur de lquipe Annonces du pilote du projet Keep/drop/start/ ? 34. Fin ditration - Rtrospective Note ditration humeur de lquipe Annonces du pilote du projet Keep/drop/start/ ? PDCA Exemple daction a suivre: Chaque dveloppeur relit avec lAMOA concerne par la US lesexigences demandes avant de passer la US a FAIT 35. Fin de sprint - Livraison Par la livraison de chaque sprint, le mode agile doitpermettre daller en production avant louverture deservice. prouver les processus de mise en production Ouverture de flux Difficult majeure : Lintgration, la recette, la prprod et la prod sont faites par trois quipes diffrentes Ncessit davoir des processus clairs et dautomatiser le plus de traitements possible Pb : pour rsoudre de nombreux problemes lors des mises en prprod/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 lutilisation de lagile Les avantages Dv au fil de