Che cos'è un esperto di dominio?
Quando sviluppi software utilizzando Domain Driven Design , l'obiettivo principale dovrebbe essere il modello di dominio, ovvero il dominio in cui verrà utilizzato il software.
Facciamo l'esempio di un software di contabilità. Il dominio è la contabilità e per costruire il tuo modello di dominio, devi identificare gli oggetti del dominio (ad esempio conti, debito, credito, registrazioni, libro mastro, ...) e le regole che li governano (ad esempio "in un post, la somma di tutti i debiti devono sempre essere uguali alla somma di tutti i crediti ", o" una volta effettuata una registrazione in un libro mastro, non ti è mai permesso cancellarla ", o" per ogni pubblicazione, ci deve essere una traccia di controllo di chi ha pubblicato quando ").
Per sviluppare il tuo modello (e il tuo software attorno ad esso), devi ottenere la conoscenza del dominio . Questa conoscenza potrebbe essere estratta dalle fonti disponibili (libri, manuali di procedure commerciali, ...), ma per farlo bene , hai bisogno di un esperto di dominio (a volte chiamato a soggetto esperto di materia ).
Quali sono gli esperti del dominio?
Nell'esempio di contabilità, l'esperto di dominio sarebbe probabilmente un contabile. Lui / lei potrebbe probabilmente essere o diventare un futuro utente del sistema (alcuni lo chiamano " utente chiave "). Ma in altri casi, potrebbe essere un esperto di business che non utilizzerà mai il sistema (ad esempio un ingegnere di produzione conosce perfettamente la linea di produzione e il processo di produzione, mentre i futuri utenti saranno gli operatori di produzione).
Ricorda che non tutti gli utenti saranno esperti di domini. Un esperto di dominio deve avere una certa autorità sul suo dominio, in modo da poter verificare con lui / lei la validità del modello di dominio progettato.
Ultimo ma non meno importante, per molti sistemi potresti aver bisogno di diversi esperti di dominio per coprire l'intero spettro del dominio, perché nessuno può sapere tutto (ad esempio per un ERP ci vogliono esperti di dominio di tutta la società: vendite , approvvigionamento, contabilità, produzione, magazzino, ...).
Dove trovare gli esperti di business?
È difficile dare una risposta universale. Posso solo dirti cosa ha funzionato per me: penso che il modo migliore per trovarli sia chiedere al cliente il tuo futuro sistema.
Chiedi un esperto che possa descrivere cosa deve fare il sistema, chi può spiegare come funziona l'azienda nel campo considerato e chi potrebbe rispondere alle domande più complesse che potresti avere sull'argomento.
Chiedere a qualcuno che ha l'autorità di approvare gli orientamenti e le scelte su come il software si adatta alle esigenze del dominio.
Letture aggiuntive: