1 Punkte von GN⁺ 2024-11-13 | 1 Kommentare | Auf WhatsApp teilen

Was ist der Bus-Faktor?

  • Der Bus-Faktor ist eine Kennzahl dafür, wie viele Teammitglieder in einem Projekt plötzlich ausfallen müssten, damit sich das Projekt verzögert.
  • 2015, als der Mitwirkende an der einzigen Codebasis des Unternehmens, die Umsatz generierte, entlassen wurde, beschloss ich, ein GitHub-Plugin zu schreiben, um das zu berechnen.

Entwicklung des Plugins

  • Mit Bezug auf eine Truck-Factor-Forschungsarbeit begann ich mit der Entwicklung des Plugins.
  • Kollegen äußerten die Sorge, dass dieses Plugin als Werkzeug verwendet werden könnte, mit dem Manager leicht berechnen können, wen sie entlassen.

Versuch, die Ergebnisse zu reproduzieren

  • Ich versuchte, die Ergebnisse mithilfe des in der Forschungsarbeit bereitgestellten GitHub-Repositorys zu reproduzieren.
  • Die Daten werden im JSON-Format bereitgestellt, Visualisierungen sind über CSV möglich.
  • Die Anweisungen in der README funktionierten nicht richtig, daher kostete es Zeit, das Problem zu lösen.

Einsatz von GNU Parallel

  • Mit GNU Parallel wurden mehrere GitHub-Repositories gleichzeitig geklont.
  • Es war so eingestellt, dass nur 8 Prozesse verwendet werden, dennoch wurden alle Kerne vollständig ausgelastet.

Ruby Gems und NixOS

  • Bei der Installation des Linguist-Plugins traten Schwierigkeiten auf.
  • Es wird nach einer Möglichkeit gesucht, Ruby Gems unter NixOS zu installieren.

Neuberechnung der Ergebnisse

  • Das ursprüngliche Repository wurde geforkt und die Ergebnisse durch Kompilieren des Java-Quellcodes neu berechnet.
  • Beispielergebnis für das Linux-Kernel-Repository: Truck Factor 12, Coverage 49.98%.

Probleme und weitere Forschung

  • Im Berechnungsprozess wird der Review-Prozess nicht berücksichtigt.
  • Es muss untersucht werden, warum sich der Truck Factor des Linux-Kernels im Vergleich zu vor 10 Jahren so stark unterscheidet.
  • Geplant ist, die Zitate der Arbeit zu prüfen, um eine bessere Berechnungsmethode zu finden.

Fazit – die Bedeutung des Bus-Faktors

  • In einer Arbeit von 2015 wurde der Truck Factor des Linux-Kernels mit 90 bewertet, aktuell wird er mit 12 berechnet.
  • Das bedeutet keine Verbesserung.
  • Weitere Visualisierungen und Details finden sich im Blog von mclare.

1 Kommentare

 
GN⁺ 2024-11-13
Hacker-News-Kommentare
  • Eine der Funktionen von CodeScene besteht darin, risikoreiche Bereiche zu identifizieren, indem Teile mit geringer Wissensverteilung in häufig geänderten Codebereichen erkannt werden

    • Wenn jemand das Unternehmen verlässt, lässt sich leicht feststellen, welchen Code diese Person kennt, was die Planung der Übergabe erleichtert
    • Ich halte das nicht für böswillig nutzbar, sondern für ein Tool, das Transparenz schafft
  • Amazon bietet über Berichte zu Codesystemen Funktionen, mit denen sich Teamaktivität und Risikofaktoren leicht erfassen lassen

    • Der "Bus-Faktor" ist eine Kennzahl dafür, wie stark ein Team betroffen wäre, wenn ein bestimmtes Teammitglied ausfällt
    • Entwickler mögen glauben, dass Wissen über ein bestimmtes System ihre Jobsicherheit garantiert, aber das kann auch als technisches Risiko betrachtet werden
  • Der Grund, warum GNU Parallel alle Kerne nutzt, ist, dass jedes git clone mehrere index-pack-Threads erzeugt

    • Es kann helfen, pack.threads auf 1 zu setzen
  • Der "Bus-Faktor" steht für die Autonomie und Transparenz eines Teams; im Idealzustand sollte jedes Teammitglied alles verstehen können

    • Ein Bus-Faktor von 0 bedeutet, dass Teammitglieder die Rollen der anderen übernehmen können, was die Einfachheit der Software widerspiegelt
    • Menschen anhand von E-Mails, Commits, PRs oder der Anzahl von Codezeilen zu bewerten, ist der falsche Ansatz
  • Es gibt das Missverständnis, dass Entwickler mit wachsender Karriere mehr Zeit auf Reviews als auf das Schreiben von Code verwenden sollten

    • Ich möchte nicht, dass hervorragende Entwickler zu mittelmäßigen Managern werden
  • Der Autor eines Systems wird als Benutzer definiert, der wesentliche Beiträge zu einer Datei geleistet hat; wenn die Autoren zusammen weniger als 50 % der gesamten Datei abdecken, kann das System unter erheblichen Verzögerungen leiden

  • Bei Entlassungen in Startups geht es nicht um die Frage "Wen entlassen wir?", sondern darum, "Wer ist das Team, das die nächste Version schnell entwickeln kann?"

  • In mancher Unternehmenssoftware kann es Dashboards geben, die das Volumen gesendeter und empfangener E-Mails messen

    • Ein Hobbyprojekt zu betreiben, das Kollegen ausdrücklich ablehnen, kann als schlechtes Verhalten erscheinen
  • CPAN verfolgt den Bus-Faktor schon seit Langem; zum Beispiel liegt der Bus-Faktor von Moose bei 5

  • Der Begriff "Lotterie-Faktor" wird verwendet, um auszudrücken, ob ein Projekt weitergeführt werden kann, selbst wenn jemand im Lotto gewinnt und geht