Un vantaggio è che si incontrano e devono risolvere problemi di compatibilità multipiattaforma e divergenza nelle prime fasi del processo di sviluppo. Tutti sono abituati a gestire tali chiavi e ostacoli.
Stai anche vedendo il lato negativo di tale divergenza: l'ambiente è più difficile da configurare, mantenere, proteggere e sviluppare a causa di tali divergenze. Tutti devono lavorare su problemi di divergenza presto e spesso. Impostare la scimmia del caos in scioglimento all'inizio può essere una notevole distrazione dal progresso in avanti.
Nella mia esperienza, i problemi di divergenza non valgono lo sforzo a meno che non si stia lavorando in modo specifico su un prodotto che deve essere eminentemente multipiattaforma. Ma questo è un giudizio che squadre diverse devono fare da sé. Preferisco avere almeno un minimo di identità nei miei team di progetto, ma la realtà è che è un desiderio piuttosto che qualcosa che posso far valere. Alcune persone hanno & usa Windows, altri macOS, altri alcuni di Linux. Moltiplicare quella volta tutti gli strumenti che gli sviluppatori potrebbero voler utilizzare.
Puoi definire alcuni standard di progetto come Python 3.5, PostgreSQL 9.5+, pipeline di asset gulp, git, Github, rami rebased, ... a cui tutti devono conformarsi. Questo aiuta a ridurre le divergenze, quindi il tempo / lo sforzo richiesto per sistemarlo e disporlo. Quanto più aziendale e serrato, la tua organizzazione, tanto più standardizzazione e comunanza puoi insistere. Gli sviluppatori, tuttavia, tendono ad essere i gatti metaforici non trasmissibili. Quindi mantenere la divergenza "in un ruggito noioso" è spesso il meglio che puoi praticamente fare.