Che cosa è venuto prima, il processo o i dati utilizzati da quel processo? So che questa è una specie di "pollo o uovo", ma nel caso del software, credo che sia il processo.
Ad esempio, puoi costruire il tuo modello di dati in modo incrementale implementando un singolo caso d'uso alla volta con la sola persistenza in memoria (o qualsiasi cosa facile da implementare). Quando ritieni di aver implementato un numero sufficiente di casi d'uso per delineare le entità di base, puoi sostituire la persistenza in memoria con un vero database, e poi continuare a perfezionare lo schema mentre procedi, un caso d'uso alla volta.
Questo distoglie l'attenzione dal database e lo sposta al centro del problema: le regole aziendali. Se inizi a implementare le regole aziendali, alla fine troverai (tramite un processo molto simile a Natural Selection, tra l'altro) quali dati sono veramente necessari per l'azienda. Se inizi a modellare il database, senza il feedback sul fatto che quei dati siano realmente necessari (o in quel formato, o in quel livello di normalizzazione, ecc ...), finirai per fare un sacco di ritocchi in ritardo lo schema (che potrebbe richiedere pesanti procedure di migrazione, se l'azienda è già in esecuzione con esso), o dovrai implementare "soluzioni" nelle regole di business per compensare il modello di dati out-of-tune.
TL; DR: il database dipende dal business - è definito da loro. Non avrai bisogno dei dati se non hai un processo che funziona con esso (un report è anche un processo). Implementa prima il processo e troverai i dati di cui ha bisogno. Modella i dati per primi e potresti essere in grado di contare quante ipotesi erano sbagliate quando hai modellato per la prima volta.
Un po 'fuori tema ma molto importante: il flusso di lavoro che descrivo viene spesso utilizzato insieme a pratiche molto importanti come "La cosa più semplice che potrebbe funzionare", lo sviluppo basato sui test e un focus sul disaccoppiamento della tua architettura da i dettagli che ti intralciano (suggerimento: database). Riguardo l'ultimo, questo talk riassume abbastanza bene l'idea.