it-swarm-eu.dev

KPIs für Programmierer

Kennen Sie wichtige Leistungsindikatoren für Entwickler? Was soll gemessen und überwacht werden?

28
Raymund

Betrachten Sie die folgende Wahrheit: Sie erhalten genau das, was Sie messen und überwachen. In diesem Sinne:

Schreckliche Dinge zu messen

Codezeilen - Eleganter Code hat einen prägnanten Charakter. Codezeilen fördern das Aufblähen, Kopieren und Einfügen oder noch schlimmer den Code zum Zwecke des Codes.

Time-to-Solution - Code, der schnell erstellt wird, enthält viele Fehler.

Fehlerbehebungen - Dies hängt mit der Zeit bis zur Lösung zusammen. Belohnen Sie Programmierer nicht für das Schreiben von Slopping-Code und insbesondere nicht für das Beheben der Probleme, die sie an erster Stelle verursacht haben!

Was, IMHO, sollten Sie messen

Einschlag. Das einzige, was zählt, ist, was Ihre Entwickler tun . Haben Sie ein Tool geschrieben, das die Effizienz um 10% verbessert? Was ist mit der Automatisierung einer Aufgabe, die früher 3 Stunden dauerte? Was ist mit der Umgestaltung dieser knorrigen Bibliothek, damit sie jetzt für alle im Team einfacher zu verwenden ist?

Sie sollten messen, was passiert , nachdem Code geschrieben wurde, und wie wertvoll der Beitrag für die Ziele Ihres Unternehmens ist. Beachten Sie, dass negative Auswirkungen möglich sind.

40
Chris Smith

http://i.stack.imgur.com/a0bTh.jpg

Welche Tür repräsentiert Ihren Code? Welche Tür repräsentiert Ihr Team oder Ihr Unternehmen? Warum sind wir in diesem Raum? Ist dies nur eine normale Codeüberprüfung oder haben wir kurz nach dem Start eine Reihe schrecklicher Probleme festgestellt? Debuggen wir in Panik und stöbern in Code, von dem wir dachten, dass er funktioniert? Gehen Kunden in Scharen und Manager atmen uns den Hals runter.

(Robert C Martin, Clean Code - Buch, das mit dem obigen Bild beginnt)

32
Homde

Angenommen, Sie haben jemanden eingestellt, der klug ist, sollte er die Dinge erledigen. Wenn Sie darüber hinaus Mitarbeiter (insbesondere Programmierer) messen, erhalten Sie genau das, was Sie messen.

Kurz gesagt, überwachen Sie, ob Projekte innerhalb der Standards des Teams durchgeführt werden.

8
Austin Salonen

Wie wäre es mit Effizienz (geleistete Arbeit/Stunde)?. Dies kann mit der Pomodoro-Technik gemessen werden. Schauen Sie sich diese Präsentation an .

Sobald Sie Ihre Pomodoro-Schätzungen und die tatsächlich ausgeführten Pomodoros pro Aufgabe verfolgt haben, können Sie den Realitätsfaktor messen, den dieses Tool pomodairo nennt. tut für dich. Dieser Realitätsfaktor kann zusammenfassen, wie gut Ihre Schätzungen sind und wie effizient Sie sind. Zur Bewertung der Effizienz würde ich mich an nicht mehr als 2 Pomodoro-Aufgaben halten.

Ich finde Pomodoros objektiv (auf individueller Basis), weil jeder eine feste Menge an fokussierter Arbeit bedeutet und sie eine gute Maßnahme für Sie sind, um sich zu verbessern. IMHO ist der eigentliche Zweck jeder Metrik dieser Art, die wichtig ist.

3
dukeofgaming

Wir haben das gerade bei meiner Arbeit durchgemacht. Der Versuch herauszufinden, wie unsere KPIs aussehen sollten und wie unsere KPIs aussehen sollten (da sie sich als schwer messbar herausstellten).

Der KPI sollte ein Maß für die rechtzeitige Lösung der Geschäftsanforderungen sein. Wenn jemand einen guten Weg kennt, dies zu messen, lass es mich wissen. :) :)

Wir haben uns entschieden, die Anzahl der implementierten Funktionen zu verwenden. Unsere Kunden melden sich für jede benutzerbezogene Funktion ab und werden öffentlich priorisiert (damit die Leute darum kämpfen können, dass sie zuerst kommen). Wir dachten, dass dies ein einfacher Weg sein würde, um zu messen, ob wir gute Leistungen erbringen. Wir werden sehen.....

1
dietbuddha

Es gibt fast keine Geschäftsmetriken, die Sie verwenden können. Sie müssen den Programmierer als Mathematiker oder Wissenschaftler behandeln. Das einzige, was dort gemessen wird, ist die Auswirkung oder mögliche Auswirkung der Ideen/des Codes. Würden Sie die Anzahl der Zeilen in einem von einem Mathematiker verfassten Beweis zählen?

Selbst wenn Sie eine Messung verwenden, wird diese vom Programmierer als Optimierungsproblem behandelt, je nachdem, ob sie ihren Lohn bestimmt. Ein weiterer Punkt ist, dass die Produktivität von Programmierern von Tag zu Tag variiert. An manchen Tagen werden viele Codezeilen geschrieben, an anderen werden keine neuen Designideen gedacht usw.

Was sind einige der wichtigsten Leistungsindikatoren für eine Führungskraft oder einen Manager? Vielleicht sollten Sie versuchen, diese für Programmierer zu verwenden, da wir uns auch mit Ideen und Gedanken beschäftigen.

1
Rudolf Olah

Für einen Industrieprogrammierer ist das Einsparen (oder Verdienen) von $/h meiner Meinung nach die einzige aussagekräftige Geschäftsmetrik.

Softwaretypen sind bekannt für ihre Spielmentalität (Computerspiele, Stift und Papier, Rätsel usw.). Nicht Anreizverhalten, das nicht auf die Geschäftsanforderungen abgestimmt ist.

Wenn Sie beispielsweise kLOC/Woche als Schlüsselindikator betrachten, werden Sie feststellen, dass Sie für dieselbe Funktion viel mehr kLOC erhalten.

Beispiel:

int foo() {
   return blah;
}

Kann gut verwandelt werden in:

int
foo()
{
   return 
      blah;
}

Für die gleiche Funktion. Das ist eine 2-fache LOC-Erhöhung. Wenn Sie meine Produktivität hauptsächlich anhand des LOC bewerten, glauben Sie besser, dass ich bewerten werde, ob ich diesen produktivitätsbasierten Bonus/diese produktivitätsbasierte Beförderung erhalten möchte.

0
Paul Nathan

Ich würde sagen, dass Sie Metriken aus den Geschäftsbereichen an der Programmierung ausrichten müssen. Programmierer wollen das nicht, weil sie das Gefühl haben, dass die Geschäftseinheit es vermasselt und sie nicht gut aussehen.

Meine Antwort lautet: Dude - oder Dudette - arbeiten Sie mit Ihren Geschäftsbenutzern zusammen und erstellen Sie großartige Tools für sie, die sie äußerst produktiv machen und deren Erfolg Ihr Erfolg sein wird.

0