Non penso che ci sarà uno studio peer reviewed su cui puoi fare affidamento o un semplice modello empirico da cui attingere; anche nella misura in cui una cosa del genere potrebbe esistere, provare che i dati si adattano alla tua situazione potrebbe essere piuttosto difficile. Il fatto che tale adattamento del modello sia così poco pratico è la ragione per cui il business tende a fare molto affidamento sul "case study" di rilevamento di ciò che di solito è una singola azienda o squadra che cambia pratica da x a y (o fornitore da a a b). L'errore narrativo è spesso al lavoro, ma è uno dei pochi strumenti che hanno un qualche tipo di trazione al di fuori del neo-taylorismo pseudoscientifico, perché le persone hanno un'incredibile abilità di abbinamento dei modelli e hanno un'intuizione (giustificata o meno da altri dati) se un caso di studio ha qualche lezione trasferibile alla loro situazione. Penso che questo tipo di dipendenza da uno studio di caso possa essere frustrato dal punto di vista intellettuale come lo era la "gestione scientifica", ma ciò non impedirà alle persone di utilizzarli.
La cosa da misurare è davvero l'attrito dello sviluppo. Non sarai in grado di prevedere esattamente in che modo un modello di dominio strong possa influire sulla velocità, ma se inizi con un modello di dominio anemico e inizi a incoraggiare lo spostamento di più logiche di business dai livelli di servizio nel livello di dominio e incoraggi il frequente refactoring man mano che ottieni un una migliore comprensione del dominio, puoi almeno fare un paragone tra velocità (se stai usando qualcosa come story point per misurare approssimativamente la complessità del compito), o la soddisfazione del cliente, o la fragilità del sistema, o copertura del test, o qualsiasi cosa risuoni con il tuo organizzazione.
In base alla mia esperienza, immagino che troverai alcuni ostacoli iniziali quando inizierai a cambiare pratiche, poiché probabilmente dovrai affrontare alcuni sgradevoli effetti collaterali e il debito tecnico esistente, ma avrai un payoff a lungo termine se si effettuano investimenti progressivi in un vero dominio.
Se stai cercando di risolvere il caso in cui devi allontanarti da un modello di dominio anemico, la cosa migliore da fare è fornire dati su ciò che è difficile da cambiare ora, quali richieste dei clienti impiegano più tempo del dovuto perché hai per cambiare il codice in quattro posti diversi invece di uno, per esempio. Come spesso sostengo, il miglior caso di cambiamento è l'identificazione dei punti dolenti del sistema esistente; codice di lavoro inizierà a vincere qualsiasi argomento sul fatto che tu sia sulla strada giusta. Piuttosto che concentrarti sull'erogazione delle stime dei costi, concentrati su uno scenario ristretto a cui devi fornire valore commerciale a breve termine e inizia ad attaccare il problema rafforzando il modello di dominio.
Per essere case-study-ish senza nominare aziende specifiche in cui ho affrontato questo problema, ecco alcuni problemi con i progetti su cui ho lavorato con modelli di dominio anemici:
- Logica aziendale duplicata o leggermente divergente in più livelli del sistema, non applicata a livello di dominio.
- Scarsa comprensione da parte degli sviluppatori delle regole aziendali, perché la logica aziendale effettiva è diffusa nel sistema. Questo da solo tende a causare molti bug.
- Tempi di consegna lenti su miglioramenti delle funzionalità o principali regressioni e bug funzionali a seguito del nuovo lavoro di funzionalità.
- Effetti collaterali inaspettati delle modifiche al codice. (In genere, un po 'di codice presuppone che qualche altra parte del sistema avvia una sorta di processo asincrono o una transazione autonoma, ma non ha un modo di verificarlo e un nuovo sviluppatore non conosce questo comportamento o uno sviluppatore esistente si dimentica di esso).
- Una grande divergenza tra il modo in cui gli sviluppatori parlano del sistema e il modo in cui gli utenti ne parlano, risultando in attriti cognitivi quando cercano di dare un senso ai nuovi requisiti.