76
@kawabytes @ygrenzinger #CodingFastAndSlow Coding, Fast & Slow @kawabytes Maxime MADER, Carbon-IT @ygrenzinger Yannick GRENZINGER, Carbon-IT

Devoxx france 2015 - Coding Fast and Slow

Embed Size (px)

Citation preview

Page 1: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Coding, Fast & Slow

@kawabytes Maxime MADER, Carbon-IT

@ygrenzinger Yannick GRENZINGER, Carbon-IT

Page 2: Devoxx france 2015 - Coding Fast and Slow

@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

Page 3: Devoxx france 2015 - Coding Fast and Slow

@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

Page 4: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Biais de représentativité

raisonnement basé sur les informations du texte

vsraisonnement logique et probabiliste

(loi d’inclusion)

Page 5: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Psychologie du Raisonnement

Page 6: Devoxx france 2015 - Coding Fast and Slow
Page 7: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Induction Déduction

a a

b a -> b

a -> b b

Inférences

Page 8: Devoxx france 2015 - Coding Fast and Slow
Page 9: Devoxx france 2015 - Coding Fast and Slow
Page 10: Devoxx france 2015 - Coding Fast and Slow
Page 11: Devoxx france 2015 - Coding Fast and Slow

@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).

Page 12: Devoxx france 2015 - Coding Fast and Slow
Page 13: Devoxx france 2015 - Coding Fast and Slow

@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.

Page 14: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Biais cognitifs

• Sensori-moteurs

• Attentionnels

• Mnésiques

• Jugement

• Raisonnement

• Liés à la personnalité

Page 15: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Analyse, Conception

• Biais d’intérêt

• Illusion de savoir

• Biais de la tâche aveugle

• Effet Dunning-Kruger

Page 16: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Codage, Test, Debugging

• Perception sélective

• Dissonance cognitive

• Illusion des séries

Page 17: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Rétrospection

• Biais d’autocomplaisance

• Biais d’immunité à l’erreur

• Biais rétrospectif

Page 18: Devoxx france 2015 - Coding Fast and Slow
Page 19: Devoxx france 2015 - Coding Fast and Slow
Page 20: Devoxx france 2015 - Coding Fast and Slow

Système 1

Page 21: Devoxx france 2015 - Coding Fast and Slow

Système 2

Page 22: Devoxx france 2015 - Coding Fast and Slow

Système 1

Page 23: Devoxx france 2015 - Coding Fast and Slow

Système 2

Page 24: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Système 1

impressionsintuitions

sentiments

Système 2

croyancesactions volontaires

contrôle de soi

Page 25: Devoxx france 2015 - Coding Fast and Slow

@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.

Page 26: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

biais d’appariement

Fanent

Roses

Fleurs

Page 27: Devoxx france 2015 - Coding Fast and Slow

@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é)

Page 28: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Système 3

• Fonction d’arbitrage

• Contrôle inhibiteur, guidage émotionnel

• Réconciliation de Piaget et de Kahneman

Page 29: Devoxx france 2015 - Coding Fast and Slow

@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

Page 30: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

L’art sombre de l’Estimation

Page 31: Devoxx france 2015 - Coding Fast and Slow
Page 32: Devoxx france 2015 - Coding Fast and Slow
Page 33: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

L’estimation politique

Page 34: Devoxx france 2015 - Coding Fast and Slow
Page 35: Devoxx france 2015 - Coding Fast and Slow
Page 36: Devoxx france 2015 - Coding Fast and Slow
Page 37: Devoxx france 2015 - Coding Fast and Slow
Page 38: Devoxx france 2015 - Coding Fast and Slow
Page 39: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Régression à la moyenne

Page 40: Devoxx france 2015 - Coding Fast and Slow
Page 41: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Solution ?

Page 42: Devoxx france 2015 - Coding Fast and Slow
Page 43: Devoxx france 2015 - Coding Fast and Slow
Page 44: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

La construction de la Réalité

Page 45: Devoxx france 2015 - Coding Fast and Slow
Page 46: Devoxx france 2015 - Coding Fast and Slow
Page 47: Devoxx france 2015 - Coding Fast and Slow

premier ordre - objective

Page 48: Devoxx france 2015 - Coding Fast and Slow

second ordre - subjective

Page 49: Devoxx france 2015 - Coding Fast and Slow
Page 50: Devoxx france 2015 - Coding Fast and Slow

lover

Page 51: Devoxx france 2015 - Coding Fast and Slow
Page 52: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow

« quand je viens de finir les specs et que je n’y ai rien compris »

Page 53: Devoxx france 2015 - Coding Fast and Slow
Page 54: Devoxx france 2015 - Coding Fast and Slow

@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»

Page 55: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Solution ?

Page 56: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow

Behavior Driven Development

Page 57: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Exemples BDD Tests d’acceptation

Spécifications liées au domaine métier

se transforment

testentdécrivent

Page 58: Devoxx france 2015 - Coding Fast and Slow
Page 59: Devoxx france 2015 - Coding Fast and Slow
Page 60: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Le Flux, Néguentropie Psychique

Page 61: Devoxx france 2015 - Coding Fast and Slow

Mihály Csíkszentmihályi - concept du flux

Page 62: Devoxx france 2015 - Coding Fast and Slow
Page 63: Devoxx france 2015 - Coding Fast and Slow
Page 64: Devoxx france 2015 - Coding Fast and Slow
Page 65: Devoxx france 2015 - Coding Fast and Slow
Page 66: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Solution ?

Page 67: Devoxx france 2015 - Coding Fast and Slow

@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

Page 68: Devoxx france 2015 - Coding Fast and Slow
Page 69: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Pair programming

Page 70: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Three more things..

Page 71: Devoxx france 2015 - Coding Fast and Slow
Page 72: Devoxx france 2015 - Coding Fast and Slow

@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

Page 73: Devoxx france 2015 - Coding Fast and Slow

@kawabytes @ygrenzinger#CodingFastAndSlow

Principes de design

• Affordance

• Contraintes

• Visibilité

• Association

Page 74: Devoxx france 2015 - Coding Fast and Slow

@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

Page 75: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle#DVXFR14{session hashtag} @kawabytes @ygrenzinger#CodingFastAndSlow

Pour aller plus loin …

Page 76: Devoxx france 2015 - Coding Fast and Slow

@YourTwitterHandle@YourTwitterHandle@kawabytes @ygrenzinger#CodingFastAndSlow

Q & A