devoxx france 2015 - coding fast and slow
Post on 29-Jul-2015
69 Views
Preview:
TRANSCRIPT
@kawabytes @ygrenzinger#CodingFastAndSlow
Coding, Fast & Slow
@kawabytes Maxime MADER, Carbon-IT
@ygrenzinger Yannick GRENZINGER, Carbon-IT
@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
@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’accueilB. Hôtesse d’accueil et active dans un mouvement féministe
@kawabytes @ygrenzinger#CodingFastAndSlow
Biais de représentativité
raisonnement basé sur les informations du texte
vsraisonnement logique et probabiliste
(loi d’inclusion)
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Psychologie du Raisonnement
@kawabytes @ygrenzinger#CodingFastAndSlow
Induction Déduction
a a
b a -> b
a -> b b
Inférences
@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).
@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.
@kawabytes @ygrenzinger#CodingFastAndSlow
Biais cognitifs
• Sensori-moteurs
• Attentionnels
• Mnésiques
• Jugement
• Raisonnement
• Liés à la personnalité
@kawabytes @ygrenzinger#CodingFastAndSlow
Analyse, Conception
• Biais d’intérêt
• Illusion de savoir
• Biais de la tâche aveugle
• Effet Dunning-Kruger
@kawabytes @ygrenzinger#CodingFastAndSlow
Codage, Test, Debugging
• Perception sélective
• Dissonance cognitive
• Illusion des séries
@kawabytes @ygrenzinger#CodingFastAndSlow
Rétrospection
• Biais d’autocomplaisance
• Biais d’immunité à l’erreur
• Biais rétrospectif
Système 1
Système 2
Système 1
Système 2
@kawabytes @ygrenzinger#CodingFastAndSlow
Système 1
impressionsintuitions
sentiments
Système 2
croyancesactions volontaires
contrôle de soi
@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.
@kawabytes @ygrenzinger#CodingFastAndSlow
biais d’appariement
Fanent
Roses
Fleurs
@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é)
@kawabytes @ygrenzinger#CodingFastAndSlow
Système 3
• Fonction d’arbitrage
• Contrôle inhibiteur, guidage émotionnel
• Réconciliation de Piaget et de Kahneman
@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
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
L’art sombre de l’Estimation
@kawabytes @ygrenzinger#CodingFastAndSlow
L’estimation politique
@kawabytes @ygrenzinger#CodingFastAndSlow
Régression à la moyenne
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Solution ?
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
La construction de la Réalité
premier ordre - objective
second ordre - subjective
lover
@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow
« quand je viens de finir les specs et que je n’y ai rien compris »
@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»
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Solution ?
@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow
Behavior Driven Development
@kawabytes @ygrenzinger#CodingFastAndSlow
Exemples BDD Tests d’acceptation
Spécifications liées au domaine métier
se transforment
testentdécrivent
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Le Flux, Néguentropie Psychique
Mihály Csíkszentmihályi - concept du flux
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Solution ?
@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
@kawabytes @ygrenzinger#CodingFastAndSlow
Pair programming
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Three more things..
@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
@kawabytes @ygrenzinger#CodingFastAndSlow
Principes de design
• Affordance
• Contraintes
• Visibilité
• Association
@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
@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow
Pour aller plus loin …
@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow
Q & A
top related