Warum sind Entwickler-Commit-Statistiken schädlich?

10

Ich habe lange geglaubt (und von anderen gehört), dass das Verfolgen von Commit-Statistiken, wie z. B. wie viele Commits jeder Entwickler pro Tag macht, für den Entwicklungsprozess schädlich ist. Der Grund liegt auf der Hand: Entwickler werden in kleineren Schritten festschreiben, wodurch die Anzahl der Festschreibungen pro Tag maximiert wird. Dies erschwert jedoch die Halbierung (möglicherweise lassen all ihre Zwischen-Patches das Repo nicht gut geformt) und die Arbeit mit dem Festschreibungsverlauf (Eine Änderung erfolgt plötzlich in mehreren Commits, anstatt nur in einem. Das Zurücksetzen eines Patches ist schwieriger usw.).

Gibt es Studien, die belegen, dass Commit-Statistiken schädlich sind? Gibt es einen eleganten und gut argumentierten Artikel zu diesem Thema? Gleichermaßen anwendbar wäre alles, warum das Messen des Falschen dazu führt, dass Menschen das Falsche optimieren, wofür dieses Problem nur ein Sonderfall ist.

Neil Mitchell
quelle
8
"Jeder elegante und gut argumentierte Artikel" ?? Ihre Frage ist elegant und gut argumentiert. Was brauchst du mehr? Sie haben reichlich Beweise dafür geliefert, dass die Zahlen trivial gespielt und daher nutzlos sind. Was wollen Sie mehr als Ihre elegante und gut argumentierte Frage?
S.Lott
Entwickler müssen versucht haben, Fehler in Szenarien mit großen und kleinen Festschreibungen zu finden und zu beheben, um den Unterschied zu sehen
Ich denke nicht, dass das Sammeln der Statistik an sich schädlich ist, aber es wäre wichtig, sie zur Bewertung von Programmierern zu verwenden. Unser VCS sammelt diese Informationen zusammen mit einer Vielzahl anderer Statistiken und sie stehen dem gesamten Team zur Verfügung, aber wir sehen sie uns kaum an. Nein, das Sammeln der Statistik ist nicht schädlich.
MarkJ
Ich diskutiere hier nicht über große oder kleine Commits (ich persönlich bin ein kleiner Commit-Typ), sondern nur über externen Druck, die Commit-Größe zu ändern, um eine Statistik zu fälschen (was niemals gut sein kann). Ich bin idealerweise auf der Suche nach einem Ort, auf den ich andere hinweisen kann, damit ich nicht selbst argumentieren muss :)
Neil Mitchell
2
Ich glaube, dass dieser Dilbert-Comic den Fall genauso gut macht wie alles, was ich jemals gesehen habe.
ebneter

Antworten:

8

http://www.mit.edu/~hauser/Papers/Hauser-Katz%20Measure%2004-98.pdf

Ist das die Art von Sache, die Sie suchen? Es gibt Tausende von Artikeln, die von Google gefunden wurden: "Sie bekommen nur das, was Sie messen".

S.Lott
quelle
1
Normalerweise würde ich eine Antwort nur mit Link + ohne Auszug nicht positiv bewerten, aber in diesem speziellen Fall finde ich es in Ordnung, da "die Antwort" sowieso nur die Frage selbst wäre.
o0 '.
6

Es ist eine unterhaltsame Statistik zu messen, aber nicht nützlicher als die Anzahl der Stunden aufzuzeichnen, die ein Entwickler während der Woche gearbeitet hat.

Zum einen wird die Codequalität nicht berücksichtigt. Ein Entwickler kann sich ständig verpflichten, während er weiterhin Fehler in seinem Code behebt. Dies würde eine große Anzahl von Commits anzeigen, verglichen mit einem Entwickler, der einen Teil des fertigen, polierten Codes festschreibt. Sie würden nicht denken, dass der Typ mit der größeren Anzahl von Commits der bessere Entwickler war.

In ähnlicher Weise hat jemand, der den ganzen Tag nachlässt und SO surft, um nur einmal am Tag ein Commit durchzuführen, die gleiche Commit-Anzahl wie der dedizierte Entwickler, der den ganzen Tag mit dem Codieren verbracht hat, um am Ende ein endgültiges Commit durchzuführen, um seinen Code sicher zu halten.

Wenn Sie ein System haben, in dem festgeschriebene Codezeilen gezählt werden, hat der Typ, der die Quelldateien durchläuft und jede geschweifte Klammer nach seinem bevorzugten Stil umgestaltet, einen enormen Wert. Der Typ, der den 1-Zeilen-Bugfix gemacht hat, wird kaum auftauchen.

Es macht also keine aussagekräftige Statistik, selbst wenn Entwickler das System nicht spielen. Es sollte Ihnen nichts als eine hübsche Grafik liefern. Jeder mag Statistiken, also würde ich sagen, behalte sie, aber benutze sie nur zum Spaß.

gbjbaanb
quelle
Während Ihre Meinung interessant ist, scheint die eigentliche Frage zu sein: "Gibt es Studien ...?" was Ihre Antwort nicht anspricht.
Bryan Oakley
"anzahl der Zeilen". Es kann mehrere Tage dauern, bis ein Problem untersucht ist, das schließlich zu einem Patch für eine einzelne Zeile führt.
5
Nur eine Geschichte , aber eine klassische.
Wrikken
Diese "mehrere Tage" (oder mindestens mehrere Stunden) der Forschung, die zu einer sehr wichtigen, aber einzeiligen Korrektur führen, kommen meiner Erfahrung nach ziemlich häufig vor.
Johan