É comum acreditar na hipótese de que adicionando mais pessoas em uma equipe, as entregas tendem a responder proporcionalmente.
Lembro que durante as aulas de matemática, um exercício sobre “regra de três” perguntava quantos trabalhadores precisaria para construir uma casa em 5 dias, sabendo que 10 pessoas a faziam em 20 dias.
A resposta esperada é de 40 trabalhadores. No entanto a vida real foge desta linearidade.
Já diz a lei de Brook, adicionar mais pessoas a um projeto atrasado, acaba por atrasá-lo mais ainda. O desenvolvimento de software não segue um comportamento linear entre pessoas na equipe e velocidade de entrega.
Pra falar a verdade, quanto menos pessoas para fazer uma tarefa, melhor.
O gerenciamento de pessoas é algo que considero artesanal, muito dependente do “feeling ” de quem lidera o projeto.
Muitas vezes uma equipe enxuta é muito mais produtiva que uma equipe com vários membros. Além de ser muito mais fácil de se acompanhar o que estão fazendo.
Um dos principais motivos é simples…comunicação. Quanto maior o número de pessoas, mais cada uma delas precisa saber sobre o que os outros estão fazendo.
Tentarei explicar com uma regra matemática simples. Imagina que uma equipe de 3 pessoas, e cada uma sabendo o que os outros dois estão fazendo. Ao todo temos 3 linhas de relacionamento. Veja na imagem abaixo, o quanto isso vai ficando complexo com 5 e 7 pessoas.
Nem precisa dizer o quanto mais fica complexo com 8 ou 9 pessoas em diante. O número de “linhas de comunicação” cresce exponencialmente. O que isso quer dizer?
Em termos práticos, 3 pessoas tem ao todo 3 linhas de comunicação. Se forem 5, teremos (5-1) x (5/2) = 10 linhas. Se forem 7, o total fica em 21 linhas.
Portanto, chegamos à conclusão de que quanto mais pessoas adicionamos a uma equipe, mais complexa fica a comunicação e por isso, mais lenta a evolução de qualquer trabalho.
E como podemos gerenciar projetos mais complexos? Este é um assunto para outro post.
Em uma aplicação web por exemplo, quando o projeto está no começo, digamos, na primeira release, em geral um bom número na equipe seria 3 pessoas.
Uma pessoa no backend, outra no front e talvez alguém com o papel de engenharia de dados, que ficaria responsável pela estrutura em que a informação será armazenada e posteriormente analisada.
Ao crescer o projeto, e com isso normalmente surgem outras frentes, é esperado termos necessidade de incluir mais pessoas que tornam a aplicação mais robusta. Não necessariamente nesta sequência, os profissionais que provavelmente entrarão no projeto são:
- Analista QA;
- Devops;
- Analista de segurança;
- Analista de agilidade;
- Cientista de dados.
Todos estes podem fazer frente a uma ou mais aplicações, daí faz mais sentido entrarem conforme o projeto vai se expandindo.
No entanto, eu prezo por manter sempre no máximo 7 pessoas em uma esquadra.
Como um fator que mais considero em uma equipe de desenvolvimento é a comunicação, é importante que cada pessoa da equipe saiba o que todos estão fazendo.
Este termo costumo chamar de sinergia. Por ser algo intangível, não é mensurado, mas faz muito sentido pro bom desempenho do projeto.
Quanto maior o número de pessoas, maior a entropia e as decisões ficam mais caóticas. Lembre-se disso.
Na Operar Tecnologia, você não precisa se preocupar em escalar a sua equipe, pois é nosso papel trazer mais pessoas conforme aumenta a necessidade.
Além de tudo isso, uma das principais vantagens em manter uma equipe enxuta é a redução drástica do tempo e o custo de desenvolvimento.
Se você precisa de uma equipe e não sabe por onde começar, entre em contato com a Operar.