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 que "si contrata a más desarrolladores, solo perderá 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 menor de los dos subproyectos, mientras que el equipo actual trabaja en el proyecto principal. A saber, el nuevo equipo trabajará en la funcionalidad de pago, que eventualmente se convertirá en un servicio web independiente para reducir el acoplamiento. De esta manera, el nuevo equipo trabaja en proyectos con solo 100 mil líneas de código.
Mi pregunta es: ¿ayudará este enfoque 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 y luego errores?
=======
ACTUALIZACIÓN
Esta empresa falló completamente, pero no por las razones que mencionaron. En primer lugar, estaba mal informado sobre el tamaño y la capacidad del nuevo equipo. Debería haberlos evaluado yo mismo. Segundo, la contratación resultó ser un trabajo difícil en ese sitio. En el sitio de la oficina principal, la contratación era 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 aproximadamente 4,5 meses y fue cancelado en la mitad por la alta dirección.
Otro error que cometí (y que Alex D me advirtió al respecto) es que estaba tratando de vender refactorización 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 ocurrió se convirtió en deuda técnica: el sistema se hizo más monolítico y menos mantenible, y la productividad del desarrollador disminuyó gradualmente. No estoy en el equipo ahora, pero espero que lo completen en el futuro más cercano. De lo contrario, no daría un centavo por la supervivencia del proyecto.