Wir sind uns nicht sicher, ob Sie es für elegant halten würden, aber Watts Humphrey hat ein ganzes Buch namens Personal Software Process geschrieben, in dem es darum ging, Ihre eigene Produktivität zu messen. Er beschrieb Metriken für Eingaben wie Zeit an Ihrem Schreibtisch im Vergleich zu Unterbrechungen, Arbeitszeit für verschiedene Arten von Software-Lebenszyklusaktivitäten und Fehler pro Codemenge. Es gibt einen technischen Bericht mit der Kurzfassung unter:
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm
Wenn Sie sich so etwas wie die Qualität eines Entwicklercodes ansehen möchten, hat Chidamber & Kemerer mehrere Metriken für objektorientierten Code vorgeschlagen.
Metriken für objektorientierten Code
- Tiefe des Erbbaums,
- gewichtete Anzahl von Methoden,
- Anzahl der Mitgliedsfunktionen,
- Anzahl der Kinder und
- Kopplung zwischen Objekten.
Mithilfe einer Codebasis versuchten sie, diese Metriken mit der Defektdichte und dem Wartungsaufwand zu korrelieren, indem sie eine kovariante Analyse verwendeten. In späteren Studien wurden Hunderte von Source Forge-Java-Projekten einer ähnlichen Analyse unterzogen, um ihre Eigenschaften im Vergleich zu CK-Metriken und einigen später vorgeschlagenen zusätzlichen Metriken zu bestimmen.
Metriken, die im Zusammenhang mit Code Reviews entstehen
Fehler können nach vielen Kriterien kategorisiert werden:
- Schweregrad: (Haupt, Neben, Kosmetik, untersuchen / unbekannt),
- Typ (Logik, Tippfehler, Rechtschreibung, Kodierungsverstoß usw.),
- Ursprung / Phase Containment (Anforderungen, Design, Code, etc.).
Es gibt auch Vorbereitungs- und Inspektionsraten (Zeit pro Prüfer, Zeit pro Codezeile) und Fehlerdichten ( pro KLOC (tausend Codezeilen), pro Minute Inspektor / Prüferzeit ).
Das Zeichnen dieser Werte anhand von Kontrolldiagrammen kann zeigen, ob wir uns innerhalb der Prozessgrenzen befinden (z. B. ein Team, das 200 Codezeilen überprüft und in einer Gruppe mit durchschnittlich fünfundzwanzig Fehlern pro KLOC keine Fehler feststellt, ist möglicherweise fehlerhaft).
Andere Metriken
Andere Metriken, die dazu beitragen könnten, umfassen solche für
Einschränkungen der Analyse
Es gibt enorme Grenzen für den Wert von Metriken. Pro Entwickler behobene Fehler können so gut wie alles bedeuten, und wenn Sie anfangen, diese Messung zu bestrafen oder zu belohnen, werden die Fehler meiner Wette nach zahlreicher und detaillierter, und die Mischung der schwer zu behebenden Fehler ändert sich auch, wenn das Team die Kirsche nimmt um die meisten zu haben.
Es gibt auch eine gewisse Ablenkung und möglicherweise einen Fokus- und Genussverlust, der mit einer aufdringlichen Messung einhergehen kann. Sie können nicht viel eleganter (und emotional belasteter) sein als ein Seedichter wie Wordsworth, der sagte:
Sweet is the lore which Nature brings;
Our meddling intellect
Mis-shapes the beauteous forms of things:--
We murder to dissect.
Geben Sie mir Spielraum, da ich dachte, ich würde nie etwas aus dem englischen Literaturunterricht der High School verwenden.
Agilität kann als Reaktion auf einen zentralen, großen Prozess angesehen werden. Manchmal erforderte diese Arbeitsweise so viel analytischen Aufwand, dass die Fähigkeit, den Fluss beim Erstellen von Software zu erreichen , praktisch verschwand.
Ich möchte eine alternative Antwort hinzufügen, die weg von der Standardpraxis der Softwareentwicklung hin zu einem anderen Bereich weist, mit dem Ziel, grundlegende Tools zu stehlen, die wir nach Bedarf anpassen können. Die Mitarbeiter der Qualitätssicherung sind genau wie die Softwareentwickler mit der Erkennung und Vermeidung von Produktions-, Ertrags- und Fehlern befasst.
http://en.wikipedia.org/wiki/Seven_Basic_Tools_of_Quality
Ich mag die Kontrollkarte.
http://en.wikipedia.org/wiki/Control_chart
Machen Sie eine Aktivität, zeichnen Sie eine Metrik, machen Sie eine andere, zeichnen Sie ihre Metrik und so weiter. Zum Beispiel, Plot-Commits pro Tag. Das Diagramm streut Daten, die zwischen einem Minimum und einem Maximum liegen. Vielleicht können Sie die Ergebnisse später charakterisieren, um festzustellen, dass bei einem niedrigen Wert der Fortschritt behindert wird und wenn er zu hoch ist, die Arbeit schnell, aber schlampig beginnt. Wie Sie die Mitarbeiter dazu ermutigen, zu beschleunigen oder zu verlangsamen, bleibt Ihnen überlassen.
Persönliche Metriken können Sie möglicherweise mit der Frage "Ich fühle mich am produktivsten, wenn ich ..." korrelieren.
Die alte Säge, an der wir messen, was getan wird, könnte Sie dazu bringen, das Problem auf der Grundlage dessen anzugreifen, was Sie als einschränkenden Faktor bestimmen
oder mehrere Faktoren in der Reihenfolge ihrer Priorität basierend auf einem Pareto-Diagramm.
http://en.wikipedia.org/wiki/Pareto_chart
quelle