C'è un vantaggio per ambienti di sviluppo eterogenei?

10

Lavoro con un team di sviluppatori a cui viene data una scelta su quale hardware e software eseguono. La nostra sensazione è che questo scenario ci consenta di vedere un'ampia varietà di sistemi di destinazione prima di superare il test. La nostra esperienza è che troviamo subito una serie di strani problemi in diversi browser e sistemi operativi subito dopo l'introduzione del problema. Ma questa è solo l'esperienza di un gruppo.

Questa varietà di sistemi è difficile per i nostri team di infrastruttura e sicurezza, pertanto viene spesso considerata un punto critico.

È più vantaggioso avere ambienti di sviluppo omogenei o eterogenei su un gruppo di sviluppatori?

    
posta Ben 17.01.2017 - 21:39
fonte

1 risposta

3

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.

    
risposta data 18.01.2017 - 22:20
fonte

Leggi altre domande sui tag