Comment mesurer et évaluer la productivité des développeurs

Bonjour, citoyens de Khabrovsk! En cette journée de congé extraordinaire du week-end, nous voulons partager avec vous un article intéressant qui a été traduit la veille du début du cours Team Lead 2.0 .




Les développeurs ont besoin de commentaires pour pouvoir améliorer leurs compétences et acquérir de nouvelles connaissances. Selon l'éditeur de Inc. Magazine, par Jeff Hayden, les mesures traditionnelles peuvent être trompeuses car elles ne reflètent pas toujours une image claire. Auparavant, l'évaluation des performances du personnel était une tâche ardue, c'est pourquoi des outils Git Analytics tels que Waydev sont apparus. Cet outil offre une approche de développement basée sur les données pour vous aider à faire ressortir le meilleur de votre personnel.

Il est très important de mesurer les bons indicateurs et de le faire correctement. À son tour, le choix des indicateurs dépend des spécificités de votre entreprise et des responsabilités professionnelles de chaque ingénieur logiciel.

Nous vous parlerons d'un algorithme qui aidera à évaluer l'efficacité des programmeurs:

Fixation d'objectifs


Fixer des objectifs organisationnels et vérifier régulièrement que tous les membres de l'équipe les respectent est une priorité absolue dès le début du projet. Même si le développement de logiciels est externalisé dans votre organisation, l'équipe de développement ne sera pas une organisation indépendante dont la seule fonction est d'écrire du code et de le tester. L'intégration d'objectifs techniques avec des objectifs commerciaux communs est une étape importante sur votre chemin. La conceptualisation des tâches aux premiers stades sert de base à l'évaluation de l'efficacité du travail aux stades ultérieurs.

Chaque objectif doit correspondre à l'idée principale de l'entreprise, tant au niveau de l'équipe qu'au niveau individuel de chaque employé.

Pose de fondations


La mesure du rendement se résume à deux questions principales - quoi et comment. La question «quoi» fait référence aux tâches réelles auxquelles l'équipe est confrontée. Cela implique un certain fait et une certaine attente. En répondant à la question «quoi» peut signifier, par exemple, l'écriture en temps opportun et le test du code. Ici, la «rapidité» est un fait clair, et l'excellente qualité du code est une attente implicite.

La question du «comment» est liée au processus, c'est-à-dire à quel point le programmeur a bien fonctionné dans l'équipe, à quel point son approche de la tâche était innovante, etc.

Évaluer le «quoi» et le «comment» fondamentaux vous permettra de comprendre non seulement les tâches sur lesquelles l'équipe travaille, mais aussi la façon dont ils les exécutent. Waydev offre une vue d'ensemble de vos employés à l'aide de Work Log. Il vous permet de voir chaque demande de validation ou d'extraction qu'un développeur de votre entreprise a effectuée par unité de temps.



Focus sur le long terme


Lors du développement de logiciels, vous ne devez jamais vous concentrer sur la composante quantitative du produit en cours de développement. Des lignes de code supplémentaires rendront le logiciel lourd et plus difficile à maintenir. Inversement, minimiser le nombre de lignes de code n'est pas une panacée: de tels logiciels seront difficiles à comprendre et à mettre à l'échelle.

L'approche à long terme axée sur les résultats implique qu'au lieu de quantifier l'efficacité du produit, le produit est évalué sur la base des résultats de l'équipe. Pour évaluer les processus de développement et les versions, il est nécessaire d'analyser la stabilité, la fréquence de livraison et la fréquence des mises à jour du produit final.



Pour évaluer l'efficacité d'une équipe particulière, vous devez comprendre si elle a atteint les résultats souhaités. En vous concentrant sur cela, vous augmenterez non seulement la productivité des développeurs, mais vous atteindrez également les objectifs organisationnels, ce qui signifie que vous recevrez plus d'avantages à long terme. Dans Waydev, vous pouvez utiliser la fonction Chronologie du projet pour voir comment la concentration du travail et le volume changent au fil du temps. Découvrez sur quoi les développeurs se concentrent. S'agit-il d'écrire du nouveau code, de refactoriser les anciens ou d'aider des collègues? Découvrez quels événements ont affecté les performances de votre équipe afin que, lors de la prise de décisions ultérieures, vous puissiez vous concentrer sur les données reçues.

