Lavoro in un data warehouse che esegue il source di più sistemi tramite molti flussi e layer con dipendenze simili a labirinti che collegano vari artefatti. Praticamente ogni giorno mi imbatto in situazioni come questa: corro qualcosa, non funziona, passo attraverso un sacco di codice ma ore dopo mi rendo conto di essere riuscito a concettualizzare la mappa del processo di una piccola porzione di ciò che ora so nel corso della giornata è richiesto, quindi chiedo a qualcuno e mi dicono che questo altro flusso deve essere eseguito per primo e che se avessi controllato qui (indicando una parte apparentemente arbitraria di un enorme stack di altre dipendenze codificate), allora avrei Visto. È incredibilmente frustrante.
Se fossi stato in grado di suggerire al team che forse sarebbe una buona idea se avessimo fatto di più per rendere più evidenti e evidenti le dipendenze tra oggetti, piuttosto che incorporarli profondamente in livelli ricorsivi di codice, o anche nei dati che deve essere presente perché popolato da un altro flusso, forse facendo riferimento a un paradigma software ben noto, provato e testato, quindi potrei essere in grado di rendere il mio lavoro e tutti gli altri molto più semplici.
È un po 'difficile spiegare i vantaggi di questo al mio team. Tendono ad accettare le cose così come sono e non "pensano in grande" in termini di vedere i benefici di essere in grado di concettualizzare l'intero sistema in un modo nuovo - non vedono davvero che se si può modellare un sistema enorme in modo efficiente quindi rende meno probabile l'incontro con inefficienze di memoria, vincoli univoci che interrompono lo streaming e chiavi duplicate, dati senza senso perché è molto più facile progettarlo in linea con la visione originale e in seguito non incontrerai tutti questi problemi che ora stiamo vivendo, che so essere insolito rispetto ai lavori precedenti, ma che sembrano ritenere inevitabili.
Quindi, qualcuno conosce un paradigma software che enfatizza le dipendenze e promuove anche un modello concettuale comune di un sistema al fine di garantire l'adesione a lungo termine a un ideale? Al momento abbiamo praticamente un casino enorme e la soluzione che ogni sprint sembra essere "basta aggiungere questa cosa qui, qui e qui" e io sono l'unico che si preoccupa che le cose stiano davvero iniziando a crollare.