Quel est le problème XY?

Quel est le problème XY?

Lorsque je pose des questions, comment puis-je reconnaître quand je tombe dedans? Comment puis-je éviter?

Revenir à lindex des FAQ

Commentaires

  • Voir un post de PerlMonks sur le même sujet.
  • triste exemple du problème XY: stackoverflow.com/questions/2691018/… clause de non-responsabilité I ‘ m biaisé ici, étant celui qui prétend avoir repéré X au lieu de résoudre Y
  • Traduction russe pour ru.stackoverflow.com
  • Il y a ‘ aussi Traduction japonaise de ja.stackoverflow.com
  • Contraste avec les  » défis de cadre « , qui sont maintenant déconseillé ou interdit sur un certain nombre de SE sites: interpersonal.meta.stackexchange.com/questions/1495/…
  • Section pertinente dans  » Comment poser des questions de manière intelligente « .
  • @ Sridhar-Sarnobat Dans votre analogie, une question X → Y serait quelque chose comme,  » Comment peut-on inhiber la croissance des types de cellules xyz en réduisant les niveaux de protéines tuv chez un patient ‘ s circulation sanguine?  » parce que vous pensez cest le seul remède possible contre le cancer.
  • Hmmmm, donc vous ‘ dites que cest une question trop précise et je devrais ajouter que  » vrai  » lobjectif est de guérir le cancer. Si oui, juste point. Bien quen réalité, le problème inverse soit que les questions sont fermées car leur portée est trop large.
  • Pouvons-nous admettre que cest le pire nom possible pour ce problème? Le nom na littéralement rien à voir avec ce quil décrit. Comme si quelquun disait quelque chose comme  » mettez la charrette avant les bœufs  » même si ‘ Je ne lai jamais entendu avant quils aient au moins un indice que quelque chose est en arrière (les chevaux tirent, pas poussent). Je nai ‘ pas de bonnes idées pour un nom alternatif.
  • Parfois, il peut être utile de considérer également les choses dans un contexte plus large, en considérant si ce qui ‘ tend vers une solution sensée

Réponse

De quoi sagit-il?

Le problème XY est poser des questions sur votre solution tentée plutôt que sur votre problème réel.

Autrement dit, vous essayez de résoudre le problème X , et vous pensez que la solution Y fonctionnerait, mais au lieu de poser des questions sur X lorsque vous rencontrez des problèmes, vous posez des questions sur Y.

Le problème

Cela peut entraîner de la frustration chez les personnes qui essaient de vous aider à résoudre le problème, car au moment où vous posez la question, la solution pour laquelle vous avez besoin daide pourrait ne pas avoir de liens évidents au problème que vous essayez de résoudre.

Comment léviter

Pour éviter de tomber dans ce piège, incluez toujours des informations sur une image plus large avec toute tentative de solution. Si quelquun demande plus dinformations, ou surtout une question plus précise, fournissez des détails. Sil existe dautres solutions qui, selon vous, seront suggérées et que vous « avez déjà exclues, nessayez pas déviter de les réexaminer. Indiquez plutôt pourquoi vous les avez exclues, car cela vous donne plus dinformations sur vos besoins. et aide les autres à fournir de meilleures réponses.

Un exemple

Une conversation IRC récente à titre dillustration:

Q: Y a-t-il une fonction pour renvoyer une chaîne entre deux délimiteurs?

B: Je ne comprends pas ce que vous voulez dire, mais je doute quil » existe déjà une fonction

C: Fractionner et trancher

D: Partition aussi

Q: Jai essayé la partition
Q: Jessayais dutiliser des fonctions intégrées pour obtenir le numéro entre quelque chose comme ça dans une chaîne  » attribute1: 50.223, attribute2: 442.1  »

D: Pourquoi ne pas simplement analyser la chaîne?

Q: Je pensais quil y avait peut-être des éléments danalyse intégrés

D: paires = [x.strip () pour x dans s.split (« , « )]; attribs = {k: v pour x par paires pour k, v dans [x.split (« : « )]}
D: Il « y a peu de bibliothèques, mais les formats simplistes sont assez faciles – si vous ne vous souciez pas de lerreur manipulation
D: Modification de la source pour utiliser un format bien connu, par exemple json ou yaml, est préférable lorsque cela est possible

Q: Ce code provient en fait du HTML
Q: Mais je ne sais pas comment analyser Javascript avec HTMLParser ou quoi que ce soit

D: Est-ce simplement incorporé dans HTML ou dans une version mutilée de HTML?

Q: Il « est intégré dans le HTML

D: Sil sagit de JavaScript (et cest-à-dire, à lexception des accolades extérieures manquantes), JSON peut probablement lanalyser

Q: Merci

D: Je ne lai pas dit explicitement: JSON analyse uniquement les structures de données, pas le code JS

Q: Cest tout ce dont jai besoin pour analyser une structure de données

Le problème est vraiment de savoir comment analyser les structures de données JavaScript, pas de trouver  » une chaîne entre deux délimiteurs « , mais cela prend un peu de temps et dintuition pour arriver au vrai problème.

Cest plus facile à faire dans un chat entièrement interactif (quel que soit le mode), mais sur un site SE , où vous peaufinez un peu un message, le publiez, puis disposez de 5 à 30 minutes, ou plus, avant les commentaires, cela aide vraiment à aller dans la bonne direction dès le début.

Commentaires

  • Les problèmes IMO XY sont parfois utiles car les réponses pourraient aider le questionneur à comprendre pourquoi leur solution ne fonctionnerait pas ‘ et à mieux comprendre loriginal problème dans le processus.
  • Le moyen le plus simple d’aborder le problème réel est généralement de demander pourquoi cinq fois.
  • Cependant, si vous commencez par Y au lieu de X, vous pouvez avoir demander pourquoi 10 fois (ou plus, appliquer les 5 pourquoi à chaque niveau?). 🙂
  • Pourquoi Y – que ‘ est la question à poser
  • Pour être honnête, plusieurs fois les questionneurs posent des questions sur X, et la réponse est  » que ‘ est trop, décomposez-la en un petit exemple  » et ainsi laffiche isole sa tentative de solution Y et tout le monde perd de vue le problème dorigine.
  • Vous êtes parfois coincé avec Y. Dans mon premier travail, jai dû modifier une boutique en ligne. La base de code était un mélange pourri de PHP HTML et de js. Il y avait 2 façons de résoudre les problèmes: Refaire le tout (refusé par le patron) ajouter plus de bande. SO ne ma pas vraiment aidé là-bas.  » Comment y?  »  » Pourquoi feriez-vous cela?  »  » Parce que je dois  »  » Quest-ce que O / Ne faites pas cela / pourquoi utilisez-vous {antipattern}?  »  » Parce que je dois  »
  • @OliverA. Ensuite, une partie de la question devient une explication de la raison pour laquelle vous devez faire Y.  » Je dois faire Y parce que legacy / boss / old framework  » alors la question devient plus facile à répondre et plus précieuse pour tous.
  • @LegoStormtroopr Sauf que beaucoup de gens ne ‘ ne comprennent pas cela. Ils ‘ ne comprennent pas que parfois vous navez ‘ pas le luxe de choisir la bonne approche et avez pour panser le code existant, et la question est fermée comme étant trop étroite ou quelque chose …
  • Jai fait de solides tentatives pour ramener toutes mes questions à autant de  » Y  » que possible. Je nai aucun intérêt à détailler toute la portée de mon problème (en particulier lorsque je travaille sur un logiciel propriétaire à source fermée à mon travail), et jai envie de (exclure de traiter avec ceux qui insistent pour parcourir la chaîne avec  » pourquoi? pourquoi? pourquoi? « ) Je peux obtenir une réponse plus rapidement en encapsulant mes questions hors de tout contexte.
  • Cela dépend sur la connaissance globale de l’espace du problème par le demandeur ‘.Je suis daccord avec n00n, pour ceux qui ont plus dexpérience avec les alternatives, ils ont peut-être déjà exclu tous les X ‘ possibles, et maintenant X est une constante, et ils veulent juste résoudre pour Y. Cela nuit à la question de devoir passer en revue tous les X ‘ que vous ‘ ont déjà exclus, et plongez dans la politique de bureau ou larchitecture système existante. Une personne moins expérimentée pourrait bénéficier d’autres ‘ s examiner les alternatives X ‘ et suggérer de reconsidérer cette condition préalable.
  • Le contre-exemple: Moi: Y a-t-il un moyen de changer le répertoire courant en Java? Autre: en java, vous navez ‘ pas besoin de faire cela. Quest-ce que tu veux faire? Moi: (soupir) OK, jai un fichier jar exécutable pour un programme qui écoute un port et échange des messages. Le fichier jar se trouve normalement dans x / bin et la configuration dans x / conf. Ainsi, le programme lit sa configuration à partir de ../conf. Maintenant, je veux exécuter cela dans un serveur tomcat en appelant moi-même la méthode principale du programme ‘. Mais je nai aucun contrôle sur le répertoire de base du serveur ‘ et  » ../conf » nest pas un endroit acceptable.
  • (cont) Je me demande donc sil existe un moyen de changer le répertoire personnel dun thread. Autre: Oh, je vois. Eh bien, vous pouvez ‘ faire cela en Java. Moi: Pourquoi ne pourriez-vous pas ‘ me le dire plus tôt? – Dans ce cas, jai posé la question X et on ma répondu à la question Y (comment utiliser les fichiers en Java).
  • Habituellement, je ne veux pas que les gens résolvent mon problème, il suffit de répondre à ma question. Cela peut être assez ennuyeux quand les gens essaient daider avec le premier plutôt que le second.
  • @NoctisSkytower Mais la plupart du temps, chaque réponse dépend du contexte … Q:  » Comment puis-je faire X en C?  » A:  » Il existe 20 façons différentes, chacune avec ses propres pièges et cas dutilisation, vous pouvez les étudier vous-même et faire toutes les erreurs que les autres ont faites, ou vous pouvez nous dire quel problème vous voulez résoudre avec cela et nous pouvons vous donner la meilleure approche !  » Q:  » Je ne ‘ ne veux pas une conférence donne-moi une réponse, je ne ‘ que je men fiche!  » – A:  » -.- bye.  »
  • Les sites SE non-programmants renvoient à cette réponse pour expliquer le concept du problème XY. Un exemple plus universel (sans programmation) serait encore plus utile.

