Dirijo uma pequena empresa composta por apenas 2 desenvolvedores. Estamos construindo um aplicativo muito grande para um de nossos clientes. O desenvolvimento deste projeto já dura 1,5 anos.
Agora esse cliente garantiu um patrocínio importante e está organizando eventos relacionados a este projeto. Portanto, agora temos um prazo em 2 meses e não podemos perdê-lo.
Estamos pensando em adicionar um novo desenvolvedor à equipe e estou pensando no que podemos fazer para ajudar sua integração.
Esta é a situação:
- Estamos nos aproximando do limiar da lei de Brooks - o ponto em que adicionar novos desenvolvedores será contraproducente.
- O aplicativo é relativamente bem projetado, mas a implementação é caótica em alguns pontos (especialmente em códigos mais antigos).
- Existem testes de unidade apenas para códigos mais recentes. Quando esse projeto começou, não realizamos testes regularmente.
- A documentação e os comentários estão incompletos.
- A aplicação é grande e complexa.
- O cliente anotou quase todos os detalhes de seu projeto, de uma maneira muito clara e "amigável ao programador".
É uma boa ideia adicionar uma pessoa agora? Nesse caso, o que podemos fazer para ajudar o novo desenvolvedor a integrar-se à equipe?
EDITAR:
O patrocinador está organizando um evento esportivo na Internet para a próxima primavera. Ele deve começar em um dia específico do ano. Nós não podemos mudar isso.
O que nós desenvolvedores (eu sou um dos dois) precisamos fazer é:
Conclusão do aplicativo existente (cerca de 25% do trabalho a ser realizado).
Criando um novo módulo, essencial para a organização deste evento (cerca de 75% do trabalho a ser realizado). Este novo módulo não pode ser desenvolvido sem entender a API do programa principal.
Não posso fazer uma estimativa exata do tempo, mas estamos em uma situação de risco.