1 pontos por GN⁺ 2024-11-13 | 1 comentários | Compartilhar no WhatsApp

O que é fator ônibus?

  • O fator ônibus é uma métrica que indica quantos membros da equipe precisariam desaparecer repentinamente para que o projeto sofresse atrasos.
  • Em 2015, quando o colaborador da única base de código que gerava receita na empresa foi demitido, decidi escrever um plugin do GitHub para calcular isso.

Processo de desenvolvimento do plugin

  • Comecei a desenvolver o plugin com base em um artigo de pesquisa sobre truck factor.
  • Meus colegas se preocuparam com a possibilidade de esse plugin ser usado como uma ferramenta para gestores calcularem facilmente quem demitir.

Tentativa de reproduzir os resultados

  • Tentei reproduzir os resultados usando os repositórios do GitHub fornecidos no artigo de pesquisa.
  • Os dados são fornecidos em formato JSON, e a visualização é possível via CSV.
  • Como as instruções do README não funcionavam corretamente, levei algum tempo para resolver o problema.

Uso do GNU Parallel

  • Usei o GNU Parallel para clonar vários repositórios do GitHub ao mesmo tempo.
  • Configurei para usar apenas 8 processos, mas todos os núcleos foram utilizados no máximo.

Ruby Gems e NixOS

  • Tive dificuldades para instalar o plugin Linguist.
  • Estou procurando uma forma de instalar Ruby Gems no NixOS.

Recálculo dos resultados

  • Fiz um fork do repositório original e recompilei o código-fonte Java para recalcular os resultados.
  • Exemplo de resultado para o repositório do kernel Linux: truck factor 12, cobertura de 49,98%.

Problemas e pesquisa adicional

  • O processo de cálculo não leva em conta o processo de revisão.
  • É necessário investigar por que o truck factor do kernel Linux é tão diferente de 10 anos atrás.
  • Pretendo revisar as citações do artigo para encontrar um método de cálculo melhor.

Conclusão - a importância do fator ônibus

  • No artigo de 2015, o truck factor do kernel Linux foi estimado em 90, mas agora foi calculado em 12.
  • Isso não significa uma melhora.
  • Visualizações adicionais e mais detalhes podem ser encontrados no blog do mclare.

1 comentários

 
GN⁺ 2024-11-13
Comentários no Hacker News
  • Um dos recursos do CodeScene é identificar áreas de alto risco ao detectar partes com baixa distribuição de conhecimento em regiões do código que mudam com frequência

    • Se alguém sair da empresa, fica fácil ver qual código só aquela pessoa conhecia, o que facilita o planejamento da transição
    • Não parece algo que possa ser usado de forma maliciosa; é uma ferramenta que oferece visibilidade
  • A Amazon oferece, por meio de relatórios sobre sistemas de código, recursos que permitem entender com facilidade a atividade e os fatores de risco de uma equipe

    • O "fator ônibus" é uma métrica que indica o quanto a equipe seria afetada pela ausência de um membro específico
    • Desenvolvedores podem achar que conhecer um sistema específico garante estabilidade no emprego, mas isso também pode ser visto como um risco técnico
  • O motivo de o GNU Parallel usar todos os núcleos é que cada git clone cria várias threads de index-pack

    • Definir pack.threads como 1 pode ajudar
  • O "fator ônibus" representa a autonomia e a transparência da equipe, e, em um estado ideal, todos os membros deveriam conseguir entender tudo

    • Fator ônibus 0 significa que os membros podem substituir os papéis uns dos outros, o que reflete a simplicidade do software
    • Avaliar pessoas por e-mails, commits, PRs, linhas de código etc. é a abordagem errada
  • Existe o equívoco de que, conforme a carreira avança, o desenvolvedor deve focar mais em revisão do que em escrever código

    • Não queremos transformar ótimos desenvolvedores em gerentes medianos
  • O autor de um sistema é definido como o usuário que fez contribuições importantes em um arquivo, e, se os autores cobrem menos de 50% do arquivo inteiro, o sistema pode sofrer atrasos graves

  • O problema das demissões em startups não é "quem demitir", mas "quem é a equipe que vai desenvolver rapidamente a próxima versão"

  • Em alguns softwares corporativos, pode haver dashboards que medem o volume de e-mails enviados e recebidos

    • Tocar como hobby algo que os colegas pediram para você não fazer pode parecer um mau comportamento
  • O CPAN acompanha o fator ônibus há muito tempo; por exemplo, o fator ônibus do Moose é 5

  • Usa-se o termo "fator loteria" para indicar se o projeto conseguiria continuar mesmo que alguém ganhasse na loteria e fosse embora