Devoxx france 2015 - Coding Fast and Slow

393 vues

Publié le

Pourquoi est-il difficile d’estimer la charge d’un projet ? Pourquoi développeurs et métiers ne se comprennent pas ? Pourquoi expliquer un problème à un canard en caoutchouc permet de trouver la solution ?
L’objectif de notre présentation est de sensibiliser les développeurs à la psychologie et au science cognitive à travers en particulier à travers de la thèse de la pensée à deux vitesses, des biais cognitifs et leurs impacts sur notre faculté de jugement.
Nous proposons une découverte adaptée au quotidien du développeur ainsi que comment améliorer les choses à travers différents exemples.

Publié dans : Logiciels
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
393
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Devoxx france 2015 - Coding Fast and Slow

  1. 1. @kawabytes @ygrenzinger#CodingFastAndSlow Coding, Fast & Slow @kawabytes Maxime MADER, Carbon-IT @ygrenzinger Yannick GRENZINGER, Carbon-IT
  2. 2. @kawabytes @ygrenzinger#CodingFastAndSlow Coding, Fast & Slow • Psychologie du Raisonnement • L’art sombre de l’Estimation • La construction de la Réalité • Le « flow » ou la Néguentropie Psychique
  3. 3. @kawabytes @ygrenzinger#CodingFastAndSlow Quizz #1 • Linda a 31 ans et possède une maîtrise de philosophie. Etudiante, elle se montrait très préoccupée par les questions de discrimination et de justice sociale, elle participait aussi à des manifestations antinucléaires. A. Hôtesse d’accueil B. Hôtesse d’accueil et active dans un mouvement féministe
  4. 4. @kawabytes @ygrenzinger#CodingFastAndSlow Biais de représentativité raisonnement basé sur les informations du texte vs raisonnement logique et probabiliste (loi d’inclusion)
  5. 5. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Psychologie du Raisonnement
  6. 6. @kawabytes @ygrenzinger#CodingFastAndSlow Induction Déduction a a b a -> b a -> b b Inférences
  7. 7. @kawabytes @ygrenzinger#CodingFastAndSlow Evolution psychique • Sensori-motrice (de 0 à 2 ans). • Préopératoire : langage, dessin, symbolisme (de 2 à 6 ans). • Opératoire : nombre, classes, logique concrète (de 6 à 10 ans). • Formelles : hypothèses, déductions (de 10 à 16 ans).
  8. 8. @kawabytes @ygrenzinger#CodingFastAndSlow Evans, Kahneman, Tversky • Etudes scientifique des erreurs de raisonnement (Evans). • Découverte des biais cognitifs, heuristiques (Kahneman, Tversky). • Inductif ou déductif, nous faisons tout le temps des erreurs.
  9. 9. @kawabytes @ygrenzinger#CodingFastAndSlow Biais cognitifs • Sensori-moteurs • Attentionnels • Mnésiques • Jugement • Raisonnement • Liés à la personnalité
  10. 10. @kawabytes @ygrenzinger#CodingFastAndSlow Analyse, Conception • Biais d’intérêt • Illusion de savoir • Biais de la tâche aveugle • Effet Dunning-Kruger
  11. 11. @kawabytes @ygrenzinger#CodingFastAndSlow Codage, Test, Debugging • Perception sélective • Dissonance cognitive • Illusion des séries
  12. 12. @kawabytes @ygrenzinger#CodingFastAndSlow Rétrospection • Biais d’autocomplaisance • Biais d’immunité à l’erreur • Biais rétrospectif
  13. 13. Système 1
  14. 14. Système 2
  15. 15. Système 1
  16. 16. Système 2
  17. 17. @kawabytes @ygrenzinger#CodingFastAndSlow Système 1 impressions intuitions sentiments Système 2 croyances actions volontaires contrôle de soi
  18. 18. @kawabytes @ygrenzinger#CodingFastAndSlow Quizz #2 • Toutes les roses sont des fleurs, certaines fleurs fanent vites, est-ce que certaines roses fanent vites ? A. Non. B. Oui.
  19. 19. @kawabytes @ygrenzinger#CodingFastAndSlow biais d’appariement Fanent Roses Fleurs
  20. 20. @kawabytes @ygrenzinger#CodingFastAndSlow Damasio, Houdé • La prise de décision et le raisonnement implique tout le corps (Damasio) • Les émotions comme le trait d’union entre le système 1 et le système 2 de Kahneman? (Houdé)
  21. 21. @kawabytes @ygrenzinger#CodingFastAndSlow Système 3 • Fonction d’arbitrage • Contrôle inhibiteur, guidage émotionnel • Réconciliation de Piaget et de Kahneman
  22. 22. @kawabytes @ygrenzinger#CodingFastAndSlow Pour aller plus loin.. • Développement de la compréhension du raisonnement • Méta-cognition • Automatisme + règles logiques, stratégie neuro-culturelle
  23. 23. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow L’art sombre de l’Estimation
  24. 24. @kawabytes @ygrenzinger#CodingFastAndSlow L’estimation politique
  25. 25. @kawabytes @ygrenzinger#CodingFastAndSlow Régression à la moyenne
  26. 26. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Solution ?
  27. 27. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow La construction de la Réalité
  28. 28. premier ordre - objective
  29. 29. second ordre - subjective
  30. 30. lover
  31. 31. @YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow « quand je viens de finir les specs et que je n’y ai rien compris »
  32. 32. @kawabytes @ygrenzinger#CodingFastAndSlow -Thomas Hora «Pour se comprendre lui-même, l’homme a besoin d’être compris par un autre. Pour être compris par un autre, il lui faut comprendre cet autre»
  33. 33. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Solution ?
  34. 34. @YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow Behavior Driven Development
  35. 35. @kawabytes @ygrenzinger#CodingFastAndSlow Exemples BDD Tests d’acceptation Spécifications liées au domaine métier se transforment testentdécrivent
  36. 36. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Le Flux, Néguentropie Psychique
  37. 37. Mihály Csíkszentmihályi - concept du flux
  38. 38. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Solution ?
  39. 39. @kawabytes @ygrenzinger#CodingFastAndSlow Rubber duck Driven «debug their code by forcing themselves to explain it, line-by- line, to the duck» - The Pragmatic Programmer: From Journeyman to Master
  40. 40. @kawabytes @ygrenzinger#CodingFastAndSlow Pair programming
  41. 41. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Three more things..
  42. 42. @kawabytes @ygrenzinger#CodingFastAndSlow float InvSqrt (float x){ float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } Modèle mental Codeur Mainteneur
  43. 43. @kawabytes @ygrenzinger#CodingFastAndSlow Principes de design • Affordance • Contraintes • Visibilité • Association
  44. 44. @kawabytes @ygrenzinger#CodingFastAndSlow Pour résumer • Allez découvrir la psychologie et les sciences cognitives • Ne perdez pas du temps à estimer mais mesurer en permanence • Faites en sorte de réunir les deux niveaux de réalités que sont les codes et les besoins métiers • Apprenez à gérer votre énergie et vos 3 systèmes dans votre vie de tous les jours
  45. 45. @YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow Pour aller plus loin …
  46. 46. @YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow Q & A

×