Préparation de l'évaluation


Pour que l'évaluation soit basée, vous devez avoir une certaine norme que vous pouvez suivre lorsque vous la recevez. Une telle norme peut servir de description de poste ou de plan de travail proposé.

Consultez les descriptions de poste, les documents, les dossiers, les courriels et toute autre donnée existants qui vous permettront de tirer une conclusion sur l'efficacité de l'employé.

Si vous faites partie de l'équipe récemment, parlez au chef d'équipe du développeur, à ses collègues et, si possible, aux clients réguliers avec lesquels il a travaillé.

Le succès ou l'échec dépend non seulement de la personne, mais aussi des conditions de travail:

  • Y a-t-il eu des circonstances de force majeure? Par exemple, la complexité sous-estimée de la tâche ou le changement de priorités? C'est peut-être précisément ce qui a empêché le développeur d'atteindre son objectif et de trouver une application pour ses capacités.
  • Quel succès l'entreprise a-t-elle atteint et quelle est la contribution d'un ingénieur logiciel particulier? A-t-il utilisé correctement ses compétences clés?



En utilisant la chronologie du projet dans Waydev, vous pouvez identifier les points de données les plus pertinents dans le flux de travail de votre équipe et avoir une discussion productive sur les connaissances que vous pouvez appliquer à votre prochain sprint. La chronologie du projet vous aide, vous et votre équipe, à réagir rapidement aux verrous de processus qui affectent l'état de santé de votre développement lors des conversations et des évaluations rétrospectives.

Analyse des objectifs et des compétences clés


Comparez les performances actuelles avec celles souhaitées ou définies dans la description de poste. S'il y a des résultats visibles, assurez-vous qu'ils sont reflétés dans des exemples spécifiques et déterminez leur valeur:

  • Les performances souhaitées ont-elles été atteintes / dépassées?
  • Des conditions de travail défavorables ont-elles entravé la réalisation des objectifs fixés?
  • Ces objectifs ont-ils été atteints grâce au travail supplémentaire de l'employé?
  • Le résultat du travail était-il si bon que cet employé devrait être encouragé?
  • Ce développeur a-t-il joué un rôle clé dans la réalisation des objectifs de toute l'équipe?



S'il n'y a pas de résultats visibles, posez les questions suivantes:

  • Le succès de la tâche dépendait-il de cette personne?
  • Le problème a-t-il été causé par des raisons telles que le manque d'équipement nécessaire, un volume de tâches trop important, un énoncé flou du problème ou l'absence d'autres ressources nécessaires?
  • Une personne plus compétente peut-elle résoudre ces problèmes?
  • Quelles sont les conséquences de ne pas terminer une tâche?



Déterminer avec quelle régularité et efficacité l'employé applique ses compétences clés dans son travail:

  • L'employé utilise-t-il ces compétences quotidiennement?
  • At-il utilisé toutes ses capacités, ou seulement certaines d'entre elles? Quel genre?
  • Comment l'application de compétences aide-t-elle un développeur à résoudre des tâches de travail? Comment cela affecte-t-il le flux de travail et le succès de l'équipe?
  • A-t-il été difficile pour le développeur de terminer la tâche? Si oui, comment cela a-t-il affecté vos objectifs et votre flux de travail?

S'il est difficile pour le développeur d'accomplir des tâches de travail et que les objectifs fixés ne soient pas atteints, alors vous devriez penser à organiser une formation supplémentaire ou des cours de formation continue.

Discussion


