Trabajo con un equipo de desarrolladores que tienen opciones sobre qué hardware y software ejecutan. Nuestra sensación es que este escenario nos permite ver una amplia variedad de sistemas de destino antes de llegar a la prueba. Nuestra experiencia es que encontramos una serie de problemas extraños en diferentes navegadores y sistemas operativos poco después de la introducción del problema. Pero esa es solo la experiencia de un grupo.
Esta variedad de sistemas es difícil para nuestros equipos de infraestructura y seguridad, por lo que a menudo surge como un punto débil.
¿Es más beneficioso tener entornos de desarrollo homogéneos o heterogéneos en un equipo de desarrolladores?
Respuestas:
Una ventaja es que encuentra y tiene que resolver problemas de compatibilidad y divergencia multiplataforma al principio del proceso de desarrollo. Todos están acostumbrados a lidiar con tales llaves y obstáculos.
También está viendo las desventajas de tal divergencia: el entorno es más difícil de configurar, mantener, proteger y desarrollar debido a esas divergencias. Todos tienen que estar trabajando en problemas de divergencia temprano y con frecuencia. Soltar al mono del caos desde el principio puede ser una distracción considerable para avanzar.
En mi experiencia, los problemas de divergencia no valen la pena, a menos que esté trabajando específicamente en un producto que debe ser eminentemente multiplataforma. Pero, esa es una decisión que los diferentes equipos deben hacer por sí mismos. Prefiero tener al menos un mínimo de similitud entre mis equipos de proyecto, pero la realidad es que es un deseo en lugar de algo que puedo hacer cumplir. Algunas personas tienen y usan Windows, otras macOS, otras algunas versiones de Linux. Multiplique esa cantidad de veces todas las herramientas que los desarrolladores quieran usar.
Puede establecer algunos estándares centrales del proyecto como Python 3.5, PostgreSQL 9.5+, canalización de activos basada en gulp, git, Github, ramas con rebase, ... a los que todos deben ajustarse. Esto ayuda a reducir la divergencia, por lo tanto, el tiempo / esfuerzo requerido para acomodarla y discutirla. Cuanto más corporativo y seguro sea su organización, más estandarización y comunidad puede insistir. Los desarrolladores, sin embargo, tienden a ser los gatos metafóricos no comprensibles. Por lo tanto, mantener la divergencia "en un rugido sordo" es a menudo lo mejor que prácticamente puede hacer.
fuente