Eu trabalho com uma equipe de desenvolvedores que têm opções quanto ao hardware e software que executam. Nossa sensação é de que esse cenário nos permite ver uma ampla variedade de sistemas de destino antes de chegarmos ao teste. Nossa experiência é que encontramos vários problemas estranhos em diferentes navegadores e sistemas operacionais logo após a introdução do problema. Mas essa é apenas a experiência de um grupo.
Essa variedade de sistemas é difícil para nossas equipes de infraestrutura e segurança, por isso surge frequentemente como um ponto problemático.
É mais benéfico ter ambientes de desenvolvimento homogêneos ou heterogêneos em uma equipe de desenvolvedores?
Respostas:
Uma vantagem é que você encontra e precisa resolver problemas de compatibilidade e divergência entre plataformas no início do processo de desenvolvimento. Todo mundo está acostumado a lidar com essas chaves de macaco e obstáculos.
Você também está vendo o lado negativo de tanta divergência: o ambiente é mais difícil de configurar, manter, proteger e desenvolver devido a essas divergências. Todo mundo tem que estar trabalhando em questões de divergência cedo e freqüentemente. Soltar o Macaco do Caos desde o início pode ser uma distração considerável para avançar.
Na minha experiência, os aborrecimentos por divergência não valem o esforço, a menos que você esteja trabalhando especificamente em um produto que deve ser eminentemente multiplataforma. Mas, isso é um julgamento que diferentes equipes precisam fazer por si mesmas. Prefiro ter pelo menos um mínimo de uniformidade nas minhas equipes de projeto - mas a realidade é que é um desejo, e não algo que posso impor. Algumas pessoas têm e usam Windows, outras macOS, outras têm algum sabor do Linux. Multiplique esse tempo todas as ferramentas que os desenvolvedores podem querer usar.
Você pode estabelecer alguns padrões de projeto principais, como Python 3.5, PostgreSQL 9.5+, pipeline de ativos baseados em gulp, git, Github, ramificações rebasadas ... ... com os quais todos devem estar em conformidade. Isso ajuda a reduzir a divergência, portanto, o tempo / esforço necessário para acomodá-la e organizá-la. Quanto mais corporativa e travar sua organização, mais padronização e semelhança você pode insistir. Os desenvolvedores, no entanto, tendem a ser os gatos metafóricos e irrecuperáveis. Portanto, manter a divergência "até um rugido monótono" geralmente é o melhor que você pode fazer na prática.
fonte