Skip to content

Instantly share code, notes, and snippets.

@nicolasblanco
Created July 5, 2013 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save nicolasblanco/5933692 to your computer and use it in GitHub Desktop.
Save nicolasblanco/5933692 to your computer and use it in GitHub Desktop.
Problème XY

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##*.}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment