Forum PHP 2007 - Methodes Agiles

  • View
    1.063

  • Download
    1

Embed Size (px)

Text of Forum PHP 2007 - Methodes Agiles

  • 1. Du Chaos l'Agilit

2. Le guide du dveloppeur en CDD CDD : Chaos Driven Development ;) 3. DON'T PANIC ! 4. Qui suis-je ? Raphal Rougeron 30 ans, mari, 1 enfant Dveloppeur web la CCIP 5. Contexte Trs petite quipe : 2 dveloppeurs ! Client interne Deadlines arbitraires Pas de chef de projet identifi Dveloppeurs quot;multi-tchesquot; : plusieurs projets concurrents, divers stades d'avancement 6. Prambule Les mthodes agiles ne sont pas des religions : vous tes libres de choisir les pratiques qui vous conviennent. Il y a bien sr des contextes dans lesquels les mthodes traditionnelles (Waterfall, Spiral...), appliques rigoureusement, fonctionnent trs bien. Ex : logiciel de contrle de la navette spatiale 1 seul bug par version sur 420.000 lignes de code ! 7. Agile-driven Plan-driven Criticalit faible Criticalit forte Developpeurs Dveloppeurs expriments inexpriments Besoins changeantBesoins relativement trs souvent stables Petites quipesGrandes quipes EnvironnementCulture de l'ordre chaotique 8. Rapport CHAOS (Standish Group, 1994) 31,1 % de projets annuls 52,7 % de projets aboutis mais hors budget ou hors dlais 16,2 % de projets russis 9. Facteurs dfavorables politique(s), manque de soutien des managers priorits concurrentes spcifications incompltes manque d'implication des utilisateurs manque de moyens attentes irralistes (ou pas de besoins rels) changements des spcifications planification dfaillante 10. Facteurs favorables implication des utilisateurs soutien des managers expression claire des besoins attentes ralistes chances rapproches vision claire des objectifs du projet quipe concentre sur le projet 11. Facteurs favorables implication des utilisateurs soutien des managers expression claire des besoins attentes ralistes chances rapproches vision claire des objectifs du projet quipe concentre sur le projet 12. Phase 1 : initialisation du projet Toutes les ides ne sont pas bonnes Savoir dire non Le sacro-saint quot;cahier des chargesquot; 2 points-cls : vision et besoins 13. Facteurs favorables implication des utilisateurs soutien des managers expression claire des besoins attentes ralistes chances rapproches vision claire des objectifs du projet quipe concentre sur le projet 14. Phase 2 : Go ! 15. Implication des utilisateurs Les valeurs d'XP : Communication Simplicit Feedback Courage Respect 16. Echances rapproches C'est le principe de base de la plupart des mthodes agiles pour minimiser les risques. Chaque itration est un projet complet : analyse des besoins planning conception implmentation test documentation 17. SCRUM itration = sprint mles quotidiennes tout est time-boxed scrum master en relation avec le client 18. Liste de fonctionnalits (backlog) ID Nom Importance Estimation Description Notes 1Upload multi-fichiers 30 4L'utilisateur doit pouvoirUtiliser le plugin extjsslectionner plusieurs fichierslocaux et les transfrer en leurappliquant des mtadonnescommunes 2Fil RSS par tag 10 2Lorsqu'il visualise les rsultats Limiter 25 le nombre ded'une recherche par tag,photos dans le fill'utilisateur peut cliquer sur unlien pour s'abonner au fil RSScorrespondant 19. Sprint planning : objectifs S'accorder sur un but pour le sprint Choisir une date pour prsenter le rsultat du sprint au client Obtenir des claircissement sur les fonctionnalits souhaites Estimer le nombre de points (jours/hommes idaux) par fonctionnalit Slectionner les fonctionnalits implmenter durant le sprint 20. Importance #130 Upload multi-fichiers Descriptif EstimationL'utilisateur doit pouvoir slectionner plusieurs fichierslocaux et les transfrer en leur appliquant desmtadonnes communes NotesUtiliser le plugin extjs 21. Estimations et vlocit Raphal + Jrmie = 28 jours/hommes Prcdent facteur de concentration : 40 % (12 points / 30 jours) Vlocit estime : 40 % X 28 = 11,2 Le total des estimations des fonctionnalits slectionnes ne doit pas dpasser 11 ! 22. Les pratiques d'XP Programmation enConventions de binmenommage Jeu du Planning Appropriation collective du code TDD Conception simple Client sur site Utilisation de Intgration continue mtaphores Refactoring Rythme soutenable Livraisons frquentes 23. TDD : les outils SimpleTest PHPUnit un nouveau venu : PHPSpec 24. TDD : notre approche Tests unitaires couvrant la couche mtier Approche quot;top-downquot;, plutt BDD en fait Tests fonctionnels uniquement pour certaines fonctionnalits quot;critiquesquot; (authentification, ...) 25. Intgration continue VCS ! Subversion + Trac + TortoiseSVN= le tierc gagnantl'intgration quotidienne des modifications imposeune certaine discipline (ne pas se disperser) 3 environnements : dev, recette et prod Utilisation exprimentale de Capistrano : http://devthatweb.com/view/deploy-any-project-using-capistrano-2 26. PHP est un langage agile ! Simplicit Capacits d'intgration Librairies, frameworks