A lo largo de mi carrera, trabajé en compañías que tenían una colección de diferentes entornos para diferentes propósitos. Siempre tuvimos más o menos nuestro entorno de escritorio, un entorno de prueba, un entorno de control de calidad, un entorno de prueba y un entorno de producción. Esto se aplicó tanto a los servidores / aplicaciones como a las fuentes de datos que estábamos usando.
Cuando comencé en mi empresa actual, descubrí que el 90% de las aplicaciones se desarrollaban en un entorno de escritorio con fuentes de datos de producción o se desarrollaban directamente en el servidor de producción, según la plataforma. Esto no fue particularmente sorprendente, ya que fui contratado en parte para hacer cambios para mejorar la forma en que funcionaba el equipo de desarrollo, lo cual quedó claro en mi proceso de entrevista. Poco a poco empezamos a cambiar la filosofía y, muy pronto, la mayoría de las aplicaciones podrían ejecutarse en un entorno de escritorio, de prueba o de producción. No pasó mucho tiempo después de que la puesta en escena también llegara.
Ahora la mayoría de nuestros desarrolladores ven el beneficio de esta metodología y la defienden de manera vigilante. Sin embargo, tenemos una serie de aplicaciones heredadas que nunca se migraron. También tenemos varios programadores legados que piensan que esto es una pérdida de tiempo. Desafortunadamente, obtuvimos un servicio especial, pero nunca recibimos la aceptación total de la gerencia. Conseguimos lo que pensamos que era un compromiso de invertir sustancialmente en esto hace aproximadamente un año, pero nada se materializó a pesar de la planificación considerable que pusimos en ello. Ahora nos encontramos con que necesitamos más y más ambientes. Necesitamos la ayuda de los equipos de administración del servidor / red para la configuración y necesitamos la participación de las partes interesadas de la empresa para respaldar el ciclo de lanzamiento. Ahora estamos en un lugar donde un proyecto puede funcionar lo que los desarrolladores razonables considerarían "normalmente" solo si tiene a las personas adecuadas en el proyecto y el momento para configurar los entornos adecuados.
Me encantaría presentar un argumento completo, pero la administración realmente no tiene tiempo ni interés en escucharme hasta que haya un problema crítico. Realmente no puedo articular los beneficios simplemente porque siempre me pareció una segunda naturaleza. Me preguntaba si existen razones buenas, simples e irrefutables para la separación de entornos que harían que los gerentes que carecen de experiencia en desarrollo respalden esta idea . ¿Hay buenos recursos / literatura sobre el tema?