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.
Projet complexe ?
Projet complexe ?
Mauvaise conception ?
Projet complexe ?
Mauvaise conception ?
Deux Formes de Complexité
Complexité Essentielle
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment s’en rendre compte ?
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
≠
Dette Technique
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment s’en rendre compte ?
+
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 - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Prochain SlideShare
Chargement dans…5
×

sur

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

2 j’aime

Partager

Télécharger pour lire hors ligne

Du Code & Des Humains - Agile Tour Strasbourg 2017

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

Du Code & Des Humains - Agile Tour Strasbourg 2017

  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. Projet complexe ?
  49. 49. Projet complexe ? Mauvaise conception ?
  50. 50. Projet complexe ? Mauvaise conception ?
  51. 51. Deux Formes de Complexité Complexité Essentielle
  52. 52. Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle
  53. 53. Comment s’en rendre compte ? Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle ≠ Dette Technique
  54. 54. Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle Comment s’en rendre compte ?
  55. 55. + Deux Formes de Complexité Complexité Essentielle Complexité Accidentelle
  56. 56. Comment estimez-vous ? Arrêtez d’estimer !
  57. 57. Comment estimez-vous ? Arrêtez d’estimer !
  58. 58. - Un développeur qui fait une estimation fiable « Je ne sais pas ! »
  59. 59. Comment éviter la complexité accidentelle ? En prenant soin du code !En prenant soin du code !
  60. 60. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ?
  61. 61. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier !
  62. 62. Comment éviter la complexité accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier ! Je risque de tout péter non ?
  63. 63. 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 !
  64. 64. accidentelle ? En prenant soin du code ! Comment ? Refactoring régulier ! Je risque de tout péter non ? Non ! Grâce aux tests automatisés !
  65. 65. Deux possibilités Économiquement Mort
  66. 66. Comment s’en sortir ? Deux possibilités Économiquement Mort Avant la 1ère mise en prod 😱
  67. 67. Deux possibilités Économiquement Mort Comment s’en sortir ? Repartir de zéro avec des tests
  68. 68. Repartir de zéro avec des tests Deux possibilités Économiquement Mort Comment s’en sortir ?
  69. 69. Deux possibilités Économiquement Mort
  70. 70. Embaucher ? Deux possibilités Économiquement Viable Tierce Maintenance Applicative 😱
  71. 71. Deux possibilités Économiquement Viable Embaucher ?
  72. 72. Économiquement Viable Embaucher ? Fred Brooks
  73. 73. Fred Brooks « Adding manpower to a late project makes it later. »
  74. 74. Écrire des tests... ...pour pouvoir refactor...
  75. 75. Écrire des tests... ...pour pouvoir refactor... ...pour prospérer !
  76. 76. Écrire des tests... ...pour pouvoir refactor... ...pour prospérer !
  77. 77. Scrum
  78. 78. Scrum + Extreme Programming
  79. 79. Test Driven Development Culture du Partage
  80. 80. Culture du Partage Test Driven Development Solidarité Technologique
  81. 81. Culture du Partage Test Driven Development Solidarité Technologique
  82. 82. Créer un logiciel pertinent avec le meilleur ROI est difficile
  83. 83. Ne pas négliger le Code Ni la compréhension du Développeur
  84. 84. Ne pas négliger le Code Ni la compréhension du Développeur
  85. 85. Du Code
  86. 86. Du Code & Des Humains Merci !
  87. 87. Du Code & Des Humains Merci ! ryfacto.fr@nverinaud Envie de travailler avec nous ?
  • BernardBANITZ

    Dec. 6, 2017
  • johan.moreau

    Nov. 30, 2017

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

588

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

29

Actions

Téléchargements

5

Partages

0

Commentaires

0

Mentions J'aime

2

×