Je suis sûr que tout le monde a vécu quelque chose comme ça. Vous entrez en réunion avec un client qui a un projet. Ils n'ont pas / peu d'exigences à l'esprit et la compréhension la plus vague de ce qu'ils veulent / ont besoin. À ce stade, il semble y avoir deux options:
1) Dites aux utilisateurs: "D'accord, donc je ne peux pas construire quelque chose pour vous si vous ne pouvez même pas encore le décrire. Pourquoi ne nous réunirons-nous pas dans quelques semaines quand vous saurez ce que vous voulez".
2) Rencontrez les utilisateurs à quelques reprises et aidez-les à comprendre ce qu'ils veulent en les guidant avec la bonne vieille méthode socratique. "Avez-vous besoin de suivre X?", "Et Y?", "Avez-vous besoin de la fonctionnalité Z?"
Avec la première option, vous ne restez pas coincé à faire le travail de quelqu'un d'autre ou à gagner des pouvoirs psychiques, cependant, les utilisateurs pourraient ne jamais vous présenter une spécification cohérente, ou ils pourraient prendre une éternité alors que la date limite continue de s'approcher. Avec la deuxième option, vous perdez beaucoup de temps à devenir analyste d'entreprise et vous devez vous emparer d'un tas de connaissances commerciales que vous n'utiliserez probablement plus jamais, mais vous aurez beaucoup plus de chances de sortir une spécification qui est logique.
Pour moi, c'est l'un des aspects les plus difficiles du développement, et j'ai le sentiment que je ne suis pas seul dans ce sentiment. D'après votre expérience, laquelle de ces options a tendance à mieux fonctionner?