Le problème XY (XY Problem) peut survenir lorsqu'une personne demande de l'aide sur la résolution d'un problème à d'autres personnes.
C'est un blocage mental aboutissant généralement à de grosses pertes de temps et d'énergie que cela soit pour la personne demandant de l'aide que pour ceux qui en proposent.
Généralement le schéma est le suivant :
- L'utilisateur veut faire X.
- L'utilisateur ne sait pas comment faire X mais pense qu'il pourra obtenir une solution s'il commence par faire Y.
- L'utilisateur ne sait aussi pas faire Y.
- L'utilisateur demande de l'aide pour faire Y.
- Les autres personnes essayent d'aider l'utilisateur à faire Y mais ces derniers ont des doutes sur la résolution de Y.
- Après plusieurs allers-retours et de temps perdu, les personnes se rendent compte que l'utilisateur voulait en fait de l'aide pour résoudre X et que Y n'était même pas une solution envisageable.
Ce problème survient généralement lorsqu'une personne se retrouve bloquée sur une approche pour résoudre un problème et n'arrive pas à l'expliquer correctement avec assez de recul.
Exemple :
<n00b> Comment peut-on récupérer 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 l'extension ?
<n00b> Oui.
<feline> Alors demande ce que tu veux vraiment !
<feline> Il n'y aucune garantie qu'une extension de fichier fasse exactement 3 caractères,
<feline> alors juste prendre bêtement les 3 derniers caractères ne résoudra pas ton problème.
<feline> echo ${foo##*.}