Dirijo una pequeña empresa compuesta por solo 2 desarrolladores. Estamos creando una aplicación muy grande para uno de nuestros clientes. El desarrollo de este proyecto ha continuado durante 1,5 años.
Ahora este cliente ha conseguido un patrocinio importante y está organizando eventos relacionados con este proyecto. Así que ahora tenemos una fecha límite en 2 meses y no podemos perderla.
Estamos pensando en agregar un nuevo desarrollador al equipo, y me pregunto qué podemos hacer para ayudar a su integración.
Esta es la situación:
- Nos estamos acercando al umbral de la ley de Brooks : el punto en el que agregar nuevos desarrolladores será contraproducente.
- La aplicación está relativamente bien diseñada, pero la implementación es caótica en algunos puntos (especialmente el código más antiguo).
- Hay pruebas unitarias solo para el código más reciente. Cuando comenzó este proyecto, no realizamos pruebas regularmente.
- La documentación y los comentarios están incompletos.
- La aplicación es grande y compleja.
- El cliente ha escrito casi todos los detalles sobre su proyecto, de una manera muy clara y "amigable para el programador".
¿Es una buena idea agregar una persona ahora? Si es así, ¿qué podemos hacer para ayudar al nuevo desarrollador a integrarse en el equipo?
EDITAR:
El patrocinador está organizando un evento deportivo en Internet para la próxima primavera. Debe comenzar en un día específico del año. No podemos cambiarlo.
Lo que los desarrolladores (yo soy uno de los dos) debemos hacer es:
Completar la aplicación existente (aproximadamente el 25% del trabajo por hacer).
Creación de un nuevo módulo, esencial para la organización de este evento (aproximadamente el 75% del trabajo a realizar). Este nuevo módulo no se puede desarrollar sin comprender la API del programa principal.
No puedo hacer una estimación exacta del tiempo, pero estamos en una situación de riesgo.