A CODIFICAÇÃO DE UM PAÍS

0
849

O campo da engenharia de software costuma produzir algumas leis de gerenciamento cujos conceitos podem ser aplicados a áreas completamente distintas. Veja o caso da Lei de Linus:

A Lei de Linus, formulada por Eric S. Raymond em seu livro “The Cathedral and the Bazaar” (1999), recebeu este nome em homenagem a Linus Benedict Torvalds – engenheiro de software nascido na Finlândia e naturalizado estado-unidense, criador e por muito tempo o desenvolvedor mais importante do núcleo Linux.

Segundo a Lei de Linus, quanto maior o número de colaboradores (“eyes“) em um projeto, maior a chance de se detectar e corrigir eventuais problemas de funcionamento (“bugs“). Com mais pessoas testando algo, uma falha que passou despercebida em um primeiro momento uma hora se tornará “óbvia” para alguém.

Entretanto, com o passar dos anos, ficou óbvio também que a Lei de Linus continha seu próprio “bug“: a velocidade com que os problemas em um sistema são detectados não se relaciona de maneira linear com o número de revisores envolvidos na tarefa.

Na verdade, parece haver um número máximo ideal de pessoas para exercer esta função – entre 2 e 4 -, sendo que adicionar mais revisores termina deixando a detecção de erros mais lenta. E isto nos leva à Lei de Brook, cunhada por Fred Brooks em seu livro “The Mythical Man-Month” (1975):

De acordo com a Lei de Brook, envolver mais pessoas em um projeto que está atrasado apenas aumenta o atraso. Os recém-chegados levarão algum tempo até tomar pé da coisa e de tudo que foi realizado antes deles. Este processo de reconhecimento consumirá recursos humanos da equipe que já estava ali, diminuindo a produtividade geral enquanto os novatos não são capazes de fornecer contribuições significativas.

Além de consumir o tempo dos mais experientes (que estarão ocupados treinando os calouros), os novatos podem fazer suas próprias asneiras durante a curva de aprendizagem, inserindo inadvertidamente erros de programação que irão atrasar ainda mais a conclusão do projeto.

A comunicação é outro obstáculo que se instala quando se amplia uma equipe para cumprir prazos apertados. Cada pessoa que chega aumenta exponencialmente os canais de conversação. Uma vez que o diálogo é essencial para que todos trabalhem em sincronia, quanto mais pessoas estiverem envolvidas, mais tempo será gasto pavimentando e fazendo movimentos de ida e volta por estes canais.

Imagine uma festa de final de ano na empresa: se 3 pessoas trabalham no escritório, elas podem erguer suas taças em um brinde e todas as taças se tocarão. Todavia, se 30 pessoas trabalham ali, fazer com que cada taça toque a taça de cada colega de trabalho já se torna um demorado exercício de paciência.

É por isso que nem sempre 6 pessoas cavam um buraco mais rapidamente que 3 pessoas: dependendo do espaço de trabalho, o excesso de mãos e pás no local fará com que umas entrem no caminho das outras, atrapalhando tudo.

De maneira similar, nem todas as tarefas podem ser divididas em várias equipes diferentes. Uma mulher leva 9 meses para fazer um bebê, mas 9 mulheres não conseguem fazer um bebê em 1 mês. Se você quer mais bebês, contratar mais mulheres é uma medida inteligente, DESDE que você contabilize o tempo necessário para que cada uma delas cumpra seu ofício.

A Lei de Brook prova, na prática, o quanto a teoria da Lei de Linus pode estar equivocada. Envolver um número excessivo de pessoas em uma tarefa nem sempre aumenta sua produtividade. Não obstante, se a Lei de Linus fala a favor da QUANTIDADE, a Lei de Brook fala a favor da QUALIDADE das pessoas envolvidas em uma tarefa, e uma Lei não ELIMINA a outra: elas se completam!

Da mesma forma que times competentes de programadores de software, Bons Líderes devem ser capazes de extrair o melhor da díade de Linus e Brook.

Eles devem dominar a habilidade de identificar quais tarefas podem ser segmentadas e de que maneira elas podem ser distribuídas para os jogadores escalados. Problemas menores podem ser resolvidos por equipes pequenas, mas problemas maiores devem ser de responsabilidade de “Comandos Centrais” responsáveis pela integração de cada uma dessas partes.

Bons Líderes também devem descobrir e implantar estratégias para estreitar as curvas de aprendizado (equipes de alta rotatividade podem consumir muito tempo reaprendendo as mesmas tarefas…) e diminuir os ruídos de comunicação (equipes muito numerosas podem consumir muito tempo editando sempre as mesmas fofocas…).

Em resumo: Bons Líderes manuseiam as Leis de Linus e Brook para conferir foco, consistência, equilíbrio e visão de longo alcance à sua marcha. É assim, conciliando as diferenças inevitáveis e cuidando para que cada um dos “pedaços” da missão seja realizado da maneira mais excelente possível, que se produz um encaixe final eficaz com enorme eficiência.

E esta é uma lição que serve tanto para escrever um programa de computador quanto para dirigir um país.

Deixe uma resposta