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
Du Code &
Des Humains
ryfacto.fr
Nicolas VERINAUD
@nverinaud
« Google The Error Message Algorithm »
Toile de Paillage Tissée
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Mars Climate Orbiter
Therac-25 911
https://en.wikipedia.org/wiki/List_of_software_bugs
Développeur
Professionnel
🙂
Fonctionnalité
3 jours
😕 Fonctionnalité
3 semaines
😖
Fonctionnalité
Trop long
Productivité
0
25
50
75
100
Mois
0 1 2 3 4 5 6 7 8 9 10 11 12
Vélocité
Développeur : une espèce à
part ?
Réécrire : une fatalité ?
Développeur : une espèce à
part ?
Réécrire : une fatalité ?
Client Commercial
Directeur
Technique
Dev Scrum Master Mockups Master
Utilisateur Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Utilisateur Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Téléphone ArabeEnterprise Edition
• Les individus et leurs interactions plus que les processus et les outils
• Des logiciels opérationnels plus qu’une docum...
Discuter avec l’utilisateur
pour construire un logiciel qui
fait le boulot
Qu’est-ce que le code ?
Qu’est-ce que le code ?
Le code est la spécification la
plus détaillée du monde
- Alberto Brandolini
« C’est la compréhension du développeur, pas votre connaissance,
qui devient le logiciel. »
01001010
11101111
01010101
UX
Comment comprendre
efficacement les besoins ?
Quel est le véritable problème ?
Les 5 « Pourquoi ? » et la
définition récursive
Quel est le véritable problème ?
Les 5 « Pourquoi ? » et la
définition récursive
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 êtr...
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 êtr...
définition récursive
« Pour aider les médecins à faire leurs
ordonnances. »
Pourquoi ?
définition récursive
« Car les médecins font des erreurs en prescrivant
des médicaments. »
Pourquoi ?
définition récursive
« Car ils prescrivent des médicaments
incompatibles. »
Pourquoi ?
définition récursive
« Car les interactions entre les médicaments sont
complexes. »
Une interaction entre médicaments ?
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...
Base de donnée générique de médicaments
Aider les médecins à prescrire les
bons médicaments
Quelles solutions ?
Impact Mapping
Impact Mapping
Quelles solutions ?
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Impact Mapping
Quelles solutions ?
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Gojko Adzic
Implémentation ? Métier ?
Event Storming
Implémentation ? Métier ?
Event Storming
Aligner Métier et Technique
Implémentation ? Métier ?
Event Storming
Aligner Métier et Technique
http://ziobrando.blogspot.fr/2013/11/introducing-even...
Vision d’ensemble ? Priorités ?
User Story Mapping
Vision d’ensemble ? Priorités ?
User Story Mapping
Créer un véritable MVP
User Story Mapping
Vision d’ensemble ? Priorités ?
Créer un véritable MVP
User Story Mapping
Créer un véritable MVP
Jeff Patton
User Story Mapping
Créer un véritable MVP
C’est la compréhension du
développeur qui devient le
logiciel, pas le cahier des
charges.
Socle GénériqueMétier Spécifique
Projet complexe ?
Mauvaise conception ?
Deux Formes de Complexité
Complexité Essentielle
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
≠
Dette Technique
+
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment estimez-vous ?
Arrêtez d’estimer !
Comment estimez-vous ?
Arrêtez d’estimer !
- Un développeur qui fait une estimation fiable
« Je ne sais pas ! »
Comment éviter la complexité
accidentelle ?
En prenant soin du code !En prenant soin du code !
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout p...
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout p...
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout péter non ?
Non ! Grâce aux te...
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Deux possibilités
Économiquement Mort
Avant la 1ère mise en prod 😱
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Repartir de zéro avec des tests
Repartir de zéro avec des tests
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Deux possibilités
Économiquement Mort
Embaucher ?
Deux possibilités
Économiquement Viable
Tierce Maintenance Applicative 😱
Deux possibilités
Économiquement Viable
Embaucher ?
Économiquement Viable
Embaucher ?
Fred Brooks
Fred Brooks
« Adding manpower to a late project makes it later. »
Écrire des tests...
...pour pouvoir refactor...
Écrire des tests...
...pour pouvoir refactor...
...pour prospérer !
Écrire des tests...
...pour pouvoir refactor...
...pour prospérer !
Scrum
Scrum
+
Extreme Programming
Test Driven Development
Culture du Partage
Culture du Partage
Test Driven Development
Solidarité Technologique
Culture du Partage
Test Driven Development
Solidarité Technologique
Créer un logiciel pertinent
avec le meilleur ROI est difficile
Ne pas négliger le Code
Ni la compréhension du
Développeur
Ne pas négliger le Code
Ni la compréhension du
Développeur
Du Code
Du Code & Des Humains
Merci !
Du Code & Des Humains
Merci !
ryfacto.fr@nverinaud
Envie de travailler
avec nous ?
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Du Code & Des Humains
Prochain SlideShare
Chargement dans…5
×

