Lavoro per una grande società finanziaria che gestisce denaro per migliaia di clienti. Questa azienda ha processi aziendali molto complessi e operano in un ambiente molto dinamico.
Si tratta di un'azienda piuttosto vecchia e nel corso degli anni hanno implementato molti sistemi eterogenei per automatizzare i processi all'interno dell'azienda.
Ci sono voci nell'azienda che potrebbe esserci uno sforzo per passare a "un sistema" (riscritto da zero) che consolida i molti disparati sistemi esistenti ora.
È sorto un dibattito che mette in discussione il valore di una tale mossa:
Un lato afferma che un singolo sistema è più semplice ed economico da mantenere grazie alla ridondanza notevolmente ridotta, ovvero logica aziendale fattorizzata correttamente, modello dati unificato, componenti UI riutilizzabili, ecc.
Altre parti affermano che l'azienda, i clienti e i prodotti (strumenti finanziari) sono troppo complessi e troppo dinamici per essere incasellati da un unico sistema. Un singolo sistema rischierà rotture in un componente quando ne viene modificato un altro. Non c'è alcun modo e motivo per consolidare la logica di business perché è troppo specifica per client e prodotto. Il tempo di implementare le modifiche aumenterà perché più componenti di livello superiore saranno interessati dalle modifiche apportate ai componenti di livello inferiore.
Domanda: La società dovrebbe cercare di investire tempo e risorse nella creazione di un modello di dati unificato, tenendo conto della logica aziendale e creando codice riutilizzabile a tutti i livelli? O dovrebbero "copiare e modificare" al fine di accelerare i tempi di sviluppo, ridurre le possibilità di regressione e ridurre la complessità? C'è un falso dilemma qui presentato (cioè ci sarà un cambiamento netto in un modo o nell'altro e una risposta necessariamente preclude un altro)? Per essere chiari, si tratta veramente di obiettivi e priorità a lungo termine , non di uno specifico design di prodotto. L'azienda non eliminerà mai una certa quantità di ridondanza e non sarebbe auspicabile che lo facessero.