Analisi del Dominio
La fase iniziale dello sviluppo del progetto ha coinvolto un’approfondita analisi del dominio in cui il progetto si inserisce. Questa fase ha compreso:
-
knowledge crunching: inizialmente è stato fatto un incontro con il committente del progetto, che si è immaginato essere il Comune di Ravenna, in cui un rappresentante dell’amministrazione comunale ha presentato l’idea generale del progetto e ha risposto a numerose domande da parte del team.
In seguito, durante un’altra riunione con il committente, sono stati stilati una serie di casi d’uso accompagnati da diagrammi, per ottenere la prospettiva di un potenziale utilizzatore del sistema.
Inoltre, è stata svolta una sessione di “domain storytelling” con il coinvolgimento del responsabile comunale, così da delineare il flusso d’utilizzo delle varie funzionalità del sistema.
Infine, sono stati realizzati i “mock-up” dell’interfaccia grafica per assicurarci di rispettare le preferenze estetiche del committente; -
sottodomini: sono stati successivamente suddivisi il dominio generale e le richieste individuate in sottodomini, ciascuno con compiti ben definiti. Questi sono stati anche organizzati in un “core domain chart” per valutarne l’importanza e la complessità, sia a breve che a lungo termine, considerando anche potenziali sviluppi futuri;
-
ubiquitous language: durante i due passi precedenti, sono stati identificati termini chiave e specifici del progetto. Per gestire questi termini in modo coerente, sono stati raggruppati in una tabella unica e fornito precise definizioni per il loro significato all’interno del progetto e del sistema. Data la loro ricorrenza nella parte tecnica del codice, abbiamo anche fornito traduzioni in lingua inglese per la chiarezza.
In ogni passaggio dell’analisi del dominio, sono stati condivisi idee e documenti con il cliente, sia quelli sviluppati durante le riunioni congiunte, sia quelli prodotti successivamente dal team. In questo modo, è stato possibile accertarsi che ogni decisione presa fosse esattamente aderente alle richieste.