Connaissez-vous des indicateurs de performance clés pour les développeurs? Que faut-il mesurer et surveiller?
Considérez la vérité suivante: vous obtiendrez exactement ce que vous mesurez et surveillez. Dans cet esprit:
Terribles choses à mesurer
Lignes de code - Le code élégant a une nature concise. Les lignes de code encouragent le gonflement, le copier-coller, ou pire encore, le code pour le plaisir du code.
Time-to-solution - Le code fait rapidement contient beaucoup de bugs.
Corrections de bugs - Cela va de pair avec le "délai de résolution". Ne récompensez pas les programmeurs pour avoir écrit du code slopp, et surtout ne les récompensez pas pour avoir résolu les problèmes qu'ils ont causés en premier lieu!
Quoi, à mon humble avis, vous devez mesurer
Impact. La seule chose qui compte, c'est ce que font vos développeurs . Avez-vous écrit un outil qui améliore l'efficacité de 10%? Qu'en est-il de l'automatisation d'une tâche qui prenait auparavant 3 heures? Qu'en est-il de la refactorisation de cette bibliothèque géniale afin qu'elle soit maintenant plus facile à utiliser pour tout le monde dans l'équipe?
Vous devez mesurer ce qui se passe après l'écriture du code et la valeur de la contribution aux objectifs de votre entreprise/entreprise. Notez qu'il est possible d'avoir un impact négatif.
Quelle porte représente votre code? Quelle porte représente votre équipe ou votre entreprise? Pourquoi sommes-nous dans cette pièce? Est-ce juste une revue de code normale ou avons-nous trouvé un flux d'horribles problèmes peu de temps après la mise en ligne? Sommes-nous en train de déboguer dans une panique, examinant le code que nous pensions fonctionner? Est-ce que les clients partent en masse et les managers respirent dans nos cous.
(Robert C Martin, Clean Code - livre qui s'ouvre avec l'image ci-dessus)
En supposant que vous avez embauché une personne intelligente, elle devrait faire avancer les choses. Au-delà de cela, lorsque vous mesurez les employés (en particulier les programmeurs), vous obtenez exactement ce que vous mesurez.
En bref, assurez-vous que les projets se déroulent selon les normes de l'équipe.
Que diriez-vous de l'efficacité (travail effectué/h)?. Cela peut être mesuré avec la technique pomodoro . Jetez un oeil à cette présentation .
Une fois que vous suivez vos estimations de pomodoro et les pomodoros réellement exécutés par tâche, vous pouvez alors mesurer le facteur de réalité, que cet outil a appelé pomodairo fait pour vous. Ce facteur de réalité peut résumer la qualité de vos estimations et votre efficacité; pour évaluer l'efficacité, je m'en tiendrai à pas plus de 2 tâches pomodoro.
Je trouve les pomodoros objectifs (sur une base individuelle) parce que chacun signifie une quantité fixe de travail ciblé et ils sont une bonne mesure à améliorer, ce qui à mon humble avis est le véritable objectif de toute mesure de ce genre qui compte.
Nous venons de passer par là à mon travail. Essayer de comprendre ce que nos KPI devraient être, puis ce que nos KPI allaient être (car ils se sont avérés difficiles à mesurer).
L'ICP doit être une mesure permettant de résoudre les besoins de l'entreprise en temps opportun. Si quelqu'un connaît un bon moyen de mesurer cela, faites-le moi savoir. :)
Nous avons fini par décider d'utiliser # de fonctionnalités implémentées. Nos clients se déconnectent de chaque fonctionnalité destinée aux utilisateurs et ils sont priorisés publiquement (afin que les gens puissent se battre pour que les leurs passent en premier). Nous avons pensé que cela allait être un moyen simple de mesurer si nous obtenons de bons résultats. Nous verrons.....
Il n'y a presque aucune mesure commerciale que vous pouvez utiliser. Vous devez traiter le programmeur comme un mathématicien ou un scientifique. La seule chose qui y est mesurée est l'impact ou l'impact potentiel des idées/du code. Compteriez-vous le nombre de lignes dans une épreuve écrite par un mathématicien?
Même si vous utilisez une mesure, elle sera traitée comme un problème d'optimisation par le programmeur selon qu'elle détermine son salaire. Un autre point est que la productivité du programmeur varie d'un jour à l'autre, certains jours il y a beaucoup de lignes de code écrites, d'autres fois aucune nouvelle idée de conception n'est pensée, etc.
Quels sont certains des principaux indicateurs de performance d'un dirigeant ou d'un gestionnaire? Vous devriez peut-être essayer de les utiliser pour les programmeurs car nous traitons également des idées et des idées.
Pour un programmeur industriel, $/h économisé (ou gagné) est, à mon avis, la seule mesure commerciale significative.
Les types de logiciels sont connus pour avoir une mentalité de jeu (jeux informatiques, stylo et papier, puzzles, etc.). Ne pas comportement incitatif qui ne correspond pas aux besoins de l'entreprise.
Par exemple, si vous considérez kLOC/semaine comme l'indicateur clé, vous observerez que pour la même fonctionnalité, vous obtenez beaucoup plus de kLOC.
Exemple:
int foo() {
return blah;
}
Peut bien se transformer en:
int
foo()
{
return
blah;
}
Pour la même fonctionnalité. C'est une augmentation de 2x LOC. Si vous classe ma productivité principalement en fonction du LOC, vous croyez mieux que je vais évaluer si je veux obtenir ce bonus/promotion basé sur la productivité.
Je dirais que vous devez aligner les mesures des unités commerciales sur la programmation. Les programmeurs ne veulent pas cela parce qu'ils sentent que l'unité commerciale va bousiller et qu'ils n'auront pas l'air bien.
Ma réponse est: Dude - ou Dudette - travaillez avec vos utilisateurs professionnels et créez des outils impressionnants pour eux qui les rendront ultra productifs et leur succès sera votre succès.