Dipende probabilmente dalla tua organizzazione e dalle dimensioni del tuo prodotto, ma penserei che più volte gli input dei clienti e degli ingegneri di sistema vengono convertiti da una forma all'altra, più costoso è il tuo prodotto e forse più seriamente, più disconnessi saranno gli sviluppatori relativi al cliente.
Distinguere tra requisiti funzionali e di sistema probabilmente ha alcuni vantaggi, ma penso che la nostra documentazione debba per lo più crescere verticalmente (più descrittiva) piuttosto che orizzontale (cascata più grande, più handoff). Anche i grandi progetti DoD si stanno organizzando in approcci sistemici di sistema in modo che possano essere realizzati con team più piccoli, specifiche più piccole, budget minori e un potenziale di riutilizzo più elevato.
Un'altra considerazione potrebbe essere se si utilizza il modello V. Nel modello V, esiste un ciclo delle specifiche del cliente che si accoppia con i test di accettazione, la progettazione che si accoppia con i test di integrazione del sistema e lo sviluppo che si accoppia con il test delle unità. Se i tuoi due documenti di requisiti non si allineano con la creazione di casi di test, ciò potrebbe portare a qualche patologia. Ad esempio, si dispone di requisiti in cui nessun caso di test corrispondente impone l'interpretariato deve essere interpretato concretamente (ad esempio, il sistema deve avere prestazioni superiori significa nulla, ma il sistema deve rispondere a presse touch screen entro 200 ms e può essere testato ), quindi si può finire con reali disaccordi sull'adeguatezza e la deliverability del prodotto.