Réponse

Le problème XY, comme on lappelle parfois, est un blocage mental qui conduit à dénormes pertes de temps et dénergie, tant de la part des personnes qui demandent de laide que de celles qui fournissent de laide. Cela se passe souvent comme suit

  • Lutilisateur veut faire X.
  • Lutilisateur ne sait pas comment faire X, mais pense quil peut tâtonner vers une solution si ils peuvent simplement réussir à faire Y.
  • L’utilisateur ne sait pas non plus comment faire Y.
  • L’utilisateur demande de l’aide avec Y.
  • Les autres essaient de aider lutilisateur avec Y, mais sont confus parce que Y semble être un problème étrange à résoudre.
  • Après beaucoup dinteraction et de temps perdu, il devient finalement clair que lutilisateur veut vraiment de laide avec X, et que Y nétait même pas une solution appropriée pour X.

Le problème survient lorsque les gens se retrouvent coincés dans une approche et deviennent incapables de prendre du recul. Rester ouvert à avoir une nouvelle regardez la situation dans son ensemble, ces personnes pourraient retrouver le chemin de X et continuer à chercher des solutions alternatives.

Voir «  XyProblem  » pour plus dinformations.

Commentaires

  • Je pense aussi que cette réponse est nécessaire ajout à lexplication. Jai lu ce qui précède, essayé de réfléchir à mon problème actuel (quil sagisse dune question X ou Y), et quand jai lu ce commentaire, jai eu le  » aha  » moment de compréhension que si javais posté ma question, je me serais renseigné sur le Y et non sur le X. La réitération de ma situation pourrait être un blocage mental axé sur la façon dont je résous le problème plutôt que dénoncer clairement le problème que je veux résoudre est très utile.
  • Je pense que cest la responsabilité des utilisateurs ‘. Jai ‘ rencontré plusieurs fois le problème, que je voulais résoudre le problème X, et tout le monde a suggéré Y et Z. Mais si javais voulu une solution pour Y ou Z, cest ce que javais demandé. Je trouve cela un peu gênant, non seulement parce que les réponses que jobtiens nappartiennent ‘ pas à ma question, mais aussi parce que je me sens sous-estimé.Depuis cela, je manque intentionnellement tous les détails qui pourraient induire en erreur mes répondeurs dans cette mauvaise voie.
  • Cette réponse particulière me rappelle le marteau de Maslow ‘
  • Je ne suis pas daccord avec la réponse. Si vous rencontrez un problème X et indiquez Y comme solution et demandez de laide pour Y, ce que vous ‘ faites est détablir votre (probablement erronée) compréhension du problème. Quand je veux aider quelquun, je veux savoir non seulement sa question X, mais comment il pense actuellement (le Y). Parfois, il ‘ est plus important d’enseigner comment penser que d’enseigner quoi penser. Et le problème XY me donne des indices importants sur la façon daborder le faire.
  • En fait, admonester les problèmes XY est particulièrement désagréable. Et (à choisir, oh, un): stackoverflow a été atroce à cet égard au cours des dernières années. ‘ m soutenant que les autres sites SE centrés sur les programmeurs ne ‘ sont irréparablement foutus comme eux.
  • @ tgm1024 Je ne ‘ pas très bien comprendre vos commentaires; le problème XY nest pas lorsquun utilisateur inclut son processus de réflexion en donnant à la fois X et Y dans la question, il ‘ s lorsque lutilisateur ne ‘ t incluent leur processus de réflexion et ne donne que le Y car surtout dans ce cas, il est ‘ difficile de leur apprendre à penser .
  • @JiK, soit vous lidentifiez comme un problème XY, soit vous ne ‘ t. Si vous le faites, alors vous ‘ connaissez bien le X. Si vous ‘ t, alors vous ‘ ferait mieux de ne pas supposer ce quest le X, car le Y présenté pourrait en fait être une question correctement formée .
  • Lutilisateur ne ‘ Je ne sais pas comment faire X, mais pense quils peuvent tâtonner pour trouver une solution sils parviennent simplement à faire Y. On dirait que tous les problèmes sont résolus pour moi: P. Poussé à lextrême, tout le monde devrait commencer sa question par  » Je veux améliorer ma vie / le monde dune manière ou dune autre. Je suis né en 19 …  »
  • Parfois, ‘ a à peu près raison. Il y a de nombreuses années, après que mon administrateur de base de données Oracle sest tourné vers moi (son administrateur système) et ma dit, avec lassitude,  » Quelque part, quelque part, quelque chose sest mal passé  » Je me suis fait un t-shirt avec ça dessus. Cest à bien des égards un rapport derreur parfait car il ne fait ‘ aucune hypothèse que je dois ensuite réfuter: il commence par son problème et me permet de parcourir ses observations et ses attentes pour voir où pourrait être le décalage avec la réalité.
  • @ tgm1024 ‘ évite de perdre beaucoup de temps pour à la fois le demandeur et les répondeurs. Si vous êtes conscient des mises en garde dun Y éventuellement valide, vous devez inclure cette information dans votre question. Une demande supplémentaire de X sera évitée. Si vous ‘ ne connaissez pas les mises en garde demandant X est probablement exactement ce dont vous avez besoin car une solution pour Y ne vous aidera pas beaucoup. Ce ne serait pas très désagréable de ne pas les orienter vers la bonne solution et de leur laisser une mauvaise solution.
  • @trixn, je ‘ ne sais pas où nous être en désaccord. Cependant, — > Si vous avez le problème X et indiquez Y comme solution et demandez de laide pour Y, ce que vous ‘ faire, cest établir votre compréhension (probablement erronée) du problème. Quand je veux aider quelquun, je veux savoir non seulement sa question X, , mais comment il pense actuellement (le Y). Parfois, il est ‘ plus important d’enseigner à penser que d’enseigner quoi penser. Et leur problème approprié et précieux XY me donne des indices importants sur la façon d’aborder exactement cela.
  • @ tgm1024 Cest littéralement ce que vous avez déjà dit avant que. Mon point concernait votre déclaration selon laquelle avertir les problèmes de XY est particulièrement hostile. Bien sûr, ‘ est également une question de savoir comment vous exprimez votre soupçon quune question pourrait être un problème XY. Mais dune manière générale, je ne suis pas ‘ daccord pour dire que pointer un demandeur vers cela nest pas du tout sympathique car cela pourrait en fait être ce dont il / elle a réellement besoin. Cest ‘ que je demande généralement plus dinformations sur le cas dutilisation. Si Y est une question à laquelle il est facile de répondre, jy réponds généralement en notant que ce nest peut-être pas la solution souhaitée de toute façon.
  • @trixn, bien sûr, vous pouvez orienter quelquun dans la bonne direction, et bien sûr vous pouvez guider quelquun vers une nouvelle façon de voir quelque chose.Cependant, pour commencer avec lidée que la formation des questions elle-même est en quelque sorte erronée, cest ce avec quoi je ‘ m en forte contradiction. Par exemple, regardez la citation hyperbolique dans la 71 réponse positive de Jonathan Benn:  » Spécifique à Q & A, la perniciosité dun Le problème XY vient du fait quil est frustrant pour toutes les personnes impliquées.  » Cest tout simplement insensé. La question XY est précieuse. Cela ‘ nest frustrant que pour les personnes qui le souhaitent.
  • Excellente explication. RE:  » et que Y n’était pas ‘ t même une solution appropriée pour X « , Je pense que parfois Y peut être une solution pour X. Mais ce nest pas une solution naturelle ou pratique.
  • Imo cest celle qui devrait être en tête. Aucune infraction sur la première réponse, mais moi dabord lu ça et ça ma fait gratter la tête, puis je suis descendu pour voir ça et la réponse est devenue claire comme du cristal pour moi.

