Maxime Mader, Yannick Grenzinger
Transcription
Donc cette présentation, ça s'appelle Coding Fast and Slow. Qui est développeur ici? J'en connais un.
C'est beau ça!
C'est beau, on n'est pas obligé de changer, on s'est dit merde, on a présenté ça pour... Il y a plein de gens qui ne développent pas Aline Cambon, on s'est trompé. Je vais laisser Maxime se présenter déjà.
C'est rapide.
Pour tout dire, il fait du Microsoft. Bon, à Devox, vous allez faire boule, il n'y a plus de technique, on s'en fiche. Donc moi, je suis aussi Technical Officer, mais côté Java. Je fais un peu de tout, aussi du JavaScript. Et puis là, en ce moment, j'ai un travail assez spécial de coaching software craftman à la Société Générale, ce qui est assez intéressant. Cette présentation, en fait, pour ceux qui l'ont déjà vue, c'est la même qu'à l'Evox, donc en fait, elle est taillée pour 45 minutes, ce qui laisse un peu de temps, et j'ai envie de jouer un peu avec la presse. Si vous avez des questions, vous levez la main et on en parle.
Un petit morceau de pub, ça va faire plaisir à nos boss. Donc Carbon IT, c'est une boîte qui a deux gros piliers. On a essayé de définir ce qu'étaient les valeurs. Les valeurs, peut-être pas, on n'y est pas encore là. Mais au moins, quels étaient les piliers de l'entreprise? C'est le code et le produit. On n'a pas de coaching agile. Le X, on aimerait bien en faire, mais ce n'est pas encore. Mais c'est vraiment développer et développer dans le cadre de produits.
Allez, on s'y met.
Cette présentation, elle est en quatre parties.
Une question?
Ah, j'ai menti. J'aime bien mentir. Donc, c'est en quatre parties. On va vous faire une intro sur la psychologie du raisonnement, parce que c'est un peu le sujet de fond de la session. Et on va essayer de l'appliquer à trois éléments. L'ensemble de l'estimation, c'est un raisonner avec des choses que vous avez entendues ce matin. La construction de la réalité et le flot ou la négantropie psychique. Ça existe vraiment le mot, vous allez voir.
Alors, on aime bien, on va essayer de rendre ça un peu dynamique. Donc, on a fait un quiz. Alors, imaginez, c'est un personnage, une personne, une jeune femme qui s'appelle Linda.
Elle a fait une maîtrise de philosophie et quand elle était étudiante, donc il y a une dizaine d'années avant, on va dire, elle était super active dans tout ce qui était question de discrimination, de justice sociale. Elle a même participé à des manifestations antinucléaires. Alors maintenant, je vais faire participer la salle. A votre avis, est-ce qu'elle est hôtesse d'accueil et active dans un mouvement féministe ou elle est simplement hôtesse d'accueil? Qui répond A?
Qui répond B, le reste, levez la main quand même au cas où.
Ça va vous tricher ou quoi? Est-ce qu'il y a des gens qui connaissent? Alors, une autre question, est-ce qu'il y a des gens qui connaissaient? Non? Je serais curieux de savoir pourquoi vous avez répondu B. En fait, la plupart des gens, normalement, répondent A. Pourquoi? Parce qu'ils font un raisonnement basé sur le texte, sur quoi vous embarque le texte, donc elle est active dans tout ce qui est questions sociales, etc. On se dit, très sûrement, elle doit être encore active dedans, elle doit faire partie d'un mouvement féministe. Mais ce qu'on oublie, c'est de faire un raisonnement purement logique, purement probabiliste, en disant que des hôtesses d'accueil, il y en a, on va dire, 100 000, et des hôtesses d'accueil qui sont aussi actives dans un mouvement féministe, il y en a peut-être 10 000, voire moins, 5 000, 1 000, je ne sais pas, je donne des chiffres à hasard, mais c'est juste... Et ça fait partie de ce qu'on appelle la loi d'inclusion. Vous avez un énorme ensemble, vous prenez une partie de cet ensemble, même si ça correspond mieux au texte, en probabilité, non, ça risque d'être plutôt au texte d'accueil. Je vais laisser Maxime parler.
C'est lui qui vous achève.
Donc tout d'abord, qu'est-ce que c'est que le raisonnement? C'est en fait un processus cognitif par lequel on va faire, étape par étape, arriver à un raisonnement qui peut nous permettre de faire plusieurs choses, comme par exemple vérifier une hypothèse, on peut très bien émettre un jugement, on peut essayer de trouver de nouvelles choses. Ce processus-là, en fait, va nous permettre d'enchaîner ce qu'on va appeler des inférences, et c'est ce processus-là. de réflexion qu'on peut appeler le raisonnement.
Alors, il y a deux grands types d'inférences. On va voir les inférences dites d'induction, où là, on part d'un cas particulier, on essaye de déduire un cas général. Donc comment est-ce que ça se lit? En fait, ça se dit si A est vrai, et si B est vrai, alors si A est vrai, on essaye d'émettre l'hypothèse que B l'est aussi. Dans le cadre de la déduction, on va plutôt partir d'un cas général. On part du principe que A est vrai, et on dit que si A, même pour être plus précis, c'est si A, alors B est vrai, alors B l'est aussi. Donc c'est deux inférences qui sont symétriques. Alors pour l'illustrer ça, parce que ça va être un peu plus parlant, si on prend l'exemple de la pomme de Newton, on peut partir d'un cas particulier, où on voit un arbre, on voit une pomme qui tombe, on peut se dire tiens, il y a une pomme qui tombe, on voit qu'en fait toutes les pommes tombent au sol, à partir de ça on peut déduire le cas général, toutes les pommes tombent au sol, et par la suite essayer de voir un concept de plus en plus grand jusqu'à l'arrivée à la gravité. Ça ne marche pas tout le temps. Un exemple sympa, c'est par exemple les signes. C'est que très longtemps, on a toujours cru que les signes étaient blancs. Surtout en Europe, jusqu'au jour où on est allé en Australie, on a découvert qu'il y avait des signes qui étaient noirs. Donc en fait, on n'a pas encore une vision globale, on n'a pas une hypothèse, on n'a pas le cas général qui est avéré. Mais à partir de l'observation, progressivement, on va tirer la logique vers une vérité qui va être globale. Pour un exemple sur la déduction, on va partir de propositions qui vont être vraies. Il y a la phrase célèbre pour illustrer la déduction qui va être seule sur Socrate, qui est« Tous les hommes sont mortels, Socrate est un homme, du coup on peut déduire que Socrate est mortel. » Et ce raisonnement-là, pour le coup, est toujours vrai au sens logique. Par contre, ça nécessite que les conditions au préalable soient vraies.
Et si vous voulez quelque chose d'encore plus tordu, allez voir l'abduction. C'est très rigolo.
Alors, un petit historique sur la psychologie du raisonnement.
Un homme qui a poussé l'étude, le premier qui a poussé une vraie étude sur le raisonnement, c'est Jean Cagé.
Il est né fin du 19e siècle et à partir de 1920, il a théorisé la psychologie du raisonnement comme étant une approche plutôt constructiviste. Pour lui, rien n'est inné, tout se construit. Et il voyait sur le processus de raisonnement, il voyait ça comme l'intelligence, comme une évolution optimale de l'âme, tout simplement. C'est à travers ce travail sur le raisonnement qu'on est arrivé à tendre vers un cas d'intelligence optimale.
Donc qu'est-ce qu'il a fait ? C'est intéressant en fait à l'ontogénèse, qui est un mot qui veut dire en fait on va étudier un organisme à partir en fait de sa naissance jusqu'à sa mort. Bon pour le coup il n'a pas tué des petits enfants, mais il s'est limité en fait à la période en fait qui va de 0 à 16 ans. Pour lui en fait il a découpé la croissance de l'organisme, donc d'un enfant, en 4 grands stades. Le premier stade en fait qu'il appelle sensoriment motard, qui est plutôt en fait sur la période entre 0 à 2 ans, où là en fait le bébé va plutôt avoir des expériences d'ordre sensoriel et motrice, il va apprendre à découvrir un peu son monde et il n'est pas encore à un stade de raisonnement trop poussé au sens logique. Puis il y a en fait une phase préopératoire entre 2 et 6 ans, où là en fait on a la découverte du langage, du dessin, du symbolisme, et on a en fait un raisonnement qui est très prisonnier de l'intuition et des repères spatiaux. Un exemple simple, c'est par exemple si on prend un liquide, on prend en fait deux verres qui ont des tailles différentes, on met exactement la même quantité d'eau, bien si on a une forme de verre où le niveau de l'eau
est plus haut, l'enfant aura l'impression qu'il y a plus d'eau d'un côté. Par exemple, si on met des billes, on met six billes d'un côté toutes rapprochées, on met six billes très espacées, il aura l'impression qu'il y a plus de billes du côté où en fait les billes sont espacées. C'est une bonne idée pour vos cadeaux.
Je suis un jeune papa, du coup j'expire beaucoup.
Du coup, en fait, c'est un bon exemple. exemple pour voir les limitations qu'on a au niveau de la logique. Vient un peu plus tard un stade opératoire, où là on a une plus grande maîtrise des repères spatiaux et des intuitions, on a en fait l'apprentissage du nombre, de la possibilité de faire de la classification, on a un début
de logique concrète, mais qui ne nous permet pas encore d'arriver à un stade d'abstraction. Donc on reste en fait sur les choses vraiment très concrètes. Et bien après, pour qu'il y ait un stade ultime, qui s'appelle en fait le stade formel, où on arrive en fait à comprendre que le réel est un cas particulier du possible. C'est qu'on peut formuler des hypothèses et avoir en fait des déductions à partir de ces hypothèses, et donc on appelle ça le raisonnement hypothético-déductif. Notez-le. Alors tout ça c'est bien beau. Le problème avec ça c'est que c'est très linéaire, ça a l'air d'être un peu trop parfait, et puis en pratique on constate qu'on a des enfants qui sont plutôt très fréquences, et d'autres qui ont un peu de retard. Alors quand Piaget a été critiqué sur... Sur ces écarts constatés, il a commencé à parler de décalage horizontal et que ces différents stades sont découpés en sous-stades. Il parlait après de décalage vertical. En fait, il essayait de faire en sorte que la théorie ait toujours raison et qu'on voyait clairement que ça ne marchait pas. Aussi, si on voit un peu cette théorie, on peut se dire, quand on arrive au dernier stade, on a le stade... On a un être de pure logique, et en pratique, on constate que ce n'est pas du tout le cas. On commet toujours des erreurs, et cela à n'importe quel âge.
Donc, quelques années plus tard, on est à peu près en 1980, on a Evan, Skadman et Turski qui ont travaillé en fait, plutôt que de travailler sur le raisonnement logique pur, comment est-ce qu'on arrive à des vérités, se sont plutôt intéressés aux erreurs de raisonnement. Avant eux, il y avait beaucoup d'études, des livres sur les règles logiques, sur la façon de trouver des bons résultats, mais jamais sur les erreurs. Et donc ça c'est un premier travail de Evans qui a percé les erreurs de raisonnement, qui a commencé à les cataloguer, de les expérimenter. On a après Kahneman et Tversky qui, eux, ont découvert ce qu'on va appeler des biais cognitifs, ce serait un peu comme des design patterns dans le développement.
Des bad design patterns.
Oui, des bad design patterns, des en fait. En fait, c'est surtout des erreurs systématiques qui se reproduisent tout le temps. Et donc, il y a une classification de ces biais cognitifs qui viennent surtout de l'intuition.
Et ce que Kahneman a observé aussi, c'est qu'il testait ses étudiants, qui étaient des gens très cultivés, très intelligents, qui faisaient des études, par exemple, en mathématiques, en statistique, et il voyait que même des cerveaux, entre guillemets, bien formés, faisaient... beaucoup d'erreurs. Et ça, en fait, aussi bien sur des raisonnements avec des inférences inductives ou des inférences déductives. Leur constat, c'est qu'au final, on fait tout le temps des erreurs.
Alors, pour vous donner une petite idée des catégories de l'écognitif, parce que si on regarde par exemple sur Wikipédia, c'est très intéressant, je vous recommande d'aller voir ça plus tard.
Il y en a 150, je crois, à peu près, ou il y en a plus de 100.
Il y en a 120, 150. Il y en a différentes catégories. Il y en a certains qui sont plutôt sensorimoteurs, d'autres qui sont au niveau de l'attention. D'autres qui ont touché à la mémoire, d'autres sur des erreurs de jugement qui sont systématiques, des erreurs de raisonnement, d'autres qui sont liées à la personnalité ou à la culture. On rentrera un peu plus en détail plus tard dans la présentation.
Ce qui est super intéressant, c'est que ces biais, vous les rencontrez tous les jours, il y en a qui sont vraiment extrêmement puissants. On verra que c'est très difficile de les éviter. Pour rentrer un peu plus dans les détails de ce qu'a fait Daniel Kahneman, alors c'est là où on a volé honteusement le titre, on ne l'a pas copié, on l'a carrément volé. Et pour information, c'est quelqu'un qui a travaillé justement sur ces erreurs de raisonnement et à partir de son travail de recherche là-dessus, a lancé ce qu'on appelle l'économie comportementale. Donc une économie qui n'est pas entièrement liée à la main visible du marché et la capacité des gens à être entièrement rationnels, mais au contraire basée sur l'irrationalité des choix des gens. Il les a mis en avant. Et en fait, il a créé... Je te pique ton en fait.
Il a créé une métaphore qui est la métaphore du cerveau fast and slow. Comme je dis, c'est une simple métaphore. Je pense que tout le monde connaît la métaphore du cerveau droit, cerveau gauche. Au début, on a cru à un moment carrément que c'était deux parties qui avaient des travaux différents, des choses différentes. Non, en fait, les deux cerveaux ont des traitements différents, mais ne sont pas liés à un qui est créatif, un qui est logique. Vous en coupez un, il y en a un qui est plus créatif ou inversement. La métaphore de Fast and Slow, c'est exactement pareil. Vous n'avez pas une partie du cerveau qui vous fait votre raisonnement rapide et un autre qui fait le raisonnement long. C'est un ensemble, c'est une métaphore du fonctionnement. Pour expliciter la métaphore, pour ceux qui connaissent, ça va leur rappeler des souvenirs. La métaphore, c'est quoi? Vous avez un cerveau rapide, c'est quelque chose dont l'action est non consciente. Vous allez faire quelque chose et ça ne va pas être lié à un raisonnement poussé, à un raisonnement que vous avez contrôlé. Tout simplement, c'est l'exemple, vous rentrez un soir chez vous en voiture, c'est le chemin que vous avez fait pour la dix-millième fois ou la dix-millième heure.
Si on vous demande qu'est-ce qui s'est passé, vous ne saurez même pas. Vous auriez pu croiser, peut-être pas une biche, mais au moins le 20e intersection que vous connaissez par cœur, vous n'allez pas l'avoir. Et c'est d'ailleurs un des problèmes liés à la circulation, c'est souvent les accidents arrivent dans les 20 km près de chez soi, parce qu'on est tellement en mode automatique que si un événement extérieur qui n'est pas prévu arrive, le cerveau ne va même pas le prendre en compte. C'est pour revenir à un petit exemple. Est-ce que vous connaissez l'expérimentation avec des gens qui se passent une balle de basket? Qui connaît? pousser à un raisonnement que vous avez contrôlé. Tout simplement, c'est l'exemple, vous rentrez un soir chez vous en voiture, c'est le chemin que vous avez fait pour la dix-millième fois, ou la dix-millième heure, si on vous demande qu'est-ce qui s'est passé, vous ne saurez même pas, vous auriez pu croiser, peut-être pas une biche, mais au moins le vingtième intersection que vous connaissez par cœur, vous n'allez pas l'avoir. Et c'est d'ailleurs un des problèmes liés à la circulation, c'est souvent les accidents arrivent dans les 20 km près de chez soi, parce qu'on est tellement en mode automatique que si un événement extérieur qui n'est pas prévu arrive, le cerveau ne va même pas le prendre en compte.
C'est pour revenir à un petit exemple. Est-ce que vous connaissez l'expérimentation avec des gens qui se passent une balle de basket? Qui connaît? Il n'y en a qu'un? Allez la voir, vous comprendrez. Regardez une petite vidéo, des gens se passent une balle de basket, il faut surtout que vous comptiez le nombre de passes qui sont faites. Et à côté de ça, vous avez le système LAN, le système 2, qui est appelé LAN, c'est peut-être péjoratif, donc le système 2, qui lui est plutôt lié à la réflexion. Vous avez un problème de maths, vous avez un problème d'algo, vous avez un problème d'architecture, vous allez devoir réfléchir. Si vous faites l'architecture de façon système 1, ça peut être très rigolo, mais on va essayer de réfléchir. Vous avez un problème de quel est le besoin du client. Si vous le faites en système 1, ça va être aussi très embêtant. Donc on va essayer d'activer système 2.
On va voir après, il n'y en a pas un qui est mieux que l'autre. Quand on le présente, la première façon dont je vous le présente, je vais vous dire que le système 1, ce n'est pas terrible, ça fait des erreurs. Le système 2... C'est super, il faut l'utiliser au maximum. Ce n'est pas si vrai que ça.
Je reviens sur la théorie des 10 000 heures. 10 000 heures, c'est quoi? C'est qu'on fait passer le système 2 en système 1. On s'entraîne 10 000 heures au violoncelle pour que le fait de faire du violon sur la partition la plus dure au monde soit automatique. On fait des katas en informatique, ceux qui sont développeurs connaissent peut-être ça, les katas c'est pour faire passer des choses en automatique. Il y a plein d'éléments comme ça, et après ça va être de plus en plus facile. On apprend les raccourcis sous une intelligence ou Eclipse pour que ça devienne automatique et que ça aille plus vite et qu'on code à la vitesse de la lumière. Et c'est l'exemple aussi de ce... De cette personne qui fait de la Formule 1, si on met quelqu'un qui ne l'a pas appris, qui n'a pas passé le système 2 de faire« je roule à 300 km heure sur un circuit», c'est impossible. Si le mec prend du temps à réfléchir à chaque virage, il ne va pas rouler à 300 km heure, il va rouler à 50 km heure.
L'autre chose, c'est que le système 2, on pourrait dire, allez, on met tout sur le système 2, on essaie de tout bien réfléchir, tout bien maîtriser, sauf qu'en fait, il consomme énormément d'énergie au premier sens du terme. Si vous n'utilisez que le système 2, à la fin, vous allez lui manquer de sucre, vous allez dormir sur la chaise, vous allez vous endormir, le fait d'aller faire une sieste, etc., de passer du temps à faire autre chose. Donc pour faire la liaison entre les deux, comment on peut les différencier? C'est qu'ils ont une importance en soi. Le système 1, c'est plus les impressions, les intuitions, les sentiments. Pour information, il y a une étude sur la... Ils montent des images en un quart de seconde. Et la question qui... peut paraître un peu spécial, c'est est-ce que cette personne est homosexuelle ou pas. Et après, ils essaient de dire la même chose avec d'autres personnes, mais en réfléchissant mieux, en donnant plus de contexte. Et au final, le système 1, et ça peut paraître contre-intuitif, vous allez voir, en psychologie, il y a énormément de choses qui peuvent paraître contre-intuitives, voire bizarres par rapport au côté éthique de la chose, c'est que les gens qui donnent une réponse en un quart de seconde sont meilleurs déterminés si la personne est homosexuelle ou pas. C'est triste.
Et c'est vrai, alors après les études de psychologie, il y a peut-être aussi des biais liés aux études, on pourrait en parler encore en désert. Et l'autre, c'est lié aux croyances. Donc vous avez utilisé le système 2, mais c'est très difficile de s'enlever des croyances. Allez, pour troller un peu, Hypernet, c'est la meilleure gestion de bases de données au monde. Les ORM, il faut toujours utiliser un ORM, ça facilite l'utilisation d'une base de données. Est-ce une croyance? C'est aussi lié au contrôle de soi, c'est-à-dire favoriser le système 2 par rapport au système 1, ça demande du contrôle de soi. Ce qui n'est pas déjà des fois pas accessible à tout le monde tout le temps, mais surtout ce qui consomme de l'énergie. Se contrôler en permanence, ça consomme de l'énergie. Sauf si ça fait partie de votre système. Alors il y a des gens qui travaillent là-dessus.
Je vais poser un autre quiz, un peu plus dur, parce que le premier, à première vue, en plus, c'était trop facile pour vous. Donc c'est un jeu de cartes, vous avez, c'est un jeu de cartes, ouais, c'est dame et roi, 7 et 5. Alors l'idée, c'est de, en tournant le minimum de cartes, donc je vais essayer de trouver des volontaires, c'est de vérifier la phrase si une carte a des... Sur une face, elle porte à 5 sur l'autre face.
Qui se lance?
Allez, on va commencer par là, on ira au fond. Vas-y.
Une carte? Assez courageux. Laquelle? Ok. Au fond, que la D? Allez, deux autres réponses pour le fun.
La D et la 5?
La D et la 5. Allez, on arrête là, il y avait la D et la 5. Eh bien, c'est bien, là, on vous a eu. Ce n'était pas la D et la 5, je vais vous expliquer. En fait, la 5, c'est une erreur. En fait, l'idée, c'est de vérifier si une carte a D sur une face, on cherche à savoir si elle a 5 sur l'autre face. On ne cherche pas à savoir si on a un 5 sur une carte, alors on a D sur l'autre carte. Et l'erreur classique en système 1, c'est-à-dire si on ne réfléchit pas, alors c'est aussi des tests de logique, si on ne réfléchit pas, c'est qu'on va dire, ah bah ouais, la 5, parce qu'en fait, on est emmené par l'énoncé. En fait, ce n'était pas uniquement la D, c'est la D et la 7. Pour vérifier si la... Pour expliquer rapidement, si derrière la 7, il y a un D, la phrase n'est plus valide. N'est plus valide ou logique.
Je vais finir pour expliquer. En fait, pour ceux qui ont répondu D et 5, surtout 5, en fait, c'est surtout 5 l'erreur, le D est assez simple, après le 5 est plus dur, c'est que vous tombez dans deux biais. Le premier, c'est le biais de vérification. chercher à confirmer notre intuition. On a une intuition, on va tout faire pour la confirmer. Donc on dit, ok, on a à peu près lu ça, on a un 5. Et là, derrière, vous allez voir, les biais en plus, ça s'enchaîne, ça se construit les uns sur les autres. Deuxième, c'est que vous avez un biais d'appariement. Par rapport à ce que vous avez lu dans le texte, vous allez essayer de confirmer ce que vous avez lu, confirmer votre intuition. Vous vous dites, dès 5, je vais aller voir 5, ce qu'il y a. Ah non. Tu voulais rajouter quelque chose? Ben ça va être à toi. Tu vas quand même rajouter quelque chose.
Alors, un peu plus tard, après la sortie de Flicking Fast and Slow,
Alors, il continue de travailler, un Cadman, Evans, Letversky, jusqu'en 2014, il y a toujours des nouvelles publications. Au début des années 90, on a en fait la vague suivante avec Damasio et Oudé, qui eux se sont intéressés justement, si on a un système 1 et un système 2,
dans quel cas en fait on a un système 1 qui va prendre le dessus, et dans quel cas on a un système 2 qui va prendre le dessus. Damasio lui s'est dit, en fait, ce qui va nous faire choisir entre un système 1 et un système 2, ça va être aussi l'émotion. Et lui il voit ça en fait, il rentre dans un concept de myostasie, ça veut dire qu'il va prendre en compte l'état émotionnel, tout comme le sucre dans le sang, la température du corps, comme un état...
Le stress aussi.
Le stress.
Super important.
Qui va influer sur la décision et sur le choix de, est-ce que je vais utiliser mon système 1, ou est-ce que je vais utiliser mon système 2 pour répondre à une question ou à un problème.
Et derrière, on a Oudé qui lui propose de se poser la question de « est-ce qu'il n'y a pas un système ou quelque chose qui nous permet d'inhiber, de nous empêcher d'utiliser un système 1 ou un système 2, suivant les cas? » Et pour cela, il s'est dit, si les émotions influent sur notre décision, que ce soit par des marqueurs somatiques, peut-être qu'on peut utiliser ces émotions pour faire le trait d'union, pour pouvoir contrôler ce système 1 et ce système 2. Et donc ce que Oudé va faire, c'est essayer de relier ces deux théories pour aboutir vers une nouvelle théorie, et donc nous le système 3, qui serait en fait un système qui aurait pour but de faire cette fonction d'arbitrage. Donc le terme un peu compliqué, c'est donc ce contrôle inhibiteur qui fait ce guidage émotionnel. Et comment est-ce qu'il va réconcilier en fait Piaget et Kahneman? C'est tout simplement, qu'est-ce qui a révolutionné un peu ces études dans les années 90 et par la suite? C'est l'arrivée en fait de l'imagerie numérique. C'est-à-dire qu'on a pu effectuer des expériences pour constater que les zones qui étaient activées quand on travaillait sur un mode système 1 et un mode système 2 n'étaient pas les mêmes, qu'en utilisant les émotions, en essayant d'encourager et d'entraîner les personnes à ne pas se tromper avec cette émotion de... Il ne faut surtout pas que je me trompe, je vais essayer de prendre mon temps avant de répondre. On a pu voir en fait que les zones activées dans le cerveau étaient plutôt en fait les zones frontales. Donc pour aller un peu plus loin, c'est tout ce qui est néocortex. Là, ça sort de mon domaine. Mais l'idée en fait, c'est comment est-ce qu'on peut reprendre la théorie un peu de cette croissance linéaire de chez Piaget avec le système 1 et le système 2 de calmage. C'est tout simplement en fait... Avec la croissance d'un enfant jusqu'à l'âge adulte, la partie frontale du cerveau est celle qui se développe le plus lentement. Et du coup, le contrôle inhibiteur ne vient que plus tard. Ce qu'on a pu constater, c'est qu'on avait des traces de ce système 2, même chez les bébés. qui, suite à des expériences, vont jouer surtout sur des jeux graphiques où on peut jouer avec son enfant si vous en avez, parce qu'on peut jouer avec des enfants des autres. Donc on va...
Bravo! Mettre ça! Je fais ça, c'est bon. Donc les jeux de l'oeuf, forcément qu'ils en font les deux.
Donc par exemple, si vous me présentez un objet à un enfant dans une main, vous la fermez, après vous l'ouvrez, et il voit qu'il y a un nouvel objet. Si vous répétez en fait cette action plusieurs fois, et qu'au bout d'un moment, vous avez perturbé l'expérience, si finalement vous cachez l'objet, vous ouvrez la main et que l'enfant voit qu'il n'y a rien dans la main, il va être étonné, il ne va pas comprendre. Des fois, il va reprendre la main, il va essayer de chercher où est passé l'objet. Et l'idée, en fait, c'est que... À partir de ces observations, il va pouvoir se servir de ce qu'il a constaté pour essayer de réévaluer qu'est-ce qui va arriver dans le futur. Et donc ça, en fait, c'est de l'inférence bayésienne, qui est un concept un peu plus compliqué, où en fait, on va intégrer le résultat observé dans l'antécédent afin de pouvoir mettre à jour quelque part l'algorithme qui va nous dire qu'est-ce qui va arriver quand la personne ouvre la main.
Et c'est pour ça qu'on déteste les magiciens.
Alors, dernière slide sur le sujet, après on va faire un peu moins de théorie. Pour aller plus loin, on peut s'intéresser au développement de la compréhension du raisonnement. Comment est-ce qu'on réfléchit?
Le terme, ça va être la métacognition, c'est en fait penser à penser. C'est comment est-ce qu'on peut agir sur soi-même pour éviter de faire des erreurs classiques, on va le voir tout de suite d'ailleurs. C'est essayer de développer des automatismes et des règles logiques, de développer ce qu'on va appeler les stratégies neuroculturelles pour guider, pour s'entraîner à prendre les bonnes décisions et juger,
de changer la façon naturelle dont on a d'alterner entre système 1 et système 2, pour provoquer, par exemple, quand on fait des tâches intellectuelles, très important d'essayer de forcer le système 2, et dans notre cas, de forcer plutôt le système 1.
C'est bon? Ouais, j'y vais. Alors, ce qui est bien en parlant de biais, juste un biais de retour tout de suite, c'est qu'on s'est dit, on a du temps. Donc, en fait, on est en train de le dépasser. Donc, si vous irez voir, c'est un biais d'ancrage. On a du temps et au final, on est en train de bien le bouffer. Donc, c'est peut-être ça aussi. Donc, on sera beaucoup moins bon que Vasco du RT ce matin, mais on va essayer de le prendre, on prend le sujet un peu différemment. Enfin, différemment, non, finalement, ça pourrait être similaire. Alors bien sûr, comme vous l'avez vu ce matin, c'est qu'on demande des estimations à des gens qui disent à peu près à leur système 1, bon ça prendra deux jours, ah ouais ok trois jours, bon XL, S, ce qu'on veut. Des fois il y a des discussions, mais comme c'est des discussions qui deviennent très vite émotionnelles, on reste dans le système 1. Et après on les utilise comme deadlines. Et ce qui est très marrant, c'est que si vous êtes très très old school, ça donne ça. Un bon diagramme de Gantt. Et c'est magnifique parce que ça, c'est une série de biais qui arrivent au bout de 2-3 ans à une estimation du temps qu'il va falloir, donc on comprend pourquoi tout échoue.
Maxime, il va présenter un peu les différentes stratégies. C'est toujours marrant de se les rappeler, comment on estime.
Alors moi, j'ai eu la chance de bien varier mes expériences professionnelles dans les cadres plutôt start-up, Petite entreprise, des très grosses entreprises, moyenne entreprise. Du coup, dans les différents enjeux qu'on va avoir sur le problème de l'estimation, c'est simple. On va nous demander combien de temps il faut pour faire ça. Alors moi, quand j'ai commencé à travailler dans mon professionnel, j'avais déjà vu pas mal de choses, je me suis dit, je sais quoi faire, je multiplie par 7 le chiffre que j'ai en tête. Donc si je pense à mes 1h, je me dis avec tout le temps, toutes les fois, on va m'embêter. Je dis 7h et ça marchait à peu près.
Vous pouvez utiliser Pi.
Alors ce qu'on peut aussi faire, c'est... doubler l'idée qu'on a en tête. On peut aussi se dire, tiens, si j'ai un manager qui a tendance à essayer de réduire mes estimations, je vais plutôt me dire, je vais lui donner le double de ce que je pense, comme ça je vais me garder de la marge. Au final, en fait, on va arriver à ce jeu-là, c'est juste le prix, On va essayer vraiment de deviner, est-ce qu'on va plutôt satisfaire le manager quand on va donner des estimations, que donner quelque chose d'un minimum tangible. Ce qu'on a aussi, c'est que, là aussi je peux reprendre l'exemple de mon enfant, c'est que quand je lui dis des choses, ou quand je fais des choses et que ça ne lui plaît pas, qu'est-ce qu'il fait? Il crache sa tétine, il n'est pas content, et il court partout. Les managers, parfois, ils font la même chose. Ça peut être à différents niveaux. Ça peut être simplement dire« Non, ce n'est pas possible. » ou« Fais-le autrement. »« Débrouille-toi. » Ça peut être aussi« Mon chef a dit qu'on a une semaine, il faut que ça rentre. »« Débrouille-toi. » Au final aussi, ce qu'on peut avoir, c'est tout simplement l'inquisition espagnole, c'est que des fois on peut nous dire, bon, tu as estimé que ça allait prendre tant de temps, On a fait le projet, ça a dépassé, explique-toi. Et là, c'est juste une bonne idée.
J'adore celle-là. On est allé un peu plus loin, on s'est dit, bon, il faut arrêter de déconner, on va essayer de s'intéresser à la question, on va essayer de faire de la science autour de ça. En tout cas, de la pseudo-science. Alors ça, c'est un exemple de la formule de Kokomo 2, qui est à peu près le paroxysme que j'ai trouvé de la pseudoscience. On essaie en fait de prendre en compte, parce que le premier modèle n'était pas assez compliqué, c'est d'essayer d'utiliser le nombre de kilolignes de code, le nombre de bugs qu'on avait en moyenne sur 1000 lignes de code, ce genre de choses. Alors on s'est dit, pour être bien sûr, on va prendre en compte, bon il y a des constantes magiques mais il ne faut pas trop faire attention.
Et en plus, juste pour finir quand même, en tant que développeur, ils n'en mettent pas extrait des constantes magiques, donc on ne sait même pas ce que ça veut dire. Donc rappelez-vous.
On a quand même révisé en attendant de faire la conf. Je ne me souvenais plus en fait c'était quoi ces petites constantes là. En fait c'est si c'est des facteurs en fonction de l'expérience du développeur ou du manager. On va prendre les années d'expérience, on va mettre ça avec des kilos lignes et quelque part ça va nous donner une date. C'est pas mal. Alors, ça a été les années 80, entre temps il y a du temps qui est passé, il y a plus de scientifiques qui ont travaillé, on est arrivé vers quelque chose de beaucoup mieux. C'est bon le budget pour trouver ça. Ça coûte très cher. Si vous allez travailler par exemple dans des groupes industriels où ils utilisent les méthodes du département de la défense américaine, moi j'ai travaillé en DOD
2165B je crois, où vous avez tout un paquet de documents à faire, des documents de spécification, des spécifications de tests, des documents d'architecture, etc. Ils se sont basés en fait là-dessus pour justifier des gros projets en cycle en B. Donc ils capitalisent à chaque projet sur les échecs qu'ils mesurent et ils essaient de mettre tout ça dans la... pour essayer de limiter la casse.
Et oui, et donc, quand l'agilité est arrivée, on s'est quand même dit que c'est devenu très compliqué pour un avis pas grand-chose. Donc on est revenu à quelque chose de beaucoup plus, on va dire, simpliste, en termes humains, quoi. Ce qui marche plutôt pas mal. Moi, j'ai une question à l'Assemblée. Est-ce que des gens, enfin, j'imagine, j'espère que vous le savez, c'est pourquoi, quand on fait du planning poker, quand on doit voter, tout le monde doit cacher la valeur et le montrer d'un coup. des spécifications de tests, des documents d'architecture, etc. Ils se sont basés en fait là-dessus pour justifier des gros projets en cycle en B. Donc ils capitalisent à chaque projet sur les échecs qu'ils mesurent et ils essaient de mettre tout ça dans la formule Kokomo pour essayer de limiter la casse.
Et oui, et donc, quand l'agilité est arrivée, on s'est quand même dit que c'était devenu très compliqué pour un, on n'a vu pas grand-chose. Donc on est revenu à quelque chose de beaucoup plus, on va dire, simpliste, en termes humains, quoi. Ce qui marche plutôt pas mal. Moi, j'ai une question à l'Assemblée. Est-ce que des gens, enfin, j'imagine, j'espère que vous le savez, c'est pourquoi, quand on fait du planning poker, quand on doit voter, tout le monde doit cacher la valeur et le montrer d'un coup.
Pour?
Oui. Et le terme derrière psychologie, c'est le bien ancrage. C'est ce qui se passe en négociation. Quand vous commencez à négocier votre salaire, demandez 70 000 euros. Ça va mieux marcher que si vous demandez juste 2 000 euros de plus que ce que vous aviez. Ça marche? Je ne sais pas.
Bon, par contre, ça reste quand même très humain. Ça reste quand même basé sur le système 1, sur l'émotion. Donc, ce n'est peut-être pas parfait. Par contre, ce qu'on remarque, ceux qui font du clambant, comme au furet, ça ne va pas les choquer. Ce qu'on remarque, il y a quelqu'un qui faisait du scrum et qui m'a dit, on a remarqué qu'au bout d'un certain temps, en fait, toutes les stories, on va dire que c'était du taille de t-shirt, c'était du M. Et en fait, ce qu'on voit statistiquement, c'est que vous allez tomber toujours à peu près vers une régression à la moyenne. Pour information, la régression à la moyenne, c'est vraiment un élément statistique qui arrive. Si vous avez une série de nombres aléatoires, vous avez très vite une régression à la moyenne. C'est assez marrant, cette méthode.
Et il y a aussi une autre chose qu'on remarque, c'est limite ce qu'on voit dans le Chaos Standage Report Group, c'est que plus on fait quelque chose de gros, plus la qualité de l'estimation part en vrille. Et plus on fait quelque chose de petit, plus c'est propre. Donc, ok, est-ce qu'il n'y a pas une solution? Est-ce qu'on ne peut pas mettre ces deux éléments à la suite? Alors, ça serait quoi la solution? Déjà, c'est de commencer par faire que des petites choses. Donc, si vous ne l'avez pas compris à la fin des deux journées de l'Incamban, il faut vraiment que vous leur refassiez l'année prochaine, je fais de la pub. Donc, diminuer du slicing, on dit dans les termes un peu plus techniques. Donc, on va slicer chaque tâche dans la tâche la plus petite. Et quand on a fait ça, qu'est-ce qu'on peut faire? On peut commencer à mesurer. On peut faire du Kanban. Je ne suis pas un expert Kanban, mais j'ai appris deux choses très rigolotes. Il y a deux mesures qui sont super intéressantes. C'est le cycle time, combien de temps on passe à faire la tâche. Le développeur passe à faire la tâche. Et le lead time, combien de temps on passe entre on a découvert un besoin et c'est en prod. Le client peut l'utiliser. Et à partir de ça, avec la régression à la moyenne, on peut commencer, comme disait Vasco du Arte, c'est qu'en fait on fait des stories, on a 400 stories, c'est à peu près un jour la story, ça va faire à peu près 400 jours. Et voilà, on peut estimer, ou plutôt pas estimer, près. dire à 400 jours. Alors bien sûr, il faut avoir de la donnée, il faut utiliser... En fait, ce qu'il faut, c'est utiliser tout simplement un fichier Excel plutôt que des estimations d'un humain. Moi, je pense même que peut-être que la solution d'après pour aller plus loin, ce serait de faire du machine learning ou des choses comme ça, et laisser la machine apprendre de combien de temps on passe à faire les choses. Ce serait peut-être le niveau encore de dessus.
Moi je vais aborder un sujet qui me plaît beaucoup, c'est la construction de la réalité. Alors, Piaget parlait déjà de constructivisme, la réalité n'est pas quelque chose de fait, un état de fait, mais plutôt une construction humaine, enfin une construction de chaque personne. Et un des personnages que j'adore, que je vous conseille fortement d'aller lire, c'est Paul Watzlawick, c'est un des fondateurs de l'école de Palo Alto, qui est une école de psychologie systémique. Et il a beaucoup travaillé sur la communication et justement la construction de la réalité. Il a aussi, comme il a parlé de construction de la réalité, il a parlé de la façon dont on dialogue, on communique. C'est aussi lié à la psychologie, quand il y a des tensions dans le couple, dans une famille, qu'est-ce qu'on doit faire? En fait, un des gros problèmes, si vous êtes déjà engueulé avec quelqu'un et ensuite remis avec lui en disant« mais on ne s'était pas compris», c'est que les deux personnes peuvent parler d'un même sujet et avoir une vision, et même s'ils sont d'accord entre eux, construire pas la même chose, et parler différemment. Et au final, quand ils se comprennent réellement, ils disent« bah ouais, on était d'accord, c'est juste qu'ils n'utilisent pas les mêmes termes, etc. » Donc en fait, Paul Wazlavik, il explique ça très... Ou l'école de Palo Alto explique ça assez simplement, ils disent qu'il y a deux... Il y a la réalité à deux ordres. Une de premier ordre, qui est celle qui est... On va dire sensorie moteur ? Motrice? Bon, on s'en fiche. Une qui est liée au sens, ça veut dire on va le voir, on va le toucher, qui est tangible. Donc si on vous parle d'argent, les pièces de monnaie, tout le monde est d'accord, une pièce de monnaie, c'est de l'argent. Mais par contre, en second ordre, ça peut avoir différentes significations. Pour un comptable ou un chef de projet, ça va peut-être le fichier Excel et le budget. Pour un financier, ça va peut-être les actions en bourse, la finance en elle-même. Et pour quelqu'un qui est anticapitaliste, ça va peut-être, il faut mettre à bas l'argent, l'argent c'est mal, etc. Plein de significations liées à l'argent. Moi j'ai une question pour vous à l'Assemblée, alors j'ai que des développeurs, c'est pas drôle, mais je vais quand même poser la question, pour vous c'est quoi la réalité de premier ordre?
Dans le cadre d'un développement logiciel.
Vous n'êtes pas tous en train de dormir, vous avez le droit de répondre.
J'entendais au fond le code.
Le produit, c'est intéressant comme remarque.
Par rapport à ce que j'ai dit, quelle est la seule réalité tangible, on pourrait dire tangible, dans un développement logiciel? C'est vrai que le produit, ça se veut aussi, je pense. Oui, moi je suis... Oui.
Après, c'est là où on voit qu'il y a toujours une notion de perspective dans toutes ces discussions-là. Suivant la perspective, la réalité ne va pas être la même. Moi, en tant que développeur, désolé, je vais défendre ma paroisse, pour moi, c'est le code. Pourquoi je pense que c'est le code? Parce que si vous avez vécu des gros projets legacy, il arrive fortement, des fois, il y a quelqu'un qui arrive en disant comment ça marche, un billet ou quelque chose, qui ne sait même plus comment ça marche, et en fait, la seule réalité, c'est le code. Et des fois, il y a même des gens qui pensent que le logiciel marche, enfin les billets, les experts métiers pensent que ça marche d'une certaine façon, en fait dans le code ça marche de cette façon, d'une autre façon. Et c'est celle-là qui est en prod. La seule réalité c'est le code qui est en prod. Donc c'est pour ça que je pense que la priorité c'est le code. Et la deuxième réalité, le produit je l'ai évacué de la question, je me suis évacué ce débat difficile, la deuxième réalité c'est ça, c'est les specs. Ça c'est bien une deuxième réalité, très subjectif, en fonction de qui lit ou qui fait quoi, on va avoir une réalité complètement différente. Et moi, j'aime bien cette... de tirer des joies du code, c'est que je n'arrive pas à lire les specs. Je l'avoue, c'est une séance d'aveu public, c'est les gens qui ont travaillé avec moi qui finissent par le savoir. Les specs, je ne les lis pratiquement pas en fait. Je préfère les discuter avec la personne. Et une autre image qu'on connaît tous, qui explique très bien ces réalités subjectives, c'est qu'il y a eu un besoin, et puis en fonction du commercial, du client, du développeur, de l'exploit, chacun a une vision différente de cette réalité qu'est le code.
Une solution? Eh bien, qui ne connaît pas? Allez, on va dire. Tout le monde connaît? Très bien, je ne vais rien vous apprendre, on va aller vite. Donc c'est le BDD, c'est cet état d'esprit de définir le plus simplement possible un besoin selon trois états. Enfin, selon un état de départ qui est le contexte, avec une action, un comportement, d'où le behavior-driven development, et ensuite un attendu. Et c'est là, et ça correspond exactement à ce qu'on fait dans un test unitaire. On se met dans un état, on lance la méthode ou la fonction, et on s'attend à un résultat et on teste cette méthode. Juste, si vous voulez le présenter, il y aura les slides, si vous voulez le présenter à quelqu'un qui n'en ferait pas, moi j'ai tiré ça honteusement de spécifications par l'exemple de Gojo Hatzik, c'est que vous avez des exemples BDD qui se transforment en des tests d'acceptance, quand on automatise ce BDD, c'est quand même l'intérêt, qui décrivent de façon très claire, très sommaire et de façon très propre les spécifications du métier, et en plus avec ces tests d'acceptance qui sont liés au BDD, vous le voyez, tester le métier. Donc si vous avez tout en BDD, vous avez quelque chose qui est peut-être un peu plus tangible que du code pour quelqu'un d'autre qui est un développeur, et qui reste entièrement lié à la réalité du code. C'est pour ça que je trouve que c'est très intéressant, peut-être une formulation à donner pour diffuser le BDD quand les gens se demandent quel est l'intérêt. Et je vais laisser, parce que ça je ne peux pas le défendre, je suis désolé, donc je vais laisser quelqu'un de ta laisse.
Moi j'aime bien faire le home cadet viable pour plusieurs raisons, c'est que surtout chez les développeurs, il y a toujours un certain mythe du cycle en vrai, et tout le monde avait eu la chance aussi de travailler dans un vrai mode cycle en vrai, avec des vrais process, et toute l'artillerie en fait qu'on peut déployer dans de très grandes organisations pour essayer de maîtriser ce qu'on a à la fin. Dans un cycle en vrai complet, théoriquement, on est censé avoir cette chose-là. Et la chose la plus importante sur ce dessin-là, c'est les flèches horizontales. C'est que pour chacune des étapes, on est censé avoir une autre étape qui va vérifier ce qu'on a spécifié, ce qu'on a conçu, analysé dans l'étape de gauche. Et l'idée, c'est d'avoir... Bon, le feedback n'est pas forcément aussi rapide, mais ce qu'il faut savoir aussi, c'est que les tâches, par exemple, sur l'analyse des besoins par rapport à la préparation des cahiers de recettes, tout comme en fait, on va voir la spécification des tests de validation, c'est des choses qui peuvent se faire en parallèle. Donc ça, c'est quelque chose qui est souvent oublié. Mais c'était en fait aussi, pourquoi est-ce qu'on a commencé à travailler comme ça? premier rempart aussi face aux biais cognitifs qu'on peut avoir dans les différentes étapes. Ça veut dire que pourquoi est-ce qu'on va vérifier notre spec et pourquoi est-ce qu'on vérifie que notre projet est valide par rapport à ce qu'on a spécifié, c'est pour voir aussi si dans la façon de la compréhension de la spécification, si est-ce que ça respecte bien ce qu'on a spécifié. c'est qu'aussi, on sait qu'il y a des biais de jugement, il y a des biais lors de l'analyse, qu'on va formuler le besoin. Surtout que plus on est haut et plus c'est des experts qui vont prendre les décisions.
Puis ils sont biaisés.
Voilà, ils sont aussi biaisés par leur propre expérience. Ils ont tendance à avoir l'impression d'avoir toujours raison. Ou en tout cas d'avoir trop d'assurance. Et puis aussi, on va le voir aussi juste après, c'est un exemple de biais qu'on peut avoir au niveau de l'analyse, c'est le biais de Dunning-Kruger qui dit qu'en fait, les personnes qui ont plus de compétences ont tendance à être ceux qui sous-estiment qui surestiment le plus la difficulté, et ceux qui sont les moins compétents ont tendance à surestimer leur capacité. Et du coup, aussi bien dans la complexité que dans la spécification, on va avoir de grosses divergences, et le consensus ne se fera pas forcément par rapport aux gens les plus expérimentés, qui sont les moins à même de se tromper.
Ça va, ça passe à peu près?
Oui, ça va.
L'idée aussi, c'est que les V, on peut faire des cycles qui sont uniquement propres à la conception détaillée, mais aussi à la conception architecturale.
Bien sûr, tout ça, ça part du principe que les spécifications ne changent pas.
C'est une des raisons pour lesquelles ça ne survit que dans le domaine industriel, c'est que la plupart des contrats, des livrables, se font par rapport à des spécifications, des interfaces qui sont faites pour ne pas bouger. Et parfois, il y a des projets où, quand on a des projets de maintenant sur 30-40 ans, on évite de faire des choses un peu trop libres.
Par contre, moi ce que je préfère c'est quand même ça.
C'est que tout l'intérêt aussi c'est de pouvoir faire ses boucles rapides, c'est de tester les choses. Et moi quelque part la solution pour Yannick c'est plutôt le BDD, ce qu'il préfère le plus. Pour moi en fait je le fais plutôt, j'essaie d'influer sur les process par rapport au projet, par rapport aux personnes. Parce que pour moi en fait c'est les choses qui déterminent le plus. Et les gens qui ne pourront pas travailler dans une approche Scrum, les gens qui ne pourront pas travailler avec une approche V. Et le plus important pour moi, c'est d'avoir un process qui permet de faire deux choses. La première, c'est de pouvoir respecter les différentes contraintes qu'on peut avoir sur les livrables, les spécifications, mais aussi de pouvoir avoir une part sur l'expérimentation qui va nous permettre aussi de faire des choses plus intéressantes au niveau du produit, et pas uniquement au niveau de la livraison du code. Parce que par exemple, l'approche sous cette forme-là pour faire du code, c'est plutôt qu'on est en phase exploratoire ou qu'on cherche en fait de l'innovation entre guillemets disruptive et pas forcément de la capitalisation sur... Un gros existant, mais un gros legacy. On aura du mal à travailler de cette façon.
Et juste pour expliquer aussi un truc qui est très intéressant, qui a été expliqué par Eric Rice, c'est qu'on sort de... Quand il l'a vendu, c'était pour les startups, même si en fait, les startups, je pense, ça applique encore plus dans l'entreprise. Mais il disait, les startups, c'est quelque chose, il y a beaucoup de gut feeling, il y a beaucoup d'émotion et de système 1. L'idée, c'est d'utiliser la donnée et cette réflexion liée à la donnée et au stade pour sortir du système 1 et rentrer dans le système 2.
C'est la chose la plus importante, en fait, c'est de... Par rapport au raisonnement, et la psychologie du raisonnement, qui est le thème de la présentation, c'est que sur des faits, on ne peut pas émettre de jugement. Enfin, certains le font, mais généralement, ils sont très bien payés.
On les laisse parfois.
On va passer rapidement la suite peut-être parce que c'est vrai qu'on n'a plus beaucoup de temps.
Quelques exemples de biais qu'on peut rencontrer, c'est par exemple des biais d'intérêt, c'est qu'on va avoir tendance parfois à privilégier nos intérêts personnels, à prendre certains choix,
que ce soit d'analyse, de conception, on peut avoir l'illusion de savoir ou le fait d'avoir fait un projet il y a quelques années qui utilisait telle ou telle technique, ça va nous... Donc, certainement nous encourager à réutiliser la chose, même si ce n'est pas forcément la meilleure façon de faire. La fâche aveugle, c'est d'ignorer les biais cognitifs qui vont être présents tout au long du projet, et même au quotidien. L'effet de Nick Kruger, ça j'en ai déjà parlé. Par exemple, dans les phases de code de tête de debugging, on va avoir la perception sélective, c'est qu'on va vraiment choisir,
On va percevoir que les choses qu'on a envie de voir, à la dissonance cognitive, ça c'est pas mal du tout, c'est en fait s'arranger avec la réalité. J'ai trouvé un bon exemple pour illustrer ça, c'est par exemple, on va se dire, bon allez, je me motive, j'ai fait un régime, je vais arrêter de manger des pâtisseries. Et puis on va se dire, non mais allez, j'ai le droit de tricher de temps en temps. Et l'étape d'après, c'est, bon allez, je vais manger des pâtisseries, mais je vais faire 30 minutes de sport après. Mais on sait pertinemment que ça ne va pas arriver. C'est une façon d'essayer de se conforter avec la réalité par rapport à l'engagement ou en tout cas aux décisions qu'on avait prises au préalable. L'illusion des séries, c'est tout simplement quand on voit des occurrences fréquentes, on a l'impression que ça devient quelque chose qui peut être systématique, et on peut partir du principe que si on a eu par exemple deux erreurs sur une partie d'un code, que c'est quelque chose qui va arriver tout le temps, et en fait, si ça se trouve, c'est un comport de circonstance.
Ou inversement, pour ceux qui font du multithreading, on a l'impression que ça marche.
Sur la partie rétrospection, là, le plus souvent, c'est l'autocomplaisance. On est toujours fier, on est toujours en avant de nos succès et pas trop les erreurs. On a le biais de l'inimité à l'erreur, c'est jamais de sa faute. Donc ça, c'est le plus courant. Et ce que j'aime bien, c'est qu'il y a toujours quelqu'un dans les rétros qui dit« Ouais, mais moi, je veux ça d'ailleurs. » C'est toujours plus facile de le faire après.
Tu veux faire le début ou je le fais alors?
Ouais, je vais faire le début.
Si tu veux, je le fais. Ah oui, donc c'est là où vous allez comprendre la négantropie psychique.
Ouais, alors, j'ai vu que tu as dit quelques noms. Un sonorité slave avec perfection. Je te laisse prendre ce que tu veux.
Ok, je fais la slide, tu m'aides. Donc, Milaïs Kizun... Non, je n'y arriverai pas. C'est mort. Donc, vous essayerez de le faire chez vous. C'est un petit exercice de fin. C'est quelqu'un qui a beaucoup parlé de gamification et du flux.
C'est un des auteurs à la base de la gamification. Allez, je te laisse faire la suite.
Alors l'idée en fait, c'est plus dans le cadre de la productivité par rapport au jeu, même si en fait ça te reviendrait un peu plus loin pour la partie gamification on va dire, c'est que l'idée c'est que pour avoir un maximum de productivité, il faut arriver à créer un état qu'il appelle le flow, le flux, où on trouve le juste équilibre entre des choses simples, sur lesquelles on est très confiant qu'on va y arriver, mais qui vont être ennuyeuses, qui vont tendance à nous distraire, par rapport en fait à un degré de challenge. C'est que dès que ça commence à devenir un petit peu compliqué, on est dans des terrains un peu connus, on va commencer à être un petit peu anxieux, on va faire un peu plus attention, mais si ça devient trop difficile, là c'est la panique qui en fait plus loin. Donc l'idée c'est de pouvoir soit alterner, dans une certaine mesure, soit d'essayer de garder en fait cette ligne, ce bon équilibre entre difficulté et simplicité, entre des choses qui vont être complexes et des choses qui vont être simples, pour avoir en fait une productivité et un confort mental quand on va travailler qui va être optimal. Ce qu'on va avoir dans la gamification, c'est que si vous jouez par exemple à Tetris ou à Candy Crush, c'est qu'au début vous commencez à jouer... Les niveaux ne sont pas très difficiles, donc ça va vite, on commence à avoir un certain confort. Puis à la fin, on ne réfléchit même plus. C'est la partie, c'est un robo-rachidien qui prend le dessus. On marche juste avec les automatismes visuels. On a l'impression que le temps passe, on ne s'en rend pas compte. On atteint en fait ce qui s'appelait à l'époque la Tetris Trans. Quand on arrive au 99, les pièces n'apparaissent même plus, mais on les passe quand même au bon endroit.
Donc pour continuer, en tant que développeur, vu que la majorité de la salle est développeur, on connaît un peu tout ça, vous avez des étapes. Moi, dans ces étapes-là, je me sens obligé d'écouter de la musique. Souvent, c'est de la techno, de la trance assez rapide. Il y en a qui sont peut-être plus zen et tout ça. Et puis des fois, vous avez des bugs ou des exceptions. Et là, vous êtes un peu entre les deux. Et un jour normal, c'est entre les deux. Alors, qui travaille en Java?
Ok, et bien on a tous rencontré ça. Alors qu'est-ce qu'on fait dans ces cas-là? Moi je connais un peu, je le mets là aussi, c'est l'anse d'aveu public. La première chose c'est que je reboot, donc le tome 4 ou quelque chose comme ça, on commence par redémarrer parce que systématiquement on se dit, le système 2 je dis j'ai pas envie de travailler, on fait ok, ça va remarcher. La deuxième solution, c'est qu'on essaye tout et n'importe quoi. On essaie d'aller chercher un peu partout. On va sur Stack Overflow, on essaie de trouver le premier copier-coller qu'on a. Est-ce qu'on a une solution? La première, je vais laisser, parce que c'est celle de Maxime, il l'adore.
Celle-là, c'est plutôt par rapport aux évaluations, quand il y a des gens qui sont bloqués sur des problèmes. Très souvent, ils cherchent à déranger les copains qui sont en plein mode flow, il ne faut surtout pas les perturber. Ça, en fait, c'est d'utiliser le canard en plastique, et l'idée, en fait, va en caoutchouc, pourquoi pas. L'idée, c'est que le simple fait d'expliquer le problème, de se forcer à décrire pas à pas, et à couvrir tout le contexte, ça va nous débloquer les biais de jugement, les différents autres biais qui vont nous faire focaliser sur une partie de l'énoncé ou de la situation et qui nous empêchent de trouver la solution. Le simple fait, parfois, même quand vous allez sur Stack Overflow, vous commencez à écrire votre question et vous n'avez pas fini de déclarer la question, vous allez trouver tout simplement parce que vous avez repensé à toutes les étapes qu'il y a eu auparavant. C'est très pratique, déjà pour réfléchir, mais aussi pour lancer sur ses collègues.
Et juste pour finir, en fait, là, juste avant, vous étiez en pur système 1. Qu'est-ce que je peux faire rapidement, sans réfléchir, là? Qu'est-ce que je peux faire? Et là, en fait, le fait de parler, ça vous laisse le temps, et vous commencez à visualiser, à commencer à réfléchir. Et en fait, pour expliquer tout ça, il y a un petit cours, on fera une séance de lien à la fin. Sur Coursera, c'est assez bien expliqué. Ils expliquent, il n'y a peut-être pas de recherche en neuro... Précise, mais en vrai ils expliquent, mais c'est un principe qu'on connaît bien, c'est que voilà on a une exception, on essaie de savoir d'où ça vient, puis on se retrouve bloqué, il y a un réseau, il y a un ensemble de cellules neuronales qui s'activent, mais c'est pas les bonnes, c'est pas ce qu'on aimerait se rappeler. Et alors que là on devra... Vraiment, aller taper là-dessus pour se souvenir, ah bah oui, il faut que j'aille faire ça, c'est ce morceau de cadre qui ne marche pas, je m'en rappelle. Et en fait, si vous alliez faire autre chose, alors souvent dormir la nuit, prendre une douche, il y en a qui disent, allez faire du sport, allez courir un jogging, ça vous permettrait d'aérer le cerveau, et si vous relancez la réflexion, vous allez activer d'autres réseaux de neurones et peut-être trouver celles qui vous vont bien.
C'est une métaphore, mais une très belle métaphore, je trouve. Une autre chose, il y a le canard en plastique, si vous êtes un peu plus social, vous avez le père pour ami. Je ne sais pas si tout le monde fait du père pour ami, moi je n'en fais pas non plus tout souvent. Je pense que c'est extrêmement intéressant. Après, en termes de flow aussi, c'est des avantages. C'est que si vous voulez rentrer en mode très triste 99, vous ne pourrez pas l'avoir. Est-ce que c'est bien, est-ce que ce n'est pas bien? C'est une question qu'on pourrait discuter avec les gens qui adorent le père pour un ami. Je n'en ai pas fait assez pour réellement juger, mais je pense qu'il faut faire gaffe aux biais qu'on peut avoir en disant le père pour un ami, c'est super, moi j'en fais tout le temps. Mais est-ce que vous avez fait une réflexion par rapport aux désavantages ou aux avantages? Mais c'est valable pour tout. On peut poser la question, oui, rapidement.
Oui, le mob programming, j'en parle pas. On pourrait faire toute l'équipe autour d'un problème. Alors pareil, il ne faut pas le faire tout le temps, parce qu'à mon avis, ça devient fou. Je pense que c'est fini. Juste pour faire le résumé. Le gros résumé, si vous ne l'avez pas compris, c'est intéressez-vous à la psychologie. C'est super important. Là, on a juste fait effleurer le sujet. C'est un sujet extrêmement intéressant qui va vous faire comprendre plein de choses.
Ne perdez pas du temps à estimer, ça ne sert à rien, mais Vasco Duarte l'a dit 100 fois mieux que moi, 100 fois mieux que nous.
Essayez de réunir ces deux niveaux de réalité. Allez lire Paul Watzlawick, c'est extrêmement intéressant, ça peut se lire en deux soirées, il a des petits livres. Et apprenez à gérer cette énergie et vos systèmes 1 et 2 dans la vie de tous les jours. Rappelez-vous de cette métaphore, ça peut vous aider peut-être dans la vie de développeur ou pour dialoguer avec votre manager ou vos collègues. Quelques liens, donc Thinking Fast and Slow, c'est la grosse bible que tout le monde met en référence. Paul Watzlawick, il en a plein d'autres, notamment Comment réussir à échouer et trouver l'ultra-solution. C'est très bien pour ceux qui ont fait du MDA ou des gros systèmes architecturaux. On cherche l'ultra-solution, on échoue lamentablement. On n'en a pas beaucoup parlé, mais lui, il a beaucoup travaillé sur tous les comportements irrationnels liés à la vie de tous les jours. Donc, Dana Larelli, allez le voir. Et deux cours, un qui est très, on va dire, découverte, mais qui est extrêmement intéressant, qui s'appelle Seeking One-on-One sur Ed. Et vous avez aussi les vidéos sur YouTube, si vous cherchez dans le lien, je mettrai les slides, vous avez les vidéos sur YouTube. Et Learning How to Learn, qui est un cours Coursera.