Session mons 22 mars

  • Published on
    29-Jul-2015

  • View
    432

  • Download
    2

Embed Size (px)

Transcript

<p> 1. AgileCampusTour 2. La ne quipe Julien Biezemansjulien@agilecampustour.org@jbpros Simon Schoeterssimon@agilecampustour.org@cimm Marc Lainezmarc@agilecampustour.org@mlainezSi vous voulez tweeter utilisez le hashtag #actbe 3. Souvenez-vous de Bob 4. Le projet sur lequel il travaille 5. Et sa vision du droulement dun telprojet BluWeek Day Sto TO WI D~Na rie D P O~s O (4) NE Mi~~ ~ 6. Et sa vision du droulement dun telprojet BluWeek Day Sto TO WI D~Na rie D P O~s O (4) NE Mi~~ ~ 7. Comment se passe le dveloppementau jour le jour ? 8. Chaque matin, Bob et son quipe se runissent en daily standup Blue TeamStories TODO WIP(4) DONE~~~~~ 3 Name tags~~~~~ 5~~~~~ 2Misc.~~~~~ 3~~~~~ 5 9. Non, on ne sassied pas durant unstandup 10. Bob insiste sur la qualit du code produit 11. Pourquoi ?NewGuy 12. Bob veut simplement viterdaccumuler de la dette technique 13. Quand on code au plus vite et de manire non optimale, on contracte unedette technique que lon rembourse tout au long de la vie du projet sousforme de temps de dveloppement de plus en plus long et de bugs de plusen plus rguliers Wikipedia 14. Cest un peu comme un prt pourune maison... 15. Comment apparat-elle ? 16. Comment la rembourser ? 17. Comment la rembourser ?En refactorant le code ! 18. Mais pas nimporte comment ! 19. Bob insiste aussi sur la pratique dupair programming 20. Quelle que soit la formule 21. 1 clavier 1 souris 22. 2 claviers 2 souris 23. 2 claviers 2 souris 2 crans (mirroring) 24. Bob insiste galement sur limportance des tests 25. A diffrents niveaux de lapplication 26. Le test unitaire est un procd permettant de sassurer du fonctionnementcorrect dune partie dtermine dun logiciel ou dune portion dunprogramme.Wikipedia 27. Les tests dintgration ont pour but de valider le fait que toutes les partiesdveloppes indpendamment fonctionnent bien ensemble de faoncohrente.Wikipedia 28. Mais au fond, quoi ca peut bien servir, ces tests... 29. Identier une rgression 30. Vrier des critres dacceptance 31. Protger une application existante 32. Oui mais les tests a prend du temps... 33. Cest un investissement 34. Et une source de documentation 35. Et si on crit ces tests avant le code, on dveloppe diffrement, cest du TDD 36. Aprs avoir crit un test, on lexcute... 37. On crit le code minimal pour quil passe 38. On refactore le code 39. Si une rgression apparat on le voit toutde suite ! 40. Exemple : les specs de Carcassonne 41. On peut aussi aller plus loin et faireintervenir la valeur mtier du client 42. Les paires recoivent les snarios Lorsque je remplis le champ etLorsque je suis sur le menu que jappuie sur le boutton, alorsprincipal, je dois voir limage du le nom doit apparatre dans lajeu liste 43. Et crivent leurs tests dans un langage lisible par leur client 44. Ils font du BDD 45. Avec Cucumber ou JBehave 46. Exemple : un feature de carcassonne 47. Ds que la fonctionnalit rpond la notion de termin 48. Elle est envoye au systme de versioning 49. Pourquoi ?IConictsBack to last did commit please ! thisConicts 50. La fonctionnalit envoye, le serveurdintgration continue prend le relais 51. Il va excuter la suite de tests 52. Vrier quon a pas de rgression 53. Si tout passe, on dploie en staging 54. An que le client puisse tester 55. Si cest accept, on peut dployer enproduction 56. BluWeek Day Sto TO WI D~Na rie D P O~s O (4) NE Mi~~ ~ 57. Ce nest pas une recette miracle, et a ne convient pas tout le monde... 58. Et comment on fait sur un projet existant ? 59. Adapter le processus progressivement 60. En organisant des rtrospectives 61. Sattaquer la dette technique progressivement 62. Grce des smoke tests 63. Et la mthode mikado 64. Un peu de lecture ? 65. Encore une petite rtrospective ? 66. Questions?@agilecampustour http://agilecampustour.org</p>