Réponse

Un problème XY semble être un sous-ensemble de l effet Einstellung , où un résolveur de problèmes reste bloqué sur une solution particulière et est incapable revenir en arrière mentalement pour voir des solutions potentiellement supérieures. Ce phénomène psychologique affecte tout le monde, novices comme experts.

«  Pourquoi votre première idée peut vous aveugler en une meilleure  » explique un exemple des échecs où une personne gagne avec un compagnon étouffé à 5 coups en une partie. Lors de la prochaine partie, le même joueur ne parvient pas à voir un compagnon à 3 coups plus rapide car il est coincé sur lidée dun compagnon à 5 coups.

Spécifique à Q & R, le caractère pernicieux dun problème XY vient du fait quil est frustrant pour toutes les personnes impliquées:

  1. La personne qui pose la question pose la mauvaise question (qui est lié à leur tentative de solution plutôt quau problème dorigine), puis trouve difficile de clarifier la question car ils sont bloqués sur leur propre solution. Les réponses proposées ne sont pas satisfaisantes car elles nindiquent pas comment mettre en œuvre la solution de lauteur.
  2. Les personnes qui répondent à la question trouvent cela frustrant car la solution proposée na pas de sens pour eux car ils approchent du problème sous un angle nouveau et ne sont (vraisemblablement) pas affectés par leffet Einstellung, et ils ont du mal à faire clarifier leur question à laffiche originale.

