Tenemos 7 desarrolladores en un equipo y necesitamos duplicar nuestro ritmo de desarrollo en un corto período de tiempo (alrededor de un mes). Sé que hay una regla de sentido común que dice "si contrata a más desarrolladores, solo pierde productividad durante los primeros meses". El proyecto es un servicio web de comercio electrónico y tiene alrededor de 270 mil líneas de código.
Mi idea por ahora es dividir el proyecto en dos subproyectos más o menos independientes y dejar que el nuevo equipo trabaje en el más pequeño de los dos subproyectos, mientras que el equipo actual trabaja en el proyecto principal. Es decir, el nuevo equipo trabajará en la funcionalidad de pago, que eventualmente se convertirá en un servicio web independiente para disminuir el acoplamiento. De esta manera, el nuevo equipo trabaja en proyectos con solo 100K líneas de código.
Mi pregunta es: ¿este enfoque ayudará a los desarrolladores novatos a adaptarse fácilmente al nuevo proyecto? ¿Cuáles son otras formas de extender el equipo de desarrollo rápidamente sin esperar dos meses hasta que los novatos comiencen a producir más software que errores?
=======
ACTUALIZAR
Esta empresa fracasó por completo, pero no por las razones que ustedes mencionaron. En primer lugar, estaba mal informado sobre el tamaño y la capacidad del nuevo equipo. Debería haberlos evaluado yo mismo. En segundo lugar, la contratación resultó ser un trabajo duro en ese sitio. En el sitio de la oficina principal, la contratación fue mucho más fácil, pero en la ciudad del segundo equipo aparentemente había escasez de desarrolladores con la calificación requerida. Como resultado, en lugar de 1,5 meses proyectados, el trabajo se extendió a unos 4,5 meses y fue cancelado en el medio por la alta dirección.
Otro error que cometí (y Alex D me lo advirtió) es que estaba tratando de vender refactorizaciones a la alta dirección. Nunca vendes refactorización, solo características.
La puesta en marcha resultó ser exitosa de todos modos. La refactorización que nunca sucedió se convirtió en una deuda técnica: el sistema se volvió más monolítico y menos mantenible, la productividad del desarrollador disminuyó gradualmente. Ahora no estoy en el equipo, pero espero que lo completen en el futuro más cercano. De lo contrario, no daría un centavo por la supervivencia del proyecto.