1 points par GN⁺ 2024-11-13 | 1 commentaires | Partager sur WhatsApp

Qu’est-ce que le bus factor ?

  • Le bus factor est un indicateur qui montre combien de membres d’une équipe devraient disparaître soudainement pour qu’un projet prenne du retard.
  • En 2015, quand le contributeur de la seule codebase générant du revenu dans l’entreprise a été licencié, l’auteur a décidé d’écrire un plugin GitHub pour calculer cette métrique.

Développement du plugin

  • Le développement du plugin a commencé en s’appuyant sur un article de recherche sur le truck factor.
  • Les collègues craignaient que ce plugin puisse servir d’outil permettant aux managers de calculer facilement qui licencier.

Tentative de reproduction des résultats

  • L’auteur a essayé de reproduire les résultats en utilisant les dépôts GitHub fournis dans l’article de recherche.
  • Les données sont fournies au format JSON, et la visualisation est possible via des fichiers CSV.
  • Les instructions du README ne fonctionnaient pas correctement, et il a fallu du temps pour résoudre le problème.

Utilisation de GNU Parallel

  • GNU Parallel a été utilisé pour cloner plusieurs dépôts GitHub simultanément.
  • Bien que la configuration soit limitée à 8 processus, tous les cœurs ont été utilisés au maximum.

Ruby Gems et NixOS

  • L’installation du plugin Linguist a posé des difficultés.
  • L’auteur cherche comment installer des Ruby Gems sur NixOS.

Recalcul des résultats

  • L’auteur a forké le dépôt d’origine et recompilé les sources Java pour recalculer les résultats.
  • Exemple de résultat pour le dépôt du noyau Linux : truck factor 12, couverture 49,98 %.

Problèmes et recherches supplémentaires

  • Le processus de calcul ne prend pas en compte la procédure de review.
  • Il faut enquêter sur les raisons pour lesquelles le truck factor du noyau Linux diffère autant de celui d’il y a 10 ans.
  • L’auteur prévoit d’examiner les citations de l’article afin de trouver une meilleure méthode de calcul.

Conclusion – l’importance du bus factor

  • Dans un article de 2015, le truck factor du noyau Linux était évalué à 90, alors qu’il est désormais calculé à 12.
  • Cela ne signifie pas une amélioration.
  • Davantage de visualisations et de détails sont disponibles sur le blog de mclare.

1 commentaires

 
GN⁺ 2024-11-13
Commentaires Hacker News
  • L’une des fonctionnalités de CodeScene consiste à identifier les zones à haut risque en repérant les parties du code fréquemment modifiées où la distribution des connaissances est faible

    • Si quelqu’un quitte l’entreprise, il est facile de voir quel code cette personne était la seule à connaître, ce qui facilite la planification de la transmission
    • Je ne pense pas que cela puisse être utilisé de manière malveillante ; c’est un outil qui apporte de la visibilité
  • Amazon fournit, via des rapports sur les systèmes de code, des fonctions permettant de comprendre facilement l’activité des équipes et les facteurs de risque

    • Le « bus factor » est un indicateur qui montre à quel point l’équipe serait affectée si un membre précis venait à manquer
    • Les développeurs peuvent penser que la connaissance d’un système précis garantit leur sécurité d’emploi, mais cela peut aussi être vu comme un risque technique
  • Si GNU Parallel utilise tous les cœurs, c’est parce que chaque git clone crée plusieurs threads index-pack

    • Définir pack.threads à 1 peut aider
  • Le « bus factor » reflète l’autonomie et la transparence d’une équipe, et dans l’idéal, tous les membres de l’équipe devraient pouvoir tout comprendre

    • Un bus factor de 0 signifie que les membres de l’équipe peuvent se remplacer les uns les autres, ce qui reflète la simplicité du logiciel
    • Évaluer les personnes à partir des e-mails, des commits, des PR, du nombre de lignes de code, etc., est une mauvaise approche
  • Il existe un malentendu selon lequel, à mesure que leur carrière progresse, les développeurs devraient se concentrer davantage sur la revue que sur l’écriture de code

    • On n’a pas envie de transformer d’excellents développeurs en managers médiocres
  • L’auteur d’un système est défini comme l’utilisateur ayant apporté une contribution importante à un fichier, et si les auteurs couvrent moins de 50 % de l’ensemble du fichier, le système peut subir de sérieux retards

  • Dans les startups, la question lors des licenciements n’est pas « qui faut-il licencier ? », mais « quelle équipe peut développer rapidement la prochaine version ? »

  • Dans certains logiciels d’entreprise, il peut exister des tableaux de bord mesurant le volume d’e-mails envoyés et reçus

    • Travailler par loisir sur quelque chose auquel ses collègues s’opposent peut donner une mauvaise image
  • CPAN suit le bus factor depuis longtemps ; par exemple, celui de Moose est de 5

  • Le terme « lottery factor » est utilisé pour indiquer si un projet peut continuer même si quelqu’un gagne à la loterie et s’en va