Commentaires

  • Il est intéressant de voir comment la description de Einstellung effect est basée sur une erreur évidente. Luchin expérimentait comment les gens déduireaient le problème de sa description incomplète et ambiguë (était-il demandant loptimisation de la latence ou loptimisation du débit?). Cependant, il sest fait des illusions sur le fait quil expérimentait encore  » comment les gens parviennent à des solutions « . Cest peut-être une chose référentielle. Luchin était tellement concentré sur son intérêt, quil na pas remarqué quand il sest détourné vers un problème très différent.
  • Ma source était Scientific American, si vous y objectez, vous pouvez y remédier;)
  • Je pense que cest mieux Lexemple des échecs serait quelque chose comme un joueur se concentrant sur la tentative de réussir un échec compliqué avec un matériel insuffisant, tout en ignorant le fait quil a un pion qui pourrait devenir reine.

Réponse

Le problème du Puzzle carré manquant en est une bonne illustration. Il illustre un processus de problème / question / solution simple et universel, où « une certaine illusion » entraîne des complications.

Il y a un problème évident — le 1 × 1 trou dans celui-ci apparaît sur le deuxième chiffre —, mais la solution nest évidente quaprès que nous sachions (comme un œuf de Colomb) … Tous les gens, experts et non-experts, reconnaissez quil y a un problème.

entrez la description de limage ici

  • utilisateur normal : pense qu « il y a deux chiffres équivalents , les » triangles totaux « dans une grille parfaite de 13 × 5. . « , suivi de la question:

    • problème Y : « Pourquoi le deuxième triangle équivalent a-t-il un trou? » .
  • utilisateur expert : pensez à quelque chose comme « oups , ils sont similaires , mais pas « parfaitement équivalents » chiffres « , suivant avec la question:

    • problème X : « Comment montrer quils ne sont pas des équivalents parfaits? » .

Lexpert en géométrie intelligent pense en termes de « géométries similaires qui ne sont » pas des équivalents parfaits « .

Lutilisateur normal pense , à tort, en termes de congruence exacte. Ainsi, lutilisation de hypothèse erronée , produisez de mauvaises questions Y.


Le » problème XY « en tant que spécialisation du » mauvais comportement dhypothèse « 

Vous voulez résoudre la vraie question – X, et vous pensez en termes de Y -contexte, et essayez pour utiliser la question- Y. Au lieu de poser des questions sur le contexte X, vous demandez sur le contexte Y.
(comme @Gnome remarqué ci-dessus , mais en utilisant dautres mots)

Donc, « XY Problem » nest quun autre terme (plus spécialisé) pour dire « Utilisation de mauvaise hypothèse de travail  » .

