La separazione esplicita dei requisiti renderà più semplice la progettazione del sistema giusto.
Con requisiti non funzionali (preferisco il concetto / il termine attributi di qualità - dovrebbe fornire nuove intuizioni oltre funzionali rispetto a non funzionali), sei più interessato alle proprietà del software piuttosto che alla funzionalità. Ecco come il sistema svolge alcune funzioni, non semplicemente quello che fa il sistema. I requisiti di qualità hanno un'influenza significativa sull'architettura del sistema in modi in cui i requisiti funzionali non lo fanno e per questo motivo dovrebbero essere trattati in modo diverso.
Mantenere gli attributi di qualità separati dai requisiti funzionali consente di analizzare, specificare e dare priorità ai diversi tipi di requisiti in diversi modi. Ad esempio, gli attributi di qualità vengono normalmente specificati utilizzando uno scenario di attributi di qualità, mentre i requisiti funzionali possono assumere la forma di storie, casi d'uso, dichiarazioni devono o qualsiasi altro numero di formati. La maggior parte dei sistemi su cui ho lavorato aveva meno di una dozzina di attributi di qualità e molti, molti più requisiti funzionali.
Vorrei effettivamente introdurre un altro tipo di requisiti: i vincoli tecnici . Ancora una volta, la separazione esplicita dei requisiti in questi tre bucket fornisce indicazioni su come effettuare i giusti compromessi durante la costruzione del sistema. I requisiti funzionali sono spesso abbastanza negoziabili, gli attributi di qualità influenzeranno fortemente la tua architettura e le strutture che scegli, i vincoli tecnici non sono negoziabili.
Se questo fosse il mio team, direi loro che i requisiti dovrebbero essere chiaramente annotati per tipo per assicurarsi che non ci perdiamo qualcosa di importante nell'architettura. Pensa ai driver dell'architettura, non solo alla funzionalità.
Anthony Lattanze in Architecting Software Intensive Systems: A Practitioners Guide offre una panoramica pratica dei driver dell'architettura e del perché dovrebbero essere trattati in modo diverso, molto più completo del mio sommario qui.