Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Du Code & Des Humains

59 vues

Publié le

Retrospective de mes huit dernières années dans la création de logiciels.

Je parle de mes débuts avec SCRUM, de la réécriture d'une app un nombre honteux de fois, de l'apprentissage de Clean Code et de l'Extreme Programming.

Je tire les leçons de ces huit années et les partager avec l'audience.

J'explique pourquoi je trouve important de tester son code et de laisser les développeurs parler avec toutes les parties prenantes des projets.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Du Code & Des Humains

  1. 1. Du Code & Des Humains
  2. 2. Du Code & Des Humains ryfacto.fr Nicolas VERINAUD @nverinaud
  3. 3. « Google The Error Message Algorithm »
  4. 4. Toile de Paillage Tissée
  5. 5. Développer un logiciel Facile ? 🤔 Toyota Chinook Mars Climate Orbiter Therac-25 911
  6. 6. https://en.wikipedia.org/wiki/List_of_software_bugs
  7. 7. Développeur Professionnel
  8. 8. 🙂 Fonctionnalité 3 jours
  9. 9. 😕 Fonctionnalité 3 semaines
  10. 10. 😖 Fonctionnalité Trop long
  11. 11. Productivité 0 25 50 75 100 Mois 0 1 2 3 4 5 6 7 8 9 10 11 12 Vélocité
  12. 12. Développeur : une espèce à part ? Réécrire : une fatalité ?
  13. 13. Développeur : une espèce à part ? Réécrire : une fatalité ?
  14. 14. Client Commercial Directeur Technique Dev Scrum Master Mockups Master
  15. 15. Utilisateur Product Owner Proxy Product Owner Dev Lead Dev Scrum Master
  16. 16. Utilisateur Product Owner Proxy Product Owner Dev Lead Dev Scrum Master Téléphone ArabeEnterprise Edition
  17. 17. • Les individus et leurs interactions plus que les processus et les outils • Des logiciels opérationnels plus qu’une documentation exhaustive • La collaboration avec les clients plus que la négociation contractuelle • L’adaptation au changement plus que le suivi d’un plan
  18. 18. Discuter avec l’utilisateur pour construire un logiciel qui fait le boulot
  19. 19. Qu’est-ce que le code ?
  20. 20. Qu’est-ce que le code ?
  21. 21. Le code est la spécification la plus détaillée du monde
  22. 22. - Alberto Brandolini « C’est la compréhension du développeur, pas votre connaissance, qui devient le logiciel. »
  23. 23. 01001010 11101111 01010101 UX
  24. 24. Comment comprendre efficacement les besoins ?
  25. 25. Quel est le véritable problème ? Les 5 « Pourquoi ? » et la définition récursive
  26. 26. Quel est le véritable problème ? Les 5 « Pourquoi ? » et la définition récursive
  27. 27. définition récursive « J’ai besoin d’une base de donnée générique contenant tous les médicaments vendus et qui peuvent être prescrit par les médecins. »
  28. 28. définition récursive « J’ai besoin d’une base de donnée générique contenant tous les médicaments vendus et qui peuvent être prescrit par les médecins. » Pourquoi ?
  29. 29. définition récursive « Pour aider les médecins à faire leurs ordonnances. » Pourquoi ?
  30. 30. définition récursive « Car les médecins font des erreurs en prescrivant des médicaments. » Pourquoi ?
  31. 31. définition récursive « Car ils prescrivent des médicaments incompatibles. » Pourquoi ?
  32. 32. définition récursive « Car les interactions entre les médicaments sont complexes. » Une interaction entre médicaments ?
  33. 33. Base de donnée générique de médicaments définition récursive « Et bien, par exemple : deux médicaments ne doivent pas être pris ensemble car ils contiennent tous les deux la molécule M et il y a un risque de surdosage. »
  34. 34. Base de donnée générique de médicaments Aider les médecins à prescrire les bons médicaments
  35. 35. Quelles solutions ? Impact Mapping
  36. 36. Impact Mapping Quelles solutions ? Créer le logiciel qui aura le meilleur impact, le meilleur ROI
  37. 37. Impact Mapping Quelles solutions ? Créer le logiciel qui aura le meilleur impact, le meilleur ROI
  38. 38. Créer le logiciel qui aura le meilleur impact, le meilleur ROI Gojko Adzic
  39. 39. Implémentation ? Métier ? Event Storming
  40. 40. Implémentation ? Métier ? Event Storming Aligner Métier et Technique
  41. 41. Implémentation ? Métier ? Event Storming Aligner Métier et Technique http://ziobrando.blogspot.fr/2013/11/introducing-event-storming.html
  42. 42. Vision d’ensemble ? Priorités ? User Story Mapping
  43. 43. Vision d’ensemble ? Priorités ? User Story Mapping Créer un véritable MVP
  44. 44. User Story Mapping Vision d’ensemble ? Priorités ? Créer un véritable MVP
  45. 45. User Story Mapping Créer un véritable MVP Jeff Patton
  46. 46. User Story Mapping Créer un véritable MVP
  47. 47. C’est la compréhension du développeur qui devient le logiciel, pas le cahier des charges.
  48. 48. Socle GénériqueMétier Spécifique
  49. 49. Projet complexe ? Mauvaise conception ?
  50. 50. Deux Formes de Complexité Complexité Essentielle
  51. 51. Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle
  52. 52. Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle ≠ Dette Technique
  53. 53. + Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle
  54. 54. Comment estimez-vous ? Arrêtez d’estimer !
  55. 55. Comment estimez-vous ? Arrêtez d’estimer !
  56. 56. - Un développeur qui fait une estimation fiable « Je ne sais pas ! »
  57. 57. Comment éviter la complexité accidentelle ? En prenant soin du code !En prenant soin du code !
  58. 58. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ?
  59. 59. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier !
  60. 60. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier ! Je risque de tout péter non ?
  61. 61. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier ! Je risque de tout péter non ? Non ! Grâce aux tests automatisés !
  62. 62. accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier ! Je risque de tout péter non ? Non ! Grâce aux tests automatisés !
  63. 63. Deux possibilités Économiquement Mort
  64. 64. Comment s’en sortir ? Deux possibilités Économiquement Mort Avant la 1ère mise en prod 😱
  65. 65. Deux possibilités Économiquement Mort Comment s’en sortir ? Repartir de zéro avec des tests
  66. 66. Repartir de zéro avec des tests Deux possibilités Économiquement Mort Comment s’en sortir ?
  67. 67. Deux possibilités Économiquement Mort
  68. 68. Embaucher ? Deux possibilités Économiquement Viable Tierce Maintenance Applicative 😱
  69. 69. Deux possibilités Économiquement Viable Embaucher ?
  70. 70. Économiquement Viable Embaucher ? Fred Brooks
  71. 71. Fred Brooks « Adding manpower to a late project makes it later. »
  72. 72. Écrire des tests... ...pour pouvoir refactor...
  73. 73. Écrire des tests... ...pour pouvoir refactor... ...pour prospérer !
  74. 74. Écrire des tests... ...pour pouvoir refactor... ...pour prospérer !
  75. 75. Scrum
  76. 76. Scrum + Extreme Programming
  77. 77. Test Driven Development Culture du Partage
  78. 78. Culture du Partage Test Driven Development Solidarité Technologique
  79. 79. Culture du Partage Test Driven Development Solidarité Technologique
  80. 80. Créer un logiciel pertinent avec le meilleur ROI est difficile
  81. 81. Ne pas négliger le Code Ni la compréhension du Développeur
  82. 82. Ne pas négliger le Code Ni la compréhension du Développeur
  83. 83. Du Code
  84. 84. Du Code & Des Humains Merci !
  85. 85. Du Code & Des Humains Merci ! ryfacto.fr@nverinaud Envie de travailler avec nous ?

×