Communiquer efficacement pour la résolution de problèmePermalien

À proposPermalien

Cette page est une liste non-exhaustive de problèmes de communications fréquents lors de discussions écrites dont le but est la résolution de problème.

Certains de ces textes sont des traductions et vous trouverez le lien vers l'article original si c'est le cas.

SommairePermalien

Ne demandez pas pour demander, demandezPermalien

Ou « Don't ask to ask, just ask ».

De temps en temps, sur les salons de discussion où je suis, quelqu'un arrive et dit quelque chose comme :

    Foobar123: Est-ce qu'il y a un expert Java dans le coin ?

Cette formulation est mauvaise pour plusieurs raisons. Ce que cette personne demande en réalité est :

    Foobar123: Est-ce qu'il y a un expert Java dans le coin qui veut regarder mon problème,
    même si ça n'a surement aucun rapport avec Java et que quelqu'un ne connaissant pas Java
    pourrait trés bien répondre à ma question ?

Il y a de nombreuses raisons pour qu'une personne ayant les connaissances ne s'estime pas compétente sur le sujet. En demandant ceci, vous en demandez plus que vous ne le pensez.

Vous demandez aux gens de prendre des responsabilités. Vous remettez en question la confiance des gens en leurs capacités. Vous excluez aussi inutilement d'autres personnes. Je répond souvent à des questions sur des langages ou des bibliothèques logicielles que je n'ai jamais utilisé, car la réponse relève (au sens de la programmation) du sens commun.

Cela peut être vu comme :

     Foobar123: J'ai une question à propos de Java mais je suis trop paresseux pour
     l'exprimer avec des mots à moins qu'il n'y ai quelqu'un ici qui puisse y répondre.

… Ce qui est juste paresseux. Si vous ne voulez pas prendre la peine de résoudre votre problème, pourquoi le ferions-nous ?

La solution consiste à ne pas demander l'autorisation de demander, mais juste demander. Quelqu'un qui ne regarde que ponctuellement ce qui se passe sur le salon ne voudra pas répondre à votre « demande d'autorisation de demander », mais votre description réelle du problème pourrait piquer sa curiosité et le pousser à répondre.

Donc pour résumer, ne demandez pas « Est-ce qu'il y a un expert Java dans le coin ? », mais plutôt « Comment faire [ceci] en Java et [autre information utile] ? ».

Problème XYPermalien

Ou « XY problem ».

Qu'est-ce que c'est ?Permalien

Le problème XY consiste à poser une question sur l'une de vos tentatives de résolution plutôt que sur le réel problème. Cela méne à une énorme perte de temps et d'énergie, autant pour les personnes posant la question que pour les personnes tentant d'aider.

  • La personne veut faire X.
  • La personne ne sait pas comment faire X mais pense pouvoir trouver la solution en faisant Y.
  • La personne ne sait pas comment faire Y non plus.
  • La personne demande de l'aide pour faire Y.
  • Les autres tentent d'aider la personne à faire Y mais sont confus car Y semble être un étrange problème à vouloir résoudre.
  • Aprés plusieurs intéractions et pertes de temps, il devient finalement clair que la personne veut en réalité de l'aide pour X et que Y n'est pas une solution fiable pour faire X.

Ce problème survient quand les gens restes bloqués sur ce qu'il croient être la solution et n'arrivent pas à faire un pas en arrière pour expliquer le problème dans sa globalité.

Comment résoudre cela ?Permalien

  • Ajoutez toujours des informations sur la problèmatique globale du sujet.
  • Si quelqu'un demande plus d'informations, ajoutez des détails
  • S'il y a des solutions que vous avez déjà éliminées, partagez-les et expliquez pourquoi vous les avaient éliminées. Cela donne plus d'informations sur ce dont vous avez besoin.

Rappellez-vous que si votre diagnostique était correcte, vous ne seriez pas en train de demander de l'aide, n'est-ce pas ?

ExemplesPermalien

Exemple 1Permalien

n00b ne veut pas afficher les 3 dernièrs caractères d'un nom de fichier, il veut afficher l'extension du fichier, alors pourquoi demander les 3 derniers caractères ?

n00b: Comment puis-je afficher les 3 derniers caractères d'un nom de fichier ?
feline: S'ils sont dans une variable : echo ${foo: -3}
feline: Pourquoi 3 caractères ? Qu'est-ce que tu veux VRAIMENT faire ?
feline: Est-ce que tu veux afficher l'extension ?
n00b: Oui.
feline: Alors DEMANDE CE QUE TU VEUX VRAIMENT !
feline: Il n'y a aucune garantie que tout nom de fichier ai une extension de 3 caractères,
feline: donc prendre aveuglement 3 caractères ne résoud pas le problème.
feline: echo ${foo##*.}

Exemple 2Permalien

RikusW: Imaginons que j'ai un nom de fichier dans la variable $1, comment j'obtient sa taille ?

greycat: Pourquoi ?

erUSUL: du $file

RikusW: merci

erUSUL: du "$file" plutôt

RikusW: je n'avais pas pensé à ça ... :)

greycat: Des réponses litérales à de mauvaises questions peuvent êtres dangereuses
greycat: POURQUOI veux-tu cette taille ? Quel est le BUT ?

RikusW: `du $1` peut-être ?
RikusW: Je veux faire un script qui fasse un dd du fichier par morceaux de 512k pour en vérifier la somme md5 …

erUSUL: RikusW: hein ? tu veux faire quelque chose avec la taille plus tard ?

greycat: Tu veux QUOI ?

RikusW: dd ne retourne pas 1 quand la fin est atteinte…

greycat: … pourquoi tu ne fait pas une somme md5 de tout le fichier ?

RikusW: J'ai un fichier de 500 MB corrompu
RikusW: et une connection lente

greycat: rsync.
greycat: NEXT !

Pas de « Salut »Permalien

Ou « No Hello ».

Ne dites pas juste « Salut » dans une discussion.

2010-07-19 12:32:12 vous: Salut
2010-07-19 12:32:15 collègue: Salut.
## Votre collègue attend votre phrase ou question
2010-07-19 12:34:01 vous: Je travaille sur [truc] et j'essaye de [etc…]
2010-07-19 12:35:21 collègue: Oh, il faut [réponse…]

C'est comme téléphoner à quelqu'un et dire « Salut ! » puis le mettre en attente !

Faites ceci à la place :

2010-07-19 12:32:12 vous: Salut -- Je travaille sur [truc] et j'essaye de [etc…]
2010-07-19 12:33:32 collègue: [répond à la question]

Notez que vous obtenez de l'aide plusieurs minutes plus tôt, et vous ne le faites pas attendre. À la place votre collègue peut commencer à réfléchir à votre question immediatement.

Vous tentez d'être polis en ne sautant pas directement à votre question, comme vous le feriez face à face ou au téléphone. Mais l'écrit n'est aucun de ceux-là. Écrire est beaucoup plus lent que parler. Au lieu d'être polis, vous faites attendre la personne, ce qui fait perdre en productivité.

C'est la même chose pour « Salut -- T'es là ? », « Salut Bob -- Question rapide. », « Tu as une seconde ? », « ping ». Posez juste votre question !

Si vous estimez que c'est trop brusque de juste dire « Salut » et poser la question, vous pouvez faire comme ceci :

2010-07-19 12:32:12 vous: Salut -- si tu n'es pas occupé je me demandai si tu pouvais te
poser une question. Je travaille sur [truc] et j'essaye de [etc…]

De plus, poser votre question avant d'obtenir une réponse permet une communication asynchrone. Si l'autre personne est absente, et que vous partez avant qu'elle ne revienne, elle pourra tout de même répondre à votre question, plutôt que juste répondre « Salut » et attendre la suite.