Artigos Alura Língua

Você já ouviu falar em BUS FACTOR em desenvolvimento de software?

Michel Rosas
Michel Rosas4 dias atrás
Você já ouviu falar em BUS FACTOR em desenvolvimento de software?

Hello, there! Você já ouviu alguém falar que um projeto tinha um "bus factor" baixo e que isso poderia ser um problemão?

Apesar do nome ser um pouco estranho, esse é um conceito muito importante para equipes de desenvolvimento de software, especialmente quando falamos de continuidade de projetos e mitigação de erros e problemas.

Então vamos entender o que é "bus factor" e como ele pode ajudar a reduzir os riscos dentro de uma equipe de tecnologia? Let's go!

Você já ouviu falar em BUS FACTOR em desenvolvimento de software?

"Bus factor" é uma expressão bastante informal que surgiu no ambiente de desenvolvimento de software, e ela faz referência ao número de pessoas de uma equipe que precisariam deixar de estar disponíveis para que um projeto ficasse seriamente comprometido por falta de conhecimento ou de habilidades técnicas para continuar seu desenvolvimento.

E ela vem de um cenário hipotético (e com uma boa dose de humor negro): imagine que uma pessoa muito importante para o projeto fosse atropelada por um ônibus e ficasse indisponível. Se apenas essa pessoa soubesse como determinada parte do sistema funciona, o projeto poderia enfrentar grandes dificuldades para continuar o desenvolvimento e até ser completamente interrompido!

Por exemplo, se apenas um desenvolvedor sabe como funciona toda a infraestrutura de produção, nós dizemos que o projeto tem um bus factor de 1, e isso significa que o risco é altíssimo porque existe uma forte dependência do conhecimento daquela única pessoa.

Quanto maior o bus factor, ou seja, quanto mais o conhecimento estiver distribuído entre os membros da equipe, menor será esse risco. Documentação, code reviews, pair programming e compartilhamento de conhecimento são algumas práticas que ajudam a aumentar o bus factor de um projeto.

Mas lembre-se que o objetivo não é imaginar acidentes, claro. A ideia é identificar se existe uma dependência excessiva de pessoas específicas e criar mecanismos para que o conhecimento importante não fique concentrado em poucas mãos.

That's very easy and very useful, isn't it? Now let's take a look at some examples:

  • Our bus factor is one because only one developer knows how the deployment system works. (Nosso bus factor é um porque apenas um desenvolvedor sabe como o sistema de deploy funciona.)
  • We need to increase the bus factor by sharing knowledge across the team. (Precisamos aumentar o bus factor compartilhando conhecimento entre o time.)
  • Documentation and code reviews can help improve the bus factor. (Documentação e revisões de código podem ajudar a melhorar o bus factor.)
  • After some time, we were able to increase our bus factor to 10. I think it's safe to say we're free of high risks now. (Depois de um tempo nós fomos capazes de aumentar o nosso bus factor para 10. Acho que é seguro dizer que nós estamos livres de altos riscos agora.)

Have you ever worked on a project where only one person knew how everything worked? That's a very low bus factor! (Você já trabalhou em um projeto em que apenas uma pessoa sabia como tudo funcionava? Esse é um bus factor muito baixo!)

Continue com a gente no nosso artigo "Você sabe o que significa a sigla CORS?". See you!