Verwenden Sie kontinuierliche Build-Ergebnisse als Teil der Leistungsüberprüfungsmetriken? [geschlossen]

11

Mein Chef plant, die Metriken aus unserem kontinuierlichen Build (Builds und Tests für jedes Commit) als Teil unserer Leistungsüberprüfungen (in unserer Qualitätsmetrik) zu verwenden. Dies scheint mir eine WIRKLICH schlechte Idee zu sein, aber ich würde gerne wissen, ob jemand dies studiert oder dies schon einmal versucht hat.

Mein Gedanke ist, dass unsere Entwickler nicht so viele Tests durchführen werden, wie sie es sonst tun würden, aus Angst, dass die Tests fehlschlagen werden. Ich habe das Gefühl, dass er ein wertvolles Entwickler-Tool in einen Stock verwandelt, mit dem er die Entwickler schlagen kann.

Das offensichtliche Gegenargument ist, dass es die Menschen dazu bringt, vor ihrem Engagement vorsichtiger zu sein, und daher zu einer höheren Qualität führt.

Bin ich hier nicht auf der Basis? Bitte lassen Sie die Frage außer Acht, ob wir überhaupt Leistungsüberprüfungen durchführen sollen oder nicht - das wurde an anderer Stelle beantwortet.

Michael Kohne
quelle
8
Jedes System, das gespielt werden kann, ist eine schreckliche Eingabe für eine Leistungsbewertung.
Steve Jackson
Jeder hat die Möglichkeit, nicht zu testen?
JeffO
1
@Steve, und "Systeme", die nicht gespielt werden können, geben Ihnen einen winzigen schmalen Blick auf das Gesamtbild. Um die Leistung wirklich genau zu verfolgen, wäre Beinarbeit erforderlich.
maple_shaft
2
Beachten Sie, dass einige Dinge auf Entwicklercomputern gut funktionieren, aber auf dem Build-Server fehlschlagen (eine versehentliche Abhängigkeit von einem externen JAR, eine falsche Verwendung von / und \ auf Linux-Boxen usw.). Der Hauptgrund für den Build-Server besteht darin , diese Dinge abzufangen und niemanden zu belästigen, der nicht zuerst auf sie getestet hat. Mit anderen Worten, das ist eine schlechte Idee.
1
Follow-up: Nachdem wir damit begonnen hatten, stellte ich fest, dass das größte Problem nichts mit den anderen Ingenieuren und der Bereitschaft zu tun hatte, geeignete Tests zu schreiben, sondern mit der Tatsache, dass unsere vorhandenen Tests WIRKLICH instabil waren, sodass jedes Commit eine ziemlich große Chance hatte ohne Verschulden der Person, die das Commit ausführt, durchzubrechen. Dieser Faktor dämpfte die Begeisterung aller für Tests weitaus mehr als die Auswirkungen der Leistungsüberprüfung.
Michael Kohne

Antworten:

7

Leistungsbeurteilungen sind in Ordnung, aber wie wäre es mit nützlichen Metriken wie:

  • Prozentsatz der Unit-Test-Abdeckung für Funktionen
  • Fähigkeit, Termine einzuhalten
  • Klare und präzise Dokumentation
  • Befolgen Sie die richtigen Codierungskonventionen
  • Kommuniziert gut mit anderen
  • Fähigkeit, Anforderungen und User Stories in Aufgaben umzuwandeln

Dies sind alles gute Möglichkeiten, um die Leistung zu messen, aber die Probleme, die das Management damit zu haben scheint, sind, dass sie tatsächlich ... ähm ... na ja, wissen ... IST-ARBEIT ihrerseits erfordern .

Leider hat das meiste Management die Einstellung: "Zum Teufel damit möchte ich meine Mitarbeiter nach Kennzahlen beurteilen, bei denen ich nicht unbedingt mit dem Schritt halten muss, was sie tun."

maple_shaft
quelle
1
+1 einige gute Auswahl von dem, was Metriken für die Bereitstellung sind nützlich.
David Ruttka
3

Das System hier zu spielen ist meiner Meinung nach sehr wahrscheinlich, und Ihr Chef muss Wege finden, um zu verhindern, dass dies Realität wird. Der andere Fall, den Sie nicht erwähnt haben, ist der, bei dem Entwickler tonnenweise Commits ausführen, sodass es zu dieser Flut von Check-Ins kommt, bei denen die Anzahl der Änderungen relativ gering ist, als ob in einem Teil der Überprüfung die Anzahl der Builds verwendet wird Hier wird dies zu einem neuen Werkzeug, das ziemlich leicht missbraucht werden kann. Ich denke an Check-Ins, bei denen etwas umbenannt oder Leerzeichen geändert werden, ist ein Check-In und zählt als eine Form der Produktivität wäre die pedantische Sichtweise.

JB King
quelle