Qual o tamanho ideal de uma equipe?

“Software Team Leader announcing new Code Review Procedure.” by karburator.eu is licensed under CC BY-NC-SA 2.0
Lead propondo novo procedimento de Code Review. Seria mais fácil entrar em acordo com um time menor :). (by karburator.eu is licensed under CC BY-NC-SA 2.0)

Muitas discussões, pesquisas e teorias existem sobre este tema. Encontrar o tamanho ideal para uma equipe costuma ser um desafio, porém já existe material e experiências suficientes que nos ajudam a indicar o melhor caminho e escapar de algumas armadilhas.

Podemos afirmar que o conceito de adotar equipes menores no desenvolvimento de software, por serem mais eficientes, foi popularizado com o Scrum. E do Scrum Guide temos:

Fewer than three Development Team members decrease interaction and results in smaller productivity gains. Smaller Development Teams may encounter skill constraints during the Sprint, causing the Development Team to be unable to deliver a potentially releasable Increment. Having more than nine members requires too much coordination. Large Development Teams generate too much complexity for an empirical process to be useful.

Embora este seja um conceito que muitas pessoas compartilhem, não raro as pessoas não sabem o motivo exato no qual as equipes grandes não funcionam bem e, pior ainda, muitas não entendem como isto pode ser prejudicial a um projeto.

A explicação do Scrum Guide, embora contundente, carece de alguns detalhes. Por que, afinal, um time com mais de nove pessoas gera mais complexidade?

Bem, isto tem muita relação com a quantidade de canais de comunicação existentes em um time dada a quantidade de pessoas no mesmo.

A fórmula para calcular esta quantidade é: n * (n — 1)/2, sendo n o número de pessoas da equipe.

Ou seja, com 3 pessoas temos 3 canais de comunicação: 3*(3–1)/2=3. Já com 4 pessoas, teremos 6 canais de comunicação. Com 9 pessoas na equipe teremos 32 canais de comunicação. Como podem notar, este número se multiplica facilmente conforme aumenta o número de pessoas.

Temos 6 canais de comunicação com 4 pessoas na equipe
Temos 6 canais de comunicação com 4 pessoas na equipe
Sendo cada esfera uma pessoa, temos 6 canais de comunicação com 4 pessoas na equipe

Avaliando a quantidade canais de comunicação, 9 pessoas pode ser considerado um número elevado para uma equipe. As chances de uma informação importante não circular por todos os canais é alta. Ou seja, há uma maior chance de problemas de comunicação dentro da equipe. Mas ainda seria possível trabalhar com este número.

Estudos relacionados a memória de curto-prazo sugerem que o número ideal seria entre 5 e 9 pessoas, mas devido a complexidade do tema, estes números acabam sendo mais uma especulação com base no que as experiências mostram sobre a quantidade de números ou palavras que uma pessoa consegue reter a curto-prazo.

Talvez a melhor resposta para a pergunta do título venha da própria experiência dos times. Uma pesquisa feita pela HackerLife mostra que mais de 50% das pessoas acredita que o tamanho ideal de equipe seja de 4–5 pessoas. Outros estudos mostram que a produtividade de equipes menores que 7 pessoas é substancialmente maior.

Como podem ver, a área acadêmica e profissionais de software ainda procuram por uma resposta definitiva para este assunto. Embora o chavão de que “aumentar o número de pessoas de uma equipe não traz mais produtividade” seja bem difundido, é sempre importante estar atento se os problemas de coordenação, comunicação e produtividade da equipe não sejam decorrência do tamanho da mesma. Talvez a melhor solução para um problema assim seja diminuir/quebrar a equipe em equipe menores, ao invés de burocratizar processos e aumentar formalizações para que um time “grande” fique minimamente funcional. Como diz o Manifesto Ágil:

Individuals and interactions over processes and tools.

Java developer, Tech Lead, Stack Overflow enthusiast and contributor: https://dherik.com

Java developer, Tech Lead, Stack Overflow enthusiast and contributor: https://dherik.com