Commentaires

  • Veuillez revoir votre vote défavorable, jai modifié pour séparer lopinion personnelle de ce formulaire plus générique et peut-être intéressant à expliquer  » quest-ce que « .
  • Je tire votre sens de votre réponse et vous ‘ est celui qui répond à la question avec une illustration animée. Si ma réputation (dans cette méta-communauté) me permet de voter, je voterai pour.
  • Cette réponse illustre un cas dutilisation , quand  » programmeur pensant-impératif  » pose une question sur le langage fonctionnel … La solution suggérée : demandez au plus haut niveau.
  • désolé, pourquoi le deuxième triangle équivalent a-t-il un trou?
  • Bonjour @KorayTugay, votre question est hors de portée (cest un problème classique, afin que vous puissiez utiliser des explications classiques, voir mon lien Wikipedia!). PS: jaime voir le trou comme la différence , car les triangles sont similaires et ont presque la même surface, mais pas exactement la même surface, vous pouvez donc construire le trou de la petite bande de la différence géométrique.
  • @koraytugay regardez le point où les triangles rouge et bleu se touchent lorsque lanimation se réinitialise .. il devient clair que le triangle bleu est  » plus raide  » que le rouge, donc lorsque le triangle bleu est en bas, lhypoténuse est  » convexe  » et lorsquil est en haut, il est  » concave « . Cette  » courbure  » de lhypoténuse donne naissance à un carré ‘ de différence dans la zone

Réponse

Éviter le problème XY

Je soutiens que vous ne pouvez pas léviter. Pas sans simplement jeter les exigences de votre programme à SO et lui demander de faire votre conception pour vous ( non recommandé) .

Je soutiens cela parce que le processus de conception de tous les logiciels est basé sur un ensemble dexigences de départ «A». À partir de là, vous dites «Je peux atteindre A si je fais B et C « . De là, vous dites » Je peux atteindre B si je fais D et E et je peux atteindre C si je fais F et G « . Et cela continue au point où nous disons que » Je peux atteindre X si je fais Y « . Nous le faisons généralement si vite que nous ne pensons même pas au processus.

Le problème majeur avec le problème XY est que Y n’est pas possible, mais vous ne savez pas quelle partie de votre conception pour se détendre à g et retour au X qui est possible. En général, vous ne savez même pas que Y est impossible sans le demander. Vous ne savez pas ce que vous ne savez pas. Cest donc inévitable


Poser des questions où vous risquez de tomber dans XY

La meilleure chose que vous puissiez faire pour résoudre le problème XY est de vous protéger contre cela lorsque vous posez des questions. Posez toujours la même question mais donnez autant dinformations pertinentes que possible:

  • Énoncez votre problème
  • Énoncez ce que vous tentez datteindre
  • Indiquez comment il sintègre dans votre conception plus large

Cela aidera les gens à identifier son XY et vous aidera beaucoup plus rapidement.


IMPORTANT: Donner des réponses aux problèmes XY

À mon avis, le plus gros problème avec Les questions XY sont les réponses (souvent) inutiles quelles provoquent. Nous nempêcherons jamais les gens de poser ces questions. Le mieux est donc de comprendre comment nous pouvons y répondre rapidement. et efficacement.

Ironiquement, beaucoup de ces mauvaises réponses et réponses sont données par ceux qui veulent être les plus utiles et peuvent être données par certaines des personnes les plus réputées sur le forum / SO.

Jai découvert une méthode pour répondre à ces questions qui semble aider à contourner la psychologie associée aux problèmes XY et conduire le PO dune question à une solution de travail. La méthode prend un peu plus de temps à répondre en la première instance mais ferme la boucle Q / R beaucoup plus rapidement.

Je vous suggère de répondre à la question en trois parties et de les donner dans lordre suivant.

  1. Répondez à la question du PO . Même si le PO a probablement besoin dautre chose, ne négligez jamais de répondre à la question quil a réellement posée en premier et non à la question à laquelle vous pensez quil veut répondre. Dans certains cas, la réponse peut être « Y nest pas possible » . Trop souvent, je vois des réponses (commentaires) demandant « pourquoi en avez-vous besoin? » . Cela ne donne rien à lOP. Si vous dites « Cela » va être vraiment difficile. Expliquez pourquoi vous en avez besoin, nous pourrons peut-être vous aider «  alors dans de nombreux cas, un OP prendra simplement le  » Y est vraiment difficile «  et retournera à la planche à dessin. . Cest bien parce que vous avez répondu à leur question et ils pourraient bien revenir eux-mêmes avec la question X.

  2. Discuter la solution tentée par lOP . Ce peu est délicat et demande une certaine réflexion. Mais je ne peux pas souligner combien il est important. Si lOP a demandé Y et que vous pensez quil veut X, après avoir répondu à sa question (1), continuez à parler de Y (PAS X). À quoi sert Y censé être? En quoi cela ne sapplique-t-il pas à X? Lessentiel est de continuer à parler de la question, mais de passer de la réponse à la fourniture dinformations utiles. Car après tout, cest ce dont vous pensez que le PO a besoin. Des informations utiles et non la réponse à sa question.

  3. Résoudre X Cest ce que vous avez hâte de faire et cest le but de votre réponse après tout. Vous avez rencontré les OP selon leurs conditions et répondu à leur question. Vous les avez aidés à comprendre les échecs de leur question et pourquoi résoudre Y nest pas la chose à faire … alors maintenant vous êtes tout à fait justifié dexpliquer une solution à X.