sur

Du Code & Des Humains Slide 1 Du Code & Des Humains Slide 2 Du Code & Des Humains Slide 3 Du Code & Des Humains Slide 4 Du Code & Des Humains Slide 5 Du Code & Des Humains Slide 6 Du Code & Des Humains Slide 7 Du Code & Des Humains Slide 8 Du Code & Des Humains Slide 9 Du Code & Des Humains Slide 10 Du Code & Des Humains Slide 11 Du Code & Des Humains Slide 12 Du Code & Des Humains Slide 13 Du Code & Des Humains Slide 14 Du Code & Des Humains Slide 15 Du Code & Des Humains Slide 16 Du Code & Des Humains Slide 17 Du Code & Des Humains Slide 18 Du Code & Des Humains Slide 19 Du Code & Des Humains Slide 20 Du Code & Des Humains Slide 21 Du Code & Des Humains Slide 22 Du Code & Des Humains Slide 23 Du Code & Des Humains Slide 24 Du Code & Des Humains Slide 25 Du Code & Des Humains Slide 26 Du Code & Des Humains Slide 27 Du Code & Des Humains Slide 28 Du Code & Des Humains Slide 29 Du Code & Des Humains Slide 30 Du Code & Des Humains Slide 31 Du Code & Des Humains Slide 32 Du Code & Des Humains Slide 33 Du Code & Des Humains Slide 34 Du Code & Des Humains Slide 35 Du Code & Des Humains Slide 36 Du Code & Des Humains Slide 37 Du Code & Des Humains Slide 38 Du Code & Des Humains Slide 39 Du Code & Des Humains Slide 40 Du Code & Des Humains Slide 41 Du Code & Des Humains Slide 42 Du Code & Des Humains Slide 43 Du Code & Des Humains Slide 44 Du Code & Des Humains Slide 45 Du Code & Des Humains Slide 46 Du Code & Des Humains Slide 47 Du Code & Des Humains Slide 48 Du Code & Des Humains Slide 49 Du Code & Des Humains Slide 50 Du Code & Des Humains Slide 51 Du Code & Des Humains Slide 52 Du Code & Des Humains Slide 53 Du Code & Des Humains Slide 54 Du Code & Des Humains Slide 55 Du Code & Des Humains Slide 56 Du Code & Des Humains Slide 57 Du Code & Des Humains Slide 58 Du Code & Des Humains Slide 59 Du Code & Des Humains Slide 60 Du Code & Des Humains Slide 61 Du Code & Des Humains Slide 62 Du Code & Des Humains Slide 63 Du Code & Des Humains Slide 64 Du Code & Des Humains Slide 65 Du Code & Des Humains Slide 66 Du Code & Des Humains Slide 67 Du Code & Des Humains Slide 68 Du Code & Des Humains Slide 69 Du Code & Des Humains Slide 70 Du Code & Des Humains Slide 71 Du Code & Des Humains Slide 72 Du Code & Des Humains Slide 73 Du Code & Des Humains Slide 74 Du Code & Des Humains Slide 75 Du Code & Des Humains Slide 76 Du Code & Des Humains Slide 77 Du Code & Des Humains Slide 78 Du Code & Des Humains Slide 79 Du Code & Des Humains Slide 80 Du Code & Des Humains Slide 81 Du Code & Des Humains Slide 82 Du Code & Des Humains Slide 83 Du Code & Des Humains Slide 84 Du Code & Des Humains Slide 85 Du Code & Des Humains Slide 86 Du Code & Des Humains Slide 87 Du Code & Des Humains Slide 88 Du Code & Des Humains Slide 89 Du Code & Des Humains Slide 90 Du Code & Des Humains Slide 91 Du Code & Des Humains Slide 92 Du Code & Des Humains Slide 93 Du Code & Des Humains Slide 94 Du Code & Des Humains Slide 95 Du Code & Des Humains Slide 96 Du Code & Des Humains Slide 97
Prochain SlideShare
What to Upload to SlideShare
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0 j’aime

Partager

Télécharger pour lire hors ligne

Du Code & Des Humains

Télécharger pour lire hors ligne

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.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir
  • 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 ?

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.

Vues

Nombre de vues

122

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

0

Actions

Téléchargements

0

Partages

0

Commentaires

0

Mentions J'aime

0

×