In pratica, la raccolta dei requisiti dovrebbe avvenire prima e poi seguita da casi d'uso (e potresti avere un ciclo di feedback per verificare i requisiti). Il caso che descrivi di " dovremmo includere questo ", " dovrebbe essere un caso d'uso " si presenta principalmente negli ambienti di sviluppo del prodotto. Fare questa scelta è complicato in base alla tua voglia di rischio e alla tua squadra.
Se tuttavia stai cercando di sviluppare una soluzione per un cliente, la domanda è " Il client ha bisogno di questo " e niente di più. Potresti incontrare situazioni in cui il cliente non sa davvero di cosa ha bisogno, in tal caso ti consiglierei di andare ancora più in profondità e capire il problema aziendale che deve essere risolto. Una volta che è chiaro, la soluzione tecnica può seguire. In tali scenari di solito raccomanderei brevi iterazioni e una soluzione incrementale con partecipazione attiva del cliente.
In which language should we write this particular requirement
Stai insinuando un linguaggio di programmazione? In quel caso è sicuramente la domanda sbagliata da chiedere durante la raccolta dei requisiti. L'implementazione tecnica viene in genere decisa molto dopo durante la fase di raccolta dei requisiti.
Per prima cosa dovrebbe esserci una soluzione tecnica come dire una web-app, mobile-app, middleware, integrazione, soluzione db etc.
Potresti avere dei suggerimenti in merito all'argomento se il tuo cliente ha un negozio .net o java shop o si occupa di un determinato fornitore o, peggio ancora, è bloccato dal fornitore. Anche in questo caso la prima cosa dovrebbe essere la soluzione tecnica e in base a tempo / budget / risorse / condizioni diverse l'evoluzione tecnica si evolverà.
Sfortunatamente i libri possono solo suggerire vari scenari, e il migliore apprendimento è in pratica.