La plupart des gens sont ici pour apprendre, donc les parties 1 et 2 de cette réponse sont aussi importantes que la partie 3. Mais trop souvent, la partie 3 y est donnée « s propre et il est extrêmement frustrant et condescendant envers le PO sans oublier que beaucoup de PO naccepteront pas la réponse.

Donner cette réponse évite également lembarras lorsque vous pensez que le PO a un problème XY alors quen fait, ils Don « t. Tout ce que vous avez fait est de donner un peu dinformations supplémentaires. Donner simplement la partie 3 risque de ne pas avoir lu la question.


Soit dit en passant. Relisez la question et relisez cette réponse … remarquez les trois parties?

Commentaires

  • As  » XY Problème  » est une sorte de  » Utilisation incorrecte hypothesis  » , la communauté Stackoverflow doit vous aider à montrer la bonne hypothèse … Cest lobjet de votre  » Donner des réponses aux problèmes XY « ?
  • @PeterKrauss Dans un sens. Cest plus une hypothèse (je suis daccord que la communauté devrait) . Je suppose que quelquun qui répond à la question veut donner la troisième partie – la bonne hypothèse. Le problème du problème XY réside dans le temps perdu. Lobjectif de cette réponse est donc de souligner que passer du temps à donner les parties 1 et 2 à lavance nest pas une perte de temps, mais en fait un gain de temps à long terme. Vous avez raison de dire que cette réponse est généralisable à l Utilisation dune mauvaise hypothèse .
  • Trop souvent, lOP prend la réponse à Y et sexécute, sans lire ni se rendre compte que Y était le mauvaise solution à X. Pour cette raison, je ‘ d plutôt ne pas leur donner une réponse qui sera mal utilisée. Je ‘ risquerais plutôt de les offenser pour trouver la bonne solution plutôt que de contribuer à la fois au mauvais code et à la logique défectueuse.
  • @Tom That ‘ est très bien, dans ces cas  » vous demandez quelque chose de vraiment difficile  » ou  » vous ne devriez ‘ faire ça, cest ‘ une très mauvaise idée (1) est tout à fait appropriée.
  • Jai éclaté de rire après avoir fini de lire ceci et vérifié. Excellente réponse, excellentes observations, excellent leadership par exemple.
  • Jajouterais que le but de ce site nest pas seulement daider la personne qui a posé la question à lorigine, mais aussi de créer un référentiel pour nimporte qui dautre qui trouve la question plus tard. Même si Y nest pas la bonne façon de faire X, cela peut toujours être utile en soi dans dautres contextes, donc répondre à Y peut aussi être utile.
  • Cela répond en fait correctement à la question réelle, tandis que dautres ne font quénoncer des faits

Réponse

(séparé de mon autre réponse car celle-ci a plus dopinion que dexplication)

Si vous êtes daccord que le « problème XY » nest quun autre terme (plus spécialisé) pour « utilisation dune hypothèse de travail erronée », comme illustré et expliqué ici , et similaire à l « effet Einstellung » expliqué ici par @Jonathan Benn

Nous pouvons penser en termes de certaines situations principales:

  • Rush situation: la fausse hypothèse nest quun effet secondaire de langage ou de simplification excessive, qui peut être corrigé par lutilisateur avec un peu plus dattention, et en investissant plus de temps pour éditer la question.

  • Normal situation: comme dans la Missi illustré ng Square puzzle, vous ne savez pas que votre hypothèse est fausse. Cest la situation principale à discuter ici (!).

Concentrons-nous donc sur la situation normale .


SOLUTIONS / ATTENUATEURS

Le « problème XY » est un problème valide!

La question Stack Exchange est de montrer un problème. Si ma question aide à montrer que le Le vrai problème est ma mauvaise hypothèse , cest OK! Cest une première étape , et peut-être que je naurai pas besoin dautres questions après avoir obtenu l hypothèse correcte (et en essayant de résoudre par moi-même).

Exemple. Voir «  XPath pour xml: lang? Le test de laxe de lattribut auto échoue « ; le vrai problème est que @attribute::self nexiste pas, donc cétait une mauvaise hypothèse sur le titre de la question.

La solution help/mcve présente des limites

Stack Overflow « s help/mcve raisonnement : « Comment créer un M inimal, C omplete, et V erifiable E xample « , peut être utilisé pour éviter le problème XY.

Mais le coût dédition (temps et attention coûteux), et la perception que cest une sorte de pollution dans votre texte (un « mauvais marketing » pour la question), sont des inconvénients.

Il est également correct de simplifier le problème et expliquez en mettant davantage laccent sur le point.


Bonnes pratiques

Former les utilisateurs de Stack Overflow pour vérifier si la simplification a du sens. Algorithme pour une bonne question:

  1. Essayez de créer un MCVE.

  2. Si un MCVE nest pas pr actical, essayez au moins de simplifier.

    2.1. Testez, vérifiez les incohérences, simulez le lecteur … et révisez. Votre simplification produit-elle quelque chose détrange, change-t-elle le contexte? Vérifiez pour éviter les erreurs.

  3. Écoutez les commentaires sur votre question , et essayez de clarifier, essayez de travailler en éditant la question si nécessaire: sil y a des gens qui commentent, cest un notez que vous pouvez investir plus de temps dans votre question.

La fausse hypothèse nest pas évidente, mais quand on simplifie, on amplifie les mauvais effets, et cela devient plus évident.


PS: Par contre, quand on explique et montre tous les détails, tout le contexte, et vérifie le point réel, lassemblage du problème (comme lors de lutilisation de mcve), les incohérences apparaissent également avec plus de preuves.

Commentaires

  • Il ‘ est mon expérience que le MCVE crée plus de problèmes XY pas moins. Il fait une abstraction plus pure en supprimant le contexte de la question originale. Cest-à-dire que le X peut être contenu dans le contexte de la question dorigine mais le MCVE sera construit uniquement pour exprimer Y.
  • Merci @couling (!). Oui, car la méthodologie MCVE nest peut-être pas une  » meilleure pratique « , mais est un moyen dappliquer  » … expliquer et afficher tous les détails … « . Notre cerveau fonctionne mieux après ce genre dauto-révision … Vous pouvez éditer et corriger le texte, cest un wiki.

Réponse

Négociation dun contrat syndical …

Le problème XY concerne la différence entre la négociation basée sur les « intérêts » (X) et la négociation basée sur la « position » (Y).

X = le salaire net global de lemployé stagne depuis plusieurs années, alors que son coût de la vie augmente continuellement; lemployé a besoin dun salaire net plus élevé.

Y = choisir «vous naugmenterez pas les frais de stationnement» comme une colline sur laquelle mourir / la seule «solution» à X que lemployé est prêt à accepter.

Viser Y (prendre position), cest viser une solution très spécifique et limitée au problème (X). Elle coupe lemployé de lunivers des solutions au problème (X) en insistant pour quil ne soit résolu que dune manière très spécifique et limitée. Si cette manière (Y) est, pour une raison quelconque, répréhensible pour lemployeur, alors il y aura une impasse – une période de temps où il ny a pas de solution à X, où une solution doit être acceptable pour les deux parties.

Si lemployé peut viser X au lieu de Y, alors lunivers des solutions reste ouvert / sans restriction, et lemployeur peut être recruté pour aider à trouver des solutions possibles à X. (Peut-être que cela se passera bien avec lemployé doit augmenter les tarifs de stationnement, en échange dune augmentation du coût de la vie …)

Ce paradigme intérêt / position semble pertinent pour poser des questions sur lOS, quand OP demande de laide pour faire fonctionner son poste. Parfois, vous pouvez passer à X en demandant simplement: « Pourquoi essayez-vous de faire cela? »; Mais je me demande si parfois, viser Y nest pas tout aussi précieux. Combien dentre nous ont déjà essayé de faire quelque chose, juste pour voir si nous le pouvions? Quelquun ici exécute son propre serveur DNS avec un type spécifique de logiciel pour cela très raison? 🙂 Ce nest peut-être pas votre meilleure solution à X, mais cest toujours intéressant …

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *