Questa domanda deve essere stata posta migliaia di volte ma sembra che ci siano pochi progressi in questo campo:
-
Ho chiesto al cliente cosa gli piacerebbe che il sistema facesse, con scarsi risultati!
-
Ho chiesto al cliente del sistema che il software dovrebbe sostituire, ma il sistema è troppo complesso o non conosce il sistema o non c'è un sistema da sostituire.
-
Ho raccontato al cliente cosa voleva, solo per trovare i requisiti in un secondo momento, ecc.
-
Ho provato a utilizzare un linguaggio comune, solo per capire in seguito che il cliente non conosce la differenza tra una casella di testo e un'etichetta.
L'elenco continua e troppo è dato per scontato in metodologie come DDD. Accenno a questo qui: Quali livelli dovrebbero riflettere la lingua del dominio (se una lingua di dominio può esistere rigorosamente)?
Inseriamo questo tipo di algoritmo!
Modifica
Questo è il classico cliente cattivo e non è quello che vorrei.
Un atteggiamento prevalente sul fatto che uno sviluppatore debba visitare un cliente sarebbe considerato costoso. Uno sviluppatore è supposto software di scrittura; un giorno fuori dall'ufficio, lontano dal lavoro di sviluppo più le spese spesso superano il profitto sul lavoro da svolgere.
Puoi fornire prototipi e wireframe, ma se questa non è la persona che userà il sistema, il loro input non sarà molto utile.