Si vous ne tenez compte que de la deuxième partie de ma question, "Pourquoi un développeur ne doit pas être interrompu alors qu'il codifie à fond", cela a été discuté à plusieurs reprises par des personnes intelligentes. Heck, même le co-fondateur de SO, Joel Spolsky, a écrit un article de blog sur "entrer dans la zone" et "être éliminé de la zone" et pourquoi il faut en moyenne 15 minutes pour atteindre la productivité lors de la participation à un complexe, tâches liées au développement de logiciels. Donc, je pense que le pourquoi a été établi.
Ce qui m'intéresse, c'est comment expliquer tout cela à quelqu'un qui ne connaît pas les haricots à propos des haricots (khmm, je veux dire le développement de logiciels). Comment dire à la femme, ou au type marrant de la comptabilité sur le lieu de travail, ou à l'ami de longue date qui vous appelle Skype toutes les 30 minutes avec un "Wazzzzzzup ?!", que toutes les interruptions ont un impact beaucoup plus profond sur votre travail les 30 secondes évidentes qu'ils ont pris de votre temps. Évidemment, vous ne pouvez pas l'expliquer par des phrases telles que "Je dois jongler avec beaucoup de noms de variables dans ma mémoire à court terme" à moins que vous ne souhaitiez être la cible de regards vides ou de mauvais traitements amicaux.
J'aimerais pouvoir expliquer tout cela aux non-développeurs de manière à leur faire comprendre clairement - sans être offensant, élitiste ou trop technique.
EDIT: Merci à tous pour leurs grandes idées. J'ai accepté la réponse d'EpsilonVector car son analogie était la plus proche de mes besoins initiaux. L'explication «s'endormir» n'est ni choquante ni technique, presque tout le monde peut la comprendre et les conséquences d'être dérangé en s'endormant ou en étant dans la zone sont très similaires: vous ressentez de la frustration et vous «perdez» de 15 à 20 minutes. de temps.
la source
Réponses:
Essayez les analogies suivantes: La première: "Combien de temps cela prend-il pour vous endormir?" "X minutes" "Maintenant, imaginez que lorsque vous êtes sur le point de vous endormir, quelqu'un entre et vous interrompt, combien de temps cela vous prendra-t-il pour vous endormir maintenant? Ces quelques secondes qu'il vous restait, ou devrez-vous recommencer pour ' sombrer dans "où vous étiez?" "Je vais devoir recommencer" "Très bien. Même chose. Juste comme m'endormir, il me faut un certain temps pour" sombrer "en mode de mise au point et il me faut un certain temps pour y revenir une fois que je suis interrompu, sauf que j'oublie aussi la moitié de ce que je faisais. "
Deuxième question: "Vous savez que lorsque vous lisez un livre dans lequel vous vous enfoncez", au bout d'un moment, vous ne remarquiez même plus les mots, vous bloquiez tout ce qui vous entourait et restiez totalement immergé dans les images mentales. vous voyez." "Oui." "Combien de temps cela prend-il pour que vous y arriviez?" "À propos de X minutes" "Imaginez maintenant que lorsque vous êtes immergé dans le livre, quelqu'un vous interrompt et vous interrompt, combien de temps cela vous prendra-t-il pour y revenir? Cela se produira-t-il immédiatement ou devrez-vous recommencer pour ' sombrer dans "où vous étiez?" "Je vais devoir recommencer" "Très bien. Même chose. Tout comme pour la lecture, il me faut un certain temps pour" sombrer "en mode de mise au point, c'est tout aussi gênant quand quelqu'un m'en sort,
la source
Je ne pense pas que l'état de rêverie décrit par Joel soit technique. C'est le même changement de cerveau droit que quiconque éprouve lorsqu'il dessine ou tombe sous le charme d'un très bon livre. (Betty Edwards «Dessine du côté droit du cerveau» le décrit parfaitement.) Tout le monde a connu ce sentiment de concentration où vous n'êtes pas au courant du temps qui passe.
Je pense qu’il est tout à fait condescendant d’imaginer que c’est une chose que seuls les techniciens comprennent, et que le concept doit être explicite pour les non-développeurs. Expliquez simplement en langage clair: ils l'obtiendront.
la source
Réorientez votre fil interne vers les entrées / sorties verbales, c.-à-d. Tournez-vous quand elles vous interrompent, continuez à marmonner le code et à regarder au milieu de la distance jusqu'à ce qu'elles abandonnent et s'en vont. S'ils parlent, murmurez plus fort.
la source
Dites - leur que le codage (ou insérer une autre activité de concentration élevée ici) est comme un artiste de cirque qui fait la loi sur les plaques de filature .
Tout d'abord, commencez par tourner une assiette sur un bâton, lancez-la, puis commencez à faire tourner une deuxième assiette, relancez-la, revenez à la première assiette, donnez-lui un peu de rotation supplémentaire pour qu'elle continue, puis commencez à faire tourner une troisième assiette. , lancez-vous, puis revenez à la deuxième assiette, petit essorage supplémentaire, essorage supplémentaire de la première assiette, essorage supplémentaire de la troisième assiette, puis commencez à tourner en quatrième, etc.
Puis le téléphone sonne et toutes les assiettes tombent.
L'état de flux est parti. Vous devez maintenant tout recommencer. Faites tourner une assiette ...
J'aime penser à chaque plaque comme un bloc de données, de variables, de concept, d'état, etc. que vous devez conserver dans votre tête.
la source
Il y a quelques mois, quelqu'un est entré dans mon cube et a retiré mes oreillettes pendant que je codais. Mis à part la fureur interne, mon approche consistait à expliquer que souvent les programmeurs sont plongés dans une pensée logique qui nécessite une approche différente et concentrée de la pensée et que l'interruption soudaine peut vraiment gâcher le processus de pensée. Cela n'est plus jamais le cas de cette personne, alors peut-être que cela a fonctionné. Une autre chose à considérer est le signe occupé / libre. J'ai un ami qui fait des algorithmes et il a un signe double face qui dit "Codage - Ne pas interrompre" d'un côté et "Libre de chatter" de l'autre. Éliminer l'ambiguïté est la clé ici.
la source
Ok, j'ajoute ma propre réponse (je sais que c'est un peu ridicule, mais peut-être que cela jette un peu plus de lumière sur ce que je visais).
J'ai dit ce qui suit à quelqu'un qui m'interrompait récemment à un mauvais moment: "Développer un logiciel, c'est comme conduire une voiture sur une route très fréquentée pour la première fois de sa vie. Toute votre attention est concentrée sur le volant, les pédales et les voitures Si vous vous concentrez sur le sujet de la discussion, vous perdrez forcément le contrôle de la voiture et vous vous retrouverez dans une situation difficile. accident".
C'était quelque chose que la personne pourrait comprendre, mais c'est loin d'être une bonne analogie. Si je suis interrompu, les conséquences seront très différentes de celles d'un accident. Je fais du développement sw depuis deux décennies, alors pourquoi comparer cela à quelque chose qui se fait pour la première fois. Etc.
la source
" Mihaly Csikszentmihalyi on flow " est un bon TED. Parlez de cette idée d’être vraiment productif dans certaines conditions qui peuvent ou non intéresser les gens. N'oubliez pas que pour certaines personnes, elles peuvent ne jamais vouloir comprendre l'explication et qu'il s'agit donc d'un peu comme battre le cheval mort récursivement à l'infini.
la source
Je l'appelle une transe de programmeurs. Il y a beaucoup de bonnes analogies ici, alors quoi de plus hein? Comme cela a été dit précédemment, un programmeur va mentalement naviguer dans plusieurs flux logiques différents jusqu'à ce que le bon se présente. ALORS, il est écrit en code et enregistré sur l'ordinateur.
Alors, disons que vous écrivez un papier ou un document important. Les pensées coulent en mots dans l'ordinateur mais vous n'avez pas encore enregistré les modifications. Alors pouf, le courant passe ou l'ordinateur tombe en panne. Récupérer tout cela prendra aussi longtemps ou plus longtemps et ne sera jamais identique à l'original. (Combien d'entre nous, les anciens, avons-nous eu cela?)
C'est ce qui arrive au code dans votre tête lorsqu'il est interrompu. Les pensées sont aussi fragiles que la fumée. S'ils n'ont pas encore été sauvés et que quelque chose arrive pour les perturber, ils sont partis.
la source
Cher collègue, Dans l’effort de gagner en efficacité, je me concentre sur mon travail et je réponds aux questions par e-mail à tout moment, afin de réduire au minimum les interruptions afin de mieux vous servir, ainsi que le nom de votre entreprise _ . S'il vous plaît écrivez-moi et je reviendrai vers vous dès que je peux. Je vous remercie.
la source
Si vous écoutez de la musique, placez un panneau qui dit quelque chose du genre:
Ceci n’est efficace que si quelqu'un lit et que vous n’avez pas toujours vos écouteurs.
la source
Je pense qu’il s’agit d’un vaste réseau de relations complexes que j’ai à construire dans mon esprit, d’une structure de relations imbriquées qui s’affectent les unes les autres de façons différentes, mais pas toujours évidentes, qui doivent toutes être comprises et conservées clairement. au point que j'écris le code. La création de ce site Web prend entre 5 et 15 minutes pour un projet que je connais assez bien, et plusieurs fois pour un projet moins intime.
Lorsque ma concentration est interrompue, le Web commence à s’effondrer et, si l’interruption dure plus de quelques secondes, ou si je dois réfléchir à une autre chose, même légèrement complexe («Lorsque le serveur est tombé en panne la semaine dernière, dire au client? "), le Web s'effondre complètement. Lorsque l'interruption est terminée, je dois reconstruire l'ensemble du Web, essentiellement à partir de rien.
Si cela me prend 10 minutes pour créer le Web et que je suis interrompu pendant seulement 2 minutes trois fois par heure, vous devez comprendre qu'au lieu de coder 50 minutes par heure, je ne fais que 24 minutes de travail. Ces 3 petites interruptions ont réduit ma productivité de moitié .
la source
Neil Ford en a parlé dernièrement à Devoxx. Il a écrit un livre à ce sujet: Le programmeur productif. Il explique les astuces concernant les casseurs de flux. Si vous êtes dans le flux, vous êtes à votre point de concentration le plus élevé. Mais si vous êtes interrompu, il faut + -20 minutes pour revenir dans votre flux.
Vous voudrez peut-être leur expliquer que si vous sortez de votre flux, la mémoire vive de votre cerveau perd les données sur votre travail et vous avez besoin de 20 minutes pour récupérer les données dans votre RAM;)
la source
Je mets généralement le statut suivant sur mes clients de messagerie instantanée:
Au moins, il semble faire l'affaire avec le
la source
Vous pouvez essayer d’expliquer, mais vous pouvez aussi essayer ceci:
Vous interrompez les , alors qu'ils sont en train de faire quelque chose qui nécessite une concentration profonde, si elle est en train de lire, regarder un film, le calcul ou mieux encore compter quelque chose. Ensuite, tout ce que vous avez à expliquer, c’est que c’est exactement comme cela pour vous quand ils vous interrompent. Devrait faire l'affaire. S'il vous plaît, ne les dérangez pas pendant qu'ils conduisent ou quelque chose comme ça :).
la source
Je n'explique pas. Je les informe gentiment que l'interruption vient d'ajouter 6 semaines à l'horaire.
la source
Ce que je fais au bureau, c’est de trouver des cachettes dans différents départements du bureau. Ainsi, personne ne sait où vous vous trouvez et ne peut pas vous déranger, mais si ce n’est pas une option, procurez-vous simplement un panneau et expliquez-le. sauf si cela est d’une importance vitale, ne pas déranger!
la source
Je ne sais pas pour le reste, mais pour Skype au moins, je suggérerais d'utiliser le mode "Ne pas déranger". Et si vous devez l'utiliser pour communiquer au travail, vous devez disposer d'un deuxième compte réservé au travail que vous ne partagez pas avec des personnes que vous ne voulez pas vous déranger au travail :)
la source
Ça n'a pas besoin d'être compliqué. Quelque chose d'aussi simple et non hostile que "Je travaille sur quelque chose qui demande beaucoup de concentration. Peut-on le mettre dans un courriel? Je promets de le regarder dès que j'aurai fini ici."
la source