Brooks's law
expressãocultura de operaçõesprogramação
O princípio de que acrescentar pessoas a um projeto de software atrasado o torna ainda mais atrasado.
Novos integrantes precisam de adaptação e treinamento, e cada pessoa a mais multiplica os caminhos de comunicação, então reforçar a equipe na reta final costuma atrasar em vez de acelerar. Fred Brooks o extraiu da gestão do OS/360 da IBM, e ele ainda desmonta o mito de que esforço é intercambiável.
Acrescentar pessoas a um projeto de software atrasado o atrasa ainda mais é a observação de Brooks a partir da gestão do OS/360 na IBM, e o raciocínio é aritmético, não cínico. Pessoas novas precisam ser treinadas por quem já é produtivo, o que retira essas pessoas do trabalho, e cada pessoa adicional multiplica os canais de comunicação que precisam ser mantidos.
O custo de comunicação é a parte que escala mal. As conexões entre n pessoas crescem com o quadrado de n, então um time de quatro tem seis relações e um de doze tem sessenta e seis, todas precisando ser mantidas atualizadas. Enquanto isso, o custo do treinamento é pago de imediato e a produtividade chega semanas depois, que é exatamente o formato errado para um projeto já atrasado.
A lei tem limites reais, e Brooks os enunciou. Aplica-se a trabalho que não é limpamente particionável, já que, se uma tarefa de fato se divide em partes independentes, mais gente ajuda. Aplica-se a projetos atrasados, não a contratação em geral. E o ponto mais profundo do livro sobrevive ao slogan: não há bala de prata, porque a complexidade essencial do software está em entender o problema, e acrescentar pessoas não divide esse trabalho como divide a digitação.
Também conhecido como: Brooks's law, the Mythical Man-Month
Fontes
- Brooks, 'The Mythical Man-Month' (1975)