Agilistes :noubliez pas la technique !par Xavier NOPRE23/05/2013 - 16h-17h - Salle 6#AgileFrance
Agilistes : noubliez pas la technique ! - Xavier NOPRE2Préambule
Xavier NOPRE :Développeur Agiliste Indépendant Développeur : Applications Java-WEB SaaS sur mesure Clients finaux Cont...
 Agilité : novice ou expert ?1. Je découvre, je ny connais rien2. Je connais les bases, je ne pratique pas encore3. Je pr...
 Moi : Introduction Rappels sur lagilité & Scrum Mise en situation et Analyse Exploration des outillages et méthodes...
Agilistes : noubliez pas la technique ! - Xavier NOPRE6Introduction
 Basée sur : Mon expérience personnelle Accompagnement déquipes Constat : La technique est négligée dans les transiti...
"Ensemble de pratiques et doutillagesdans lédition logiciellepermettant de faire du développement agile"Xavier NOPRE8"Ingé...
Agilistes : noubliez pas la technique ! - Xavier NOPRE9Rappels sur lagilité & Scrum
10Rappels > Cycle ScrumVisionCarnetde produitCarnetditérationItération2 à 4 semaines1 jourProduit partielPotentiellementut...
11Rappels > Cycle ScrumSpecs Archi Développements Tests• Méthodes séquentielle classique :• Scrum :Sprint 1 Specs Archi...
12Rappels > Incrémental / Itératif 1/2http://www.infoq.com/news/2008/01/iterating-and-incrementingAgilistes : noubliez pas...
13Rappels > Incrémental et Itératif 2/2http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisaAgiliste...
Agilistes : noubliez pas la technique ! - Xavier NOPRE14Mise en situation&analyses
 Contexte : Nouveau projet Migration vers lagilité Scrum est en place :Choix des acteurs PO et SMFormations et coachin...
 Lagilité : facile à comprendre, difficile à mettre en œuvre16Analyse > Généralités Scrum : nest pas une "méthode" mai...
17Analyse > Raisons déchecs Très nombreuses raisons déchec : Méthode trop adaptée = éloignement des valeurs et principes...
18Analyse > Et côté développement 1/3 Une "vision" du produit mais pas de détails anticipés Plus de cahier des charges (...
19Analyse > Et côté développement 2/3 Toutes les 3 semaines, livraison dun produit partiel etutilisable  Développement...
20Analyse > Et côté développement 3/3 Equipe auto-organisée et pluri-disciplinaire Plus de chef, "Plus de responsable"...
21Analyse > BilanGestion "agile" de projet  OKIngénierie agile  ? …Agilistes : noubliez pas la technique ! - Xavier NOPRE
Agilistes : noubliez pas la technique ! - Xavier NOPRE22Outils et méthodes :feuille de route
Que puis-je apporter à mon équipe "qui na rien" ?Choix dune dizaine doutils et pratiques "de base"Mix-IT 2013 : "Agiliste...
??????????24Feuille de route : format* * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * ...
 "Equipe" = Travail collaboratif : Equipe pluri-disciplinaire Le code appartient à tous, Partage du code Gestion centr...
 Code communs et partagé : Ecrit par les uns, lus par les autres Modifié par tous26Règles communes Règles communes de ...
 Travail itératif en cycle court : Packaging et livraisons fréquentes Voire déploiement continue27Industrialisation/Aut...
 Industrialisation  versionning & dépendances : "Artifacts" : livrables identifiés (groupId + artifactId + version) "r...
Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE29Pause "précisions"
 Développement "itératif" et "incrémental" : Développement "minimum" pour litération courante : Satisfaire les histoire...
 Niveau 1 : "cosmétique" & lisibilité : Renommages, extraction de méthodes Suppression de variables locales, de codes i...
Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE32On reprend …
 Besoin de Refactoring, notamment niveau 1 Prendre le moins de risque possibles … Respecter les Règles communes33Un "bo...
 Refactoring, notamment niveau 2 : Ne pas casser lexistant , éviter les régressions Nouvelles fonctionnalités : sûr de ...
 Tests unitaires : "Impossible sur mon code", "mon contexte ne le permet pas", … Architecture et conception inadaptées3...
 Tests unitaires : cest dur ! Difficile sur du code existant, difficile à écrire après le code deproduction, code non te...
 Tests : apprentissage difficile Besoin de fédérer une équipe pluri-disciplinaire37Pair-programming Pair-programming :...
 Les tests ne sont pas rejoués systématiquement Il faut livrer et packager souvent Voire déployer fréquemment38Intégrat...
Gestion de versions (Git)Règles communesIndustrialisation (Maven)Repositories (Artifactory)IDE (Eclipse)Tests unitairesCod...
40En résumé (technique)Thème ConseilPratiques :Règles communes, pair-programming,coding-dojo, temps libre, …Simple  Ne pa...
 Agilité = révolution culturelle de lentreprise = changements des rôles et de lorganisation = changements des habitude...
 Je nai pas parlé de : Revue de code Coding-dojo (Kata et Randori) Frameworks et Librairies Temps libre R&D Prototyp...
43Questions ?!Agilistes : noubliez pas la technique ! - Xavier NOPRE
Prochain SlideShare
Chargement dans…5
×

Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013

599 vues

Publié le

Diaporama de ma session "Agilistes : n'oubliez pas la technique !" lors de la conférence Agile France 2013

Publié dans : Technologie
2 commentaires
0 j’aime
Statistiques
Remarques
  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
599
Sur SlideShare
0
Issues des intégrations
0
Intégrations
14
Actions
Partages
0
Téléchargements
12
Commentaires
2
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013

  1. 1. Agilistes :noubliez pas la technique !par Xavier NOPRE23/05/2013 - 16h-17h - Salle 6#AgileFrance
  2. 2. Agilistes : noubliez pas la technique ! - Xavier NOPRE2Préambule
  3. 3. Xavier NOPRE :Développeur Agiliste Indépendant Développeur : Applications Java-WEB SaaS sur mesure Clients finaux Contrat agile Formations, coaching, accompagnement : Ingénierie agile, agilité, Scrum Développement Java & WEB (HTML, CSS, JS, …)Agilistes : noubliez pas la technique ! - Xavier NOPRE3Qui suis-je ?@xnopre xnopre.blogspot.com
  4. 4.  Agilité : novice ou expert ?1. Je découvre, je ny connais rien2. Je connais les bases, je ne pratique pas encore3. Je pratique un peu4. Je pratique régulièrement (ex: un des rôles de Scrum)5. Je maitrise, jexplique, je forme et accompagne Profils : Développeur ScrumMaster ou Product Owner Manager Formateur / coach Autre ?4Et vous ?Agilistes : noubliez pas la technique ! - Xavier NOPRE
  5. 5.  Moi : Introduction Rappels sur lagilité & Scrum Mise en situation et Analyse Exploration des outillages et méthodes Conclusion Nous : Echanges autour de questions/réponsesMix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE5Au programme
  6. 6. Agilistes : noubliez pas la technique ! - Xavier NOPRE6Introduction
  7. 7.  Basée sur : Mon expérience personnelle Accompagnement déquipes Constat : La technique est négligée dans les transitions agiles Contexte technique : Développement logiciel & écosystème JavaSur mon blog : "Développement logiciel agile : informations sur loutillage" :http://xnopre.blogspot.fr/2012/09/developpement-logiciel-agile_13.html7Contexte pour cette session ?Agilistes : noubliez pas la technique ! - Xavier NOPREcoachdev
  8. 8. "Ensemble de pratiques et doutillagesdans lédition logiciellepermettant de faire du développement agile"Xavier NOPRE8"Ingénierie agile" : késako ?Agilistes : noubliez pas la technique ! - Xavier NOPRE
  9. 9. Agilistes : noubliez pas la technique ! - Xavier NOPRE9Rappels sur lagilité & Scrum
  10. 10. 10Rappels > Cycle ScrumVisionCarnetde produitCarnetditérationItération2 à 4 semaines1 jourProduit partielPotentiellementutilisableAgilistes : noubliez pas la technique ! - Xavier NOPRE!!! !!!!!!
  11. 11. 11Rappels > Cycle ScrumSpecs Archi Développements Tests• Méthodes séquentielle classique :• Scrum :Sprint 1 Specs Archi Dévt TestsSprint 2 Specs Archi Dévt TestsSprint 3 Specs Archi Dévt TestsSprint 4 Specs Archi Dévt Tests...TempsBDD Serveur IHMAgilistes : noubliez pas la technique ! - Xavier NOPRE
  12. 12. 12Rappels > Incrémental / Itératif 1/2http://www.infoq.com/news/2008/01/iterating-and-incrementingAgilistes : noubliez pas la technique ! - Xavier NOPRE
  13. 13. 13Rappels > Incrémental et Itératif 2/2http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisaAgilistes : noubliez pas la technique ! - Xavier NOPRE
  14. 14. Agilistes : noubliez pas la technique ! - Xavier NOPRE14Mise en situation&analyses
  15. 15.  Contexte : Nouveau projet Migration vers lagilité Scrum est en place :Choix des acteurs PO et SMFormations et coachingEquipe stable et informéeSupports : backlogs, scrum board, …Cérémonies : sprint planning, revue, démo, rétro15Situation : prenons une équipe …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  16. 16.  Lagilité : facile à comprendre, difficile à mettre en œuvre16Analyse > Généralités Scrum : nest pas une "méthode" mais un "cadre" à adapterAgilistes : noubliez pas la technique ! - Xavier NOPRE
  17. 17. 17Analyse > Raisons déchecs Très nombreuses raisons déchec : Méthode trop adaptée = éloignement des valeurs et principes Manque de formation / dinformations (équipe et autour) Rôles mal définis ou mal respectés Mauvaise collecte des besoins Mauvaise gestion du "terminé" Facteurs humains etc … etc …Agilistes : noubliez pas la technique ! - Xavier NOPRE Et les aspects techniques !
  18. 18. 18Analyse > Et côté développement 1/3 Une "vision" du produit mais pas de détails anticipés Plus de cahier des charges (initial et fixe) Plus de specs détaillées  Ne pas anticiper les "détails" Besoin dune conception évolutive (agile) Faire émerger une architecture Pas de régressions …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  19. 19. 19Analyse > Et côté développement 2/3 Toutes les 3 semaines, livraison dun produit partiel etutilisable  Développement incrémental :  on avance par petits blocs fonctionnels Développement itératif :  un bloc fonctionnel est finalisé sur plusieurs itérations Développement transversal  quotidiennement, on implémente sur toutes les couches Livraisons fréquentes Packaging facile …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  20. 20. 20Analyse > Et côté développement 3/3 Equipe auto-organisée et pluri-disciplinaire Plus de chef, "Plus de responsable" Plus de spécialistes (technos, couches, qualité, tests, …)  Autonomie technique & initiatives Responsabilisation collective et individuelle Choix techniques et technologiques La qualité devient un problème de tous les jours …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  21. 21. 21Analyse > BilanGestion "agile" de projet  OKIngénierie agile  ? …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  22. 22. Agilistes : noubliez pas la technique ! - Xavier NOPRE22Outils et méthodes :feuille de route
  23. 23. Que puis-je apporter à mon équipe "qui na rien" ?Choix dune dizaine doutils et pratiques "de base"Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE23Feuille de route : objectifcoachdev
  24. 24. ??????????24Feuille de route : format* * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * *EffortAgilistes : noubliez pas la technique ! - Xavier NOPREx
  25. 25.  "Equipe" = Travail collaboratif : Equipe pluri-disciplinaire Le code appartient à tous, Partage du code Gestion centralisée, Suivi des versions25Partage des sources Logiciel de gestion de version (Version Control System) : Git, Mercurial, … Subversion (SVN), ClearCase, CVS, …* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE1coachdev
  26. 26.  Code communs et partagé : Ecrit par les uns, lus par les autres Modifié par tous26Règles communes Règles communes de codage : Ecriture du code, Formatage des sources, Normes de nommages Configurations identiques des outils (IDE) Outillage : Sonar peut aider à vérifier les règles communes* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE2coachdev
  27. 27.  Travail itératif en cycle court : Packaging et livraisons fréquentes Voire déploiement continue27Industrialisation/Automatisation Outil de build pour industrialiser et automatiser : Ant + Ivy Maven : Gestion précise des dépendances et des versions Cycle de production intrinsèque Nombreux plugins Intégration IDE et autre outils* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE3coachdev
  28. 28.  Industrialisation  versionning & dépendances : "Artifacts" : livrables identifiés (groupId + artifactId + version) "repositories" : dépôts pour récupérer et déposer des livrables28Dépôts (repositories) Gestionnaire de repositories : Artifactory, Nexus, Archiva Intérêts dun dépôt interne : Proxy des dépôts publics internet Déploiement (Maven) de ses propres artifacts "Mavenisation" de livrables "non Maven"* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE4coachdev
  29. 29. Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE29Pause "précisions"
  30. 30.  Développement "itératif" et "incrémental" : Développement "minimum" pour litération courante : Satisfaire les histoires de litération courante Prendre en compte la "vision" à long terme Suivre larchitecture "grande échelle" (modules, composants) Mais pas danticipations sur les besoins futurs Développements lors des itérations suivantes : Satisfaire les histoires de la nouvelle itération Modifier le code existant pour quil puisse recevoir les nouveautés Implémenter les nouvelles fonctionnalités30PrécisionsRefactoring …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  31. 31.  Niveau 1 : "cosmétique" & lisibilité : Renommages, extraction de méthodes Suppression de variables locales, de codes inutiles, … Niveau 2 : "package" & testabilité : Extraction de classes et interfaces Déplacement de méthodes, … Niveau 3 : "architectural" & évolutivité agile Modification des grands principes retenus Révision des modules ou composants, …Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE31Refactorings
  32. 32. Mix-IT 2013 : "Agilistes : noubliez pas la technique !" - Xavier NOPRE32On reprend …
  33. 33.  Besoin de Refactoring, notamment niveau 1 Prendre le moins de risque possibles … Respecter les Règles communes33Un "bon" IDE Un "bon" outil dédition (IDE) : Eclipse, NetBeans, MSVisual Studio, IntelliJ IDEA, … Doit convenir à lensemble de léquipe et correspondre auxbesoins ( IDE unique …) Doit être bien configuré, pour tous les membres de léquipe* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE5coachdev
  34. 34.  Refactoring, notamment niveau 2 : Ne pas casser lexistant , éviter les régressions Nouvelles fonctionnalités : sûr de répondre au besoin Productivité et qualité : tester rapidement des situationsaux limites34Test unitairesautomatisables Tests unitaires : Faire les "bons" tests Automatisables, indépendants,rapides, …* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE6 Notes Penser ROI ! Voir les tests dintégrationet tests fonctionnelscoachdev
  35. 35.  Tests unitaires : "Impossible sur mon code", "mon contexte ne le permet pas", … Architecture et conception inadaptées35Code testable Code testable : Principe "1 classe 1 rôle"  architecture très découpée Couplage lâche Injection de dépendances (par framework ou manuelle) Interfaces & Mocks Apprentissage long* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE7coachdev
  36. 36.  Tests unitaires : cest dur ! Difficile sur du code existant, difficile à écrire après le code deproduction, code non testable, …36TDD TDD = "Test Driven Development" Principe = Ecrire les tests avant tout code de production("Tests first") Plus facile décrire les tests avant que après le code de prod Permet de valider la compréhension du besoin Guide vers un code forcément "testable"  design* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE8coachdev
  37. 37.  Tests : apprentissage difficile Besoin de fédérer une équipe pluri-disciplinaire37Pair-programming Pair-programming : Principe : 2 développeurs devant 1 poste de travail Apports : Entraide, cohésion déquipe Partage de connaissances, transferts de compétences Gain de productivité, qualité, meilleures solutions A bon escient, à temps partiel, un peu chaque jour* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE9coachdev
  38. 38.  Les tests ne sont pas rejoués systématiquement Il faut livrer et packager souvent Voire déployer fréquemment38Intégration continue Intégration continue : Outils : Jenkins, Hudson, CruiseControl, Continuum, … Usages (pour commencer) : Build (compile et tests) toutes les 15 Build complet nocturne Autres opérations sur déclenchements manuels* * * * *Agilistes : noubliez pas la technique ! - Xavier NOPRE10coachdev
  39. 39. Gestion de versions (Git)Règles communesIndustrialisation (Maven)Repositories (Artifactory)IDE (Eclipse)Tests unitairesCode testableTDDPair-programmingIntégration continue39Feuille de route* * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * ** * * * *EffortAgilistes : noubliez pas la technique ! - Xavier NOPRE
  40. 40. 40En résumé (technique)Thème ConseilPratiques :Règles communes, pair-programming,coding-dojo, temps libre, …Simple  Ne pas hésiter !Outillage :IDE correct, configuré et maitrisé,gestionnaire de sources, industrialisation,intégration continue, …Faible investissement et bon ROI InvestirTests :Unitaires,TDD, code testable, codepropre, architecture évolutive, …Indispensable mais nécessite temps,patience, formation, accompagnementAgilistes : noubliez pas la technique ! - Xavier NOPRE
  41. 41.  Agilité = révolution culturelle de lentreprise = changements des rôles et de lorganisation = changements des habitudes et des relations humaines Mais = aussi changements des pratiques et outillages techniques41Conclusion Noubliez pas la technique ! Agilistes : noubliez pas la technique ! - Xavier NOPRE
  42. 42.  Je nai pas parlé de : Revue de code Coding-dojo (Kata et Randori) Frameworks et Librairies Temps libre R&D Prototype vs Produit Autres langages et autres éco-système (ex : JavaScript) Bug tracker Réduction dette technique …42Et encore …Agilistes : noubliez pas la technique ! - Xavier NOPRE
  43. 43. 43Questions ?!Agilistes : noubliez pas la technique ! - Xavier NOPRE

×