Estoy ayudando a administrar un equipo externo que está comenzando a desarrollar nuevas versiones de algunos productos existentes. Históricamente, este equipo siempre ha utilizado un modelo de un solo proyecto en una única solución para aproximadamente 30 módulos en Visual Studio que se unen para producir una compilación desplegable.
Esto está teniendo un impacto negativo en la confiabilidad y calidad de la construcción, porque no siempre nos envían el código fuente más actualizado. Estamos tratando de presionarlos para unificar todo el código referenciado en una única solución, pero estamos obteniendo cierta resistencia, específicamente siguen hablando de que aumenta la interdependencia entre módulos (lea "proyectos" en Visual Studio) si todo se coloca en Un único archivo de solución. Ninguno de los códigos en las soluciones separadas se usa en otros lugares.
Insisto, esto no tiene sentido y los buenos patrones de desarrollo evitarán cualquier problema.
El equipo en cuestión también realiza la corrección de errores y el desarrollo de nuevas características en un producto existente, cuya experiencia ha sido difícil de decir y sufre exactamente el mismo problema de dividirse en múltiples soluciones. Se nos ha negado el acceso a su control de fuente ( TFS ), y el enfoque que estamos adoptando para unificar la base de código es intentar y al menos reducir el número de actualizaciones faltantes y más que regresiones ocasionales (sí, los errores corregidos se están volviendo a generar -introducido en el producto) diciendo "envíenos un ZIP de la carpeta de solución completa para que podamos descomprimirlo, abrirlo en Visual Studio y presionarF5 para pruebas ". En términos de estructura general y calidad, el código es bastante pobre y difícil de soportar. Esta experiencia es la razón por la que tengo la intención de hacer que los procesos de trabajo sean lo más temprano posible en el ciclo de desarrollo.
¿Se me escapa algo? ¿Alguna vez hay una buena razón para mantener todo ese código separado? Por mi dinero, tendría que ser una razón tan convincente que sería de conocimiento común, pero estoy más que dispuesto a admitir que no lo sé todo.