Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Devoxx france 2015 - Coding Fast and Slow

764 views

Published on

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.

Published in: Software
  • Login to see the comments

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

×