Toutes les conclusions que vous avez pu tirer lors de l'analyse doivent être discutées avec l'employé lui-même. Concentrez-vous sur ses succès. Pour transmettre votre compréhension de la situation aussi précisément que possible, utilisez des exemples spécifiques. Commencez par les aspects positifs, mais assurez-vous de prêter attention aux difficultés rencontrées. Si l'objectif n'a pas été atteint grâce à un développeur indépendant, il ne doit en aucun cas penser qu'il est à blâmer pour tout.

Assurez-vous de poser des questions et d'écouter attentivement les réponses. Cela aidera à identifier les problèmes et à comprendre comment une personne y est liée: s'il veut les résoudre, ce qu'il voit de la situation et ce qu'il aimerait changer.

Recommandations


Sur la base des informations que vous avez reçues lors de la conversation avec l'employé, son manager et ses collègues, faites une liste de suggestions qui pourraient améliorer la productivité du développeur.

Comment rédiger des commentaires et des recommandations


Pour les commentaires, des commentaires sur le travail effectué sont nécessaires. Sur la base des commentaires reçus, l'ingénieur sera en mesure d'évaluer ses forces et ses faiblesses et d'orienter ses efforts dans la bonne direction. N'oubliez pas que les commentaires peuvent être jugés non seulement sur l'employé, mais aussi sur la personne qui les a écrits. Ils doivent être composés professionnellement et objectivement.

Les commentaires doivent refléter les points suivants:

  • Dans quelle mesure le développeur a-t-il terminé sa tâche?
  • À quelle fréquence a-t-il fait preuve de professionnalisme et de compétences clés?
  • Qu'est-ce qui s'est amélioré au cours de la période d'évaluation?
  • Qu'est-ce qui doit être amélioré?

Les commentaires doivent avoir les propriétés suivantes:

  • Objectivité;
  • Exhaustivité;
  • Véracité;
  • Spécificité du domaine
  • La conclusion positive.

Aspects à considérer


Présence


Tout d'abord, vous devez comprendre si le développeur apparaît du tout. Considérez l'heure d'arrivée, de départ et d'absence. Si un membre de l'équipe vient travailler tard, quitte le lieu de travail pendant une longue période, part plus tôt que nécessaire ou prend un congé de maladie sans raison valable, il ne cherche certainement pas à donner le meilleur de lui-même. N'oubliez pas qu'une mauvaise fréquentation peut être causée non seulement par la paresse courante, mais aussi par des raisons plus graves, par exemple, le manque de motivation, des problèmes de santé ou l'épuisement émotionnel.



Éviter leurs tâches au travail peut être un mauvais exemple pour toute l'équipe. Pour cette raison, d'autres développeurs doivent assumer des responsabilités supplémentaires afin de compenser en quelque sorte l'absence d'un collègue sur le lieu de travail. La situation est aggravée si votre organisation manque de développeurs et que le problème stagne. Commencez à le pratiquer le plus rapidement possible, car l'ignorer peut entraîner des problèmes dans la vie et la santé personnelles de vos développeurs.

Donner de l'aide


Nous nous concentrons tous sur l'aide aux clients, mais le travail d'équipe est également très important. Konowe & Associates estime que cet élément est l'un des indicateurs de performance clés pour les développeurs: «Nous demandons qui dans votre département (ou l'entreprise dans son ensemble) a été le plus réactif et vous a aidé plus que d'autres au cours des six derniers mois? Et il s'avère que cette motivation anonyme des développeurs nous permet d'identifier les vrais fans de leur domaine, et pas seulement les favoris des dirigeants. »



La volonté d'aider les autres est un élément essentiel du travail d'équipe. Collaborer sur des tâches complexes est beaucoup plus efficace que d'essayer de transformer des montagnes seul. Fonction de révision de collaborationvous permet de comprendre qui partage ses connaissances avec les autres. Il vous fournit également des indicateurs quantitatifs qui vous aideront à évaluer l'état du flux de travail des revues de code.



Compétences en planification


Tous les membres de l'équipe doivent terminer le travail à temps. Ils doivent être en mesure de gérer correctement leur temps et leurs ressources et de hiérarchiser correctement afin de mener à bien leur travail le plus efficacement possible.

Faites attention aux délais et à la qualité du travail qui pourrait souffrir en raison de la précipitation afin de respecter le délai: cela aidera à comprendre l'efficacité du travail de l'employé. Il est également très important de prendre en compte la quantité de temps consacré au travail: si une personne le traite de manière stable, alors il vaut la peine de lui parler de la planification du temps.

Initiative


C'est bien lorsque des collègues souhaitent savoir s'ils peuvent vous aider avec quelque chose. C'est encore mieux s'ils voient des objectifs et prennent toutes les mesures nécessaires pour les atteindre. L'initiative est un indicateur de la participation au travail. L'identification des développeurs les plus actifs est importante pour les entreprises en croissance, où de nouveaux emplois apparaissent constamment et les ressources humaines sont rapidement redistribuées. Pour le travail le plus efficace du nouveau département, il sera préférable de le doter du personnel le plus initiatique. Ils pourront s'adapter rapidement aux nouvelles conditions et travailler en avance sur la courbe.

Pour identifier les membres les plus actifs de votre équipe, cochez la case à chaque fois qu'un développeur prend la tête de l'équipe.

Qualité


La qualité du travail est la mesure de performance la plus importante, mais en même temps la plus complexe qui puisse être mesurée. Les ingénieurs qui travaillent avec qualité et sincèrement impliqués dans le processus de travail sont susceptibles de donner de meilleurs résultats. Un tel engagement peut être un critère de qualité.

La productivité des développeurs ne se mesure pas uniquement aux caractéristiques quantitatives du produit développé, le problème n'est donc pas résolu. Les développeurs qui écrivent des lignes de code supplémentaires ajoutent simplement à la complexité du logiciel, ce qui le rend plus difficile à maintenir. Vous devez comprendre sur quoi travaillent vos développeurs: qualité ou quantité?

Les experts du site HR World proposent d'évaluer la qualité du résultat final par le nombre de fonctions qui ont été rejetées ou renvoyées pour révision. Vous pouvez utiliser cette technique ou en choisir une autre, plus adaptée aux spécificités de votre entreprise.

Conclusion


Bien sûr, l'évaluation des performances dans des nombres spécifiques est importante, mais Cheryl Stein, une formatrice commerciale Monster.com, vous conseille de ne pas vous limiter aux nombres. Après tout, les membres de l'équipe sont des personnes vivantes, pas seulement des ressources. Stein note que certaines qualités, par exemple, la capacité de trouver une approche à toute personne, valent désormais son pesant d'or, et de telles compétences ne devraient pas être négligées. Stein écrit également sur l'importance de prêter attention aux changements de la productivité du travail, car cela peut être le symptôme de changements plus globaux dans l'entreprise.

«Une baisse de la productivité du travail peut indiquer des changements du marché ou des stratégies, des idées et des valeurs de marketing non durables.»

Lors de la mesure de l'efficacité, il est important d'engager ouvertement un dialogue avec l'équipe. Les gens doivent savoir comment vous évaluez et tirez des conclusions. Ainsi, chaque développeur comprendra sa position dans l'équipe. Avec Waydev, vous pouvez afficher des informations sur des membres spécifiques de l'équipe, voir leurs progrès, les aider à résoudre les problèmes, offrant ainsi une meilleure communication verticale au sein de l'organisation.



Quels sont les risques du travail à distance des services informatiques? Quelles sont les approches nécessaires pour que l'équipe travaille efficacement sans avoir besoin de les suivre? Pourquoi la télécommande a-t-elle également besoin d'un horaire? Les réponses à ces questions se trouvent dans notre webinaire gratuit, qui se tiendra le 13 mai. Inscrivez-vous à un webinaire .

All Articles