


Productivité des développeurs – comment la mesurer
Les êtres humains sont par nature des avares cognitifs et nous avons tendance à résoudre des problèmes complexes de la manière la plus simple avec le moins d'effort. C'est ainsi que nous avons mesuré la « productivité des développeurs » en utilisant la méthode la plus simple disponible.
Quelle est la première chose qui vous vient à l’esprit lorsque vous entendez « productivité des développeurs » ?
Je parie que c'est négatif et il ne fait aucun doute que c'est presque un tabou dans les équipes de développement, car les dirigeants craignent souvent que parler de ce problème donne l'impression à l'équipe qu'elle est microgérée ou qu'elle manque de confiance. Deux raisons :
La façon dont les développeurs sont productifs est abusée par les leaders de l'ingénierie et comme nous l'appelons.
La « productivité des développeurs » n'est pas une formule et nous ne prospérons pas dans l'incertitude, nous choisissons donc soit de prendre le chemin le plus facile, soit de nous en éloigner.
Pensez-y : des milliards de dollars sont dépensés chaque année pour les équipes de développement. S'il existait une méthode universelle pour mesurer la productivité des développeurs, serait-elle encore un mystère ? Ou allez-vous lire ce blog ?
PS : Si vous lisez ce blog avec l'intention de mesurer vos développeurs les plus productifs ou d'obtenir un chiffre qui vous aidera à promouvoir et à licencier des développeurs, détournez-vous car vous serez déçu.
Alors faut-il essayer de mesurer la productivité des développeurs ?
Oui, c'est vrai ! ! Parce que la productivité des développeurs ne consiste pas seulement à améliorer les résultats de l'ingénierie, il s'agit également d'assurer la satisfaction et le bien-être de l'équipe. Souvent, les mesures de productivité aident également à identifier les goulots d'étranglement dans le processus de développement et les défis liés à l'environnement de travail et à la culture de l'équipe.
Phil Jackson, l'un des entraîneurs de basket-ball les plus talentueux, l'a magnifiquement exprimé :
"La force de l'équipe réside dans chaque membre. La force de chaque membre est la force de l'équipe." Dans le contexte d'une équipe de développement, le succès de chaque équipe dépend de la capacité de chaque développeur à faire de son mieux et à contribuer continuellement au succès de l'équipe.D'accord, maintenant, comment dois-je mesurer la productivité des développeurs ?
Deux piliers fondamentaux pour maximiser vos chances de réussite dans la mesure de la productivité des développeurs.
1. Ne réduisez jamais la productivité à une seule mesureMesurer la productivité des développeurs est difficile car nous essayons de mesurer les personnes impliquées dans des tâches à la fois logiques et créatives. Et nous, en tant qu’avares cognitifs, essayons de réduire la productivité à une mesure – laissez-moi être clair, ce modèle échouera.
Au lieu de cela, essayez de capturer la productivité dans plusieurs dimensions et d'exploiter quelque chose comme le cadre SPACE (S-Satisfaction et bonheur, P-Performance, A-Activity, C-Communication et Collaboration, E-Efficiency et Processus) peut aider les équipes de développeurs à mesurer la productivité des développeurs de la bonne manière.
2. Communiquer avec l'équipeIl existe un malentendu très courant : la productivité des développeurs ne convient qu'aux managers. Cela ne pourrait pas être plus éloigné de la vérité. La recherche montre qu’il existe des différences significatives entre les perceptions des développeurs et des managers sur la productivité des développeurs. La plupart des développeurs associent une plus grande productivité à une activité plus élevée, tandis que la plupart des gestionnaires associent la productivité à la performance et à l'efficacité.
Choses à faire
Utilisez le framework SPACE pour suivre la productivité des développeurs sur plusieurs dimensions.- Communiquer les intentions à toute l'équipe.
- Utilisez des indicateurs de productivité pour identifier les domaines à améliorer et éliminer les goulots d'étranglement.
- Ce qu'il ne faut pas faire
- Développez des mesures secrètes pour suivre la productivité.
- Utilisez les métriques comme seules métriques pour déterminer votre évaluation.
- Metriques de productivité des développeurs
Examinons maintenant quelques mesures de productivité des développeurs suivies dans toutes les dimensions spatiales.
Satisfaction et bonheur
Une équipe très satisfaite est une équipe hautement productive. C’est l’un des principaux indicateurs d’une équipe et d’une culture de travail saines. Cependant, la satisfaction est un concept abstrait, et si quelqu'un vous demande « Dans quelle mesure êtes-vous satisfait ? », oubliez la mesure. Je suis sûr que vous réfléchirez quelques minutes avant de répondre à cette question, à ce que la satisfaction signifie pour vous et comment la quantifier. Nous savons que capturer numériquement cet aspect est extrêmement difficile. Ce que vous voyez ici, ce sont des mesures proxy qui tentent de capturer au mieux différents aspects de la satisfaction et du bonheur des développeurs.
- Travail terminé : chaque fois que nous accomplissons une tâche, notre cerveau libère de la dopamine, ce qui nous permet de nous sentir satisfaits et motivés immédiatement une fois la tâche terminée. Par conséquent, un taux d'achèvement des travaux élevé par rapport au travail promis rendra le développeur très satisfait car il sera en mesure de terminer le travail promis dans les délais et de contribuer au succès de l'équipe.
- Heures supplémentaires : Heures supplémentaires ≠ productivité plus élevée ; en fait, c'est le contraire qui est vrai, les heures supplémentaires sont l'un des principaux contributeurs à l'épuisement professionnel des développeurs et nuisent à leur bien-être. Le suivi des heures de travail supplémentaires, comme le week-end ou tard le soir, peut vous aider à comprendre si vos développeurs sont satisfaits et fonctionnent bien dans leur environnement de travail actuel.
- Les affaires ne sont pas un moyen de réussite, c'est un obstacle à la réussite
- Alex Soojung-Kim Pang
- Les affaires ne sont pas un moyen de réussite, c'est un obstacle à la réussite
- Désengagement : L'indicateur le plus courant d'insatisfaction et d'épuisement professionnel est le désengagement des équipes et des activités de l'équipe. Une façon de mesurer l'engagement des développeurs consiste à mesurer les changements dans le temps de réponse général d'un développeur aux activités de l'équipe telles que les révisions de code, ou une diminution des interactions ou de la participation aux réunions d'équipe.
- Enquêtes auprès des développeurs : souvent, lorsqu'il s'agit de déterminer les meilleurs indicateurs de productivité, nous oublions le moyen le plus évident, qui consiste à interroger votre équipe et à comprendre le sentiment de votre équipe en réalisant et en analysant une enquête de satisfaction des développeurs. Posez des questions telles que « Êtes-vous satisfait ? » (Note 1-5)" est la pire façon de comprendre cela. Cependant, il peut y avoir d'autres questions qui peuvent vous aider à capturer des informations similaires de différentes manières et dimensions.
- Tenure : Un excellent moyen de suivre la satisfaction au sein de votre équipe, vous peut examiner l'ancienneté moyenne des membres d'une équipe de développement. Compte tenu de la nature des tendances des développeurs, une fourchette d'ancienneté appropriée pourrait être comprise entre 12 et 18 mois.
- Satisfaction du client. : Il est convenu qu'il s'agit du résultat le plus important pour apporter de la valeur à toute organisation, il doit donc en être de même pour l'équipe de développement. La satisfaction du client peut signifier de meilleurs résultats pour les commentaires de l'App Store, soit le service API a une disponibilité plus élevée et. des temps de réponse plus rapides, ou pour l'équipe de la plate-forme, cela peut signifier que les bibliothèques internes utilisées par d'autres équipes sont plus faciles à utiliser et présentent un minimum de bogues signalés malgré la satisfaction des clients. Les diplômes ne sont pas uniquement pilotés par les équipes d'ingénierie, mais leur utilisation comme mesure de performance continue. les équipes de développement en contact avec les utilisateurs réels des produits qu'elles construisent et les aide à se concentrer sur les bonnes choses
- Activité
- La dimension de l'activité elle-même est globalement équivalente. Cependant, l'activité à elle seule ne peut jamais vraiment mesurer la productivité des développeurs car elle est la plus simple. dimension à suivre. Le suivi des métriques d'activité en conjonction avec d'autres dimensions de différents domaines du processus SDLC vous aidera à identifier les véritables goulots d'étranglement parmi les développeurs et les domaines à améliorer
- Tâches résolues : les activités de cette phase aident à déterminer à quelle fréquence et dans quelle mesure les développeurs contribuent aux tâches de développement. Étant donné que les tâches de développement sont toujours planifiées sous forme de tâches, de user stories ou de sous-tâches sur l'outil de gestion de projet, l'examen du total des tâches résolues peut aider à comprendre l'implication des développeurs dans cette partie du cycle de développement.
- Examiner les demandes d'extraction : généralement, seul le responsable technique ou le responsable de l'équipe de développement a la responsabilité d'examiner les modifications/demandes d'extraction, ce qui est un anti-modèle évident. Encourager chaque développeur à réviser de plus en plus le code de ses pairs permet d'éliminer les goulots d'étranglement en matière de révision. Cette mesure serait un excellent moyen de déterminer si un développeur contribue à la charge de révision de l'équipe.
- Fréquence de déploiement : le nombre de fois où votre équipe déploie des modifications dans le système de production peut vous aider à comprendre l'aspect rapidité de votre processus de développement. Il s'agit également de l'une des mesures DORA, dont les études montrent qu'elle est également fortement corrélée à la satisfaction client et même à la rentabilité d'une organisation, ce qui en fait une excellente mesure pour suivre les dimensions des activités de productivité dans les équipes de développement.
COMMUNICATION ET COLLABORATION
Dans toute équipe de développement, le produit final (qu'il s'agisse d'une fonctionnalité, d'un service, d'une application ou d'une amélioration) est toujours le résultat d'un effort d'équipe. Une bonne communication et une bonne collaboration sont la base de la constitution d’une équipe de développement efficace. L'inclusion de cette dimension dans la mesure de la productivité des développeurs peut promouvoir une culture de transparence et de partage d'informations. Voici quelques mesures de productivité pour aider à capturer cela :
- Temps d'attente et temps de cycle des relations publiques : si l'équipe de développement a une bonne collaboration, cela peut être clairement reflété dans son processus de révision, car il s'agit probablement du goulot d'étranglement le plus important du processus de développement, car il dépend d’une communication efficace entre les contributeurs et les réviseurs et vice versa. Une mesure qui permet de suivre le degré de collaboration d'un développeur consiste à mesurer le temps qu'il faut à ce développeur pour commencer à examiner une demande d'extraction après son attribution. Ensuite, mesurer le temps de cycle moyen des pull request peut aider à comprendre les compétences en communication d’un contributeur.
- Nombre de membres travaillant ensemble : les équipes de développement ont souvent des silos de connaissances et des groupes de développeurs qui interagissent uniquement entre eux et non avec le reste de l'équipe ; c'est un autre anti-modèle classique ; Mesurer la façon dont un développeur communique et communique avec les autres membres de l'équipe est un bon moyen de mesurer cette dimension.
- Temps d'intégration pour les nouveaux membres : chaque fois qu'un nouveau développeur rejoint l'équipe, il passe par une première courbe d'apprentissage, comprend l'environnement commercial, se familiarise avec la pile technologique et obtient généralement de l'aide pour les procédures pas à pas du code. Le temps qu'il faut à un développeur pour effectuer son premier changement impactant depuis son arrivée est une mesure de productivité importante pour la communication de l'équipe de développement. En tant qu'équipe dotée de bonnes pratiques de documentation, les développeurs disposés à déployer des efforts pour aider les nouveaux arrivants permettront aux nouveaux développeurs d'apporter des modifications percutantes le plus rapidement possible. Un bon point de référence à atteindre est le premier résultat productif d'un nouveau développeur au cours des 30 premiers jours.
Efficacité et Processus
C'est la dimension de « l'entrée dans le processus » dont parlent souvent les développeurs. Les métriques ici aident à comprendre le nombre d'interruptions dans le cycle de développement et la fluidité d'une tâche du début à la fin. Les interruptions fréquentes ont non seulement un impact sur la productivité des développeurs, mais peuvent également entraîner une augmentation des niveaux de stress et de fatigue.
- Temps de développement ininterrompu : il est absolument important que les développeurs disposent chaque jour de suffisamment de temps ininterrompu pour se lancer dans le processus et investir du temps dans les activités de développement. L’un des plus gros obstacles réside dans les réunions d’équipe. Souvent, pour encourager des temps de développement plus longs, les équipes adoptent des journées de travail sans réunion ou adoptent des plages horaires strictes pendant lesquelles les réunions d'équipe peuvent être programmées. Un temps de développement ininterrompu plus long n’indique pas nécessairement une productivité plus élevée des développeurs. Cependant, il est certain que si les développeurs ne disposent pas de suffisamment de temps ininterrompu, le processus nécessaire au développement ne pourra pas être réalisé.
- Délai d'exécution : davantage d'interruptions dans le cycle de développement, davantage de transferts et une réouverture trop fréquente des tâches sont des indicateurs d'une efficacité et d'un flux médiocres des tâches de développement. Le délai de validation capture cela avec précision car il mesure le temps total nécessaire pour qu'un changement ait un impact sur les utilisateurs finaux. Un délai de livraison (CLT) relativement élevé signifie certainement une diminution de l'efficacité et du flux de l'équipe de développement. Le CLT est également l'un des indicateurs DORA. Plus d’informations à ce sujet peuvent être trouvées ici.
- Tickets moyens de travaux en cours (WIP) : le changement de contexte est définitivement un tueur de productivité. Faire plus de choses en même temps signifie toujours qu’il faut plus de temps pour tout faire et peut également conduire à un épuisement mental inutile.
- Deux tâches parallèles — 20 % de perte en raison d'un changement de contexte.
- Trois tâches parallèles — 40 % de perte en raison de changements de contexte.
- — Gérald M. Weinberg
Engagement au changement
C'est tout le monde !
Nous constatons que la productivité des développeurs est souvent comprise à tort comme une mesure unique ou une mesure facile à suivre, plutôt que comme une mesure réellement importante. Il est absolument essentiel que nous suivions la productivité des développeurs et adoptions une approche globale pour améliorer la productivité des développeurs, en nous inspirant de frameworks comme SPACE. Il est préférable de commencer avec quelques indicateurs, mais il est important de choisir ces indicateurs selon au moins trois dimensions. Nous avons discuté de la liste exhaustive des dimensions et des nombreuses mesures au sein de chaque dimension, vous et votre équipe devez maintenant déterminer les bonnes dimensions et les bonnes mesures qui ont le plus d'impact.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les programmes gelés ou qui ne répondent pas sont faciles à supprimer à partir du Gestionnaire des tâches. Mais Microsoft a récemment offert aux utilisateurs la possibilité de terminer ces tâches directement depuis la barre des tâches. Bien que l’option ne soit pas proposée à tout le monde, elle est facilement disponible si vous disposez de la version Windows Insider. Voici tout ce dont vous avez besoin pour activer le bouton Fin de tâche et fermer les tâches depuis la barre des tâches. Comment obtenir le bouton de fin de tâche de la barre des tâches pour supprimer des applications Actuellement, l'option permettant d'activer le bouton de fin de tâche pour les applications de la barre des tâches n'est disponible qu'en tant qu'option de développement pour les utilisateurs disposant de versions Windows Insider. Cependant, cela pourrait changer dans une prochaine mise à jour des fonctionnalités, car elle sera déployée auprès des utilisateurs du monde entier sur la version stable. Si tu es toujours

GitHub a fait un grand pas en avant dans son parcours pour révolutionner le développement de logiciels d’intelligence artificielle. La société a annoncé des tests publics de GitHubCopilotChat sur Visual Studio et VSCode pour tous les utilisateurs individuels de GitHubCopilot. GitHub a activé gratuitement la version bêta de CopilotChat pour tous les utilisateurs individuels. Cela fait suite au lancement réussi de la version bêta publique de GitHub Copilot for Business en juillet. Les équipes et les développeurs individuels peuvent désormais tirer parti de GitHub CopilotChat pour apprendre un nouveau langage ou un nouveau framework, résoudre des bugs ou obtenir des réponses aux questions de codage dans une sortie simple en langage naturel.

AptosLabs, la principale plateforme blockchain pour le développement web3, a annoncé un partenariat stratégique avec Microsoft pour intégrer son service Azure OpenAI dans le réseau Aptos. Cette intégration permettra aux développeurs et utilisateurs d'Aptos d'accéder à la puissance de l'intelligence artificielle et de l'apprentissage automatique sur le réseau décentralisé. Aptos construit un réseau blockchain puissant, évolutif et sécurisé qui prend en charge un large éventail d'applications et de cas d'utilisation dans tous les domaines, des médias sociaux et des jeux à la DeFi et aux NFT. Aptos a également développé son propre langage de programmation, Move, qui permet aux développeurs de rédiger des contrats intelligents en toute simplicité et en toute confiance. Move garantit que le code est sûr, sécurisé et vérifiable, et que l'expérience de l'utilisateur final est fluide et agréable.

Si vous êtes développeur ou aspirant programmeur, vous avez probablement entendu parler de GitHubCopilot, ou si ce n'est pas le cas, je suis sûr que vous avez entendu parler de ChatGPT. Copilot est un outil conçu pour rendre votre expérience de codage plus efficace et plus agréable. Mais qu’est-ce que GitHubCopilot exactement ? Récemment, Microsoft intègre l'IA dans ses différents produits, de son moteur de recherche Bing à GitHub, en passant par son système de développement de logiciels et de contrôle de versions, grâce à l'introduction de nouveaux outils d'intelligence artificielle comme ChatGPT. Copilot est un outil basé sur l'IA conçu pour aider les développeurs à écrire du code et bien plus encore. Il fournit des suggestions pour compléter des lignes ou des blocs de code, permettant ainsi aux développeurs de travailler plus efficacement.

Il existe de nombreux langages de programmation à usage général dans lesquels les programmeurs écrivent du code, et la plupart des programmeurs travaillant avec des logiciels d'entreprise n'utilisent généralement qu'un seul langage de programmation avant de prendre leur retraite. Cependant, il existe également des programmeurs qui ont la possibilité d'utiliser plusieurs langages de programmation dans leur travail quotidien. Par exemple, si un programmeur utilise des modules natifs Flatter, il existe des possibilités d'utiliser Dart, Kotlin (ou Java), Objective-C (ou Swift), C/C++, etc. La plupart des programmeurs travaillent dans une seule langue depuis des décennies, ce qui limite leurs compétences techniques. Nous voyons souvent de nombreux experts .NET et Java. Mais il est rare de voir des programmeurs maîtriser plusieurs langages. L'apprentissage de plusieurs langages de programmation apporte encore plus d'avantages. Cependant, apprendre tous les langages de programmation populaires

Apple a annoncé ses nouvelles technologies, ses nouveaux appareils et ses mises à jour logicielles lors de l'événement WWDC2023. Outre toutes les annonces, l’une des plus importantes pour les utilisateurs d’Apple est sans aucun doute iOS17, qui affectera des millions de personnes dans le monde. Si vous souhaitez interrompre et essayer la nouvelle mise à jour avant les autres, continuez à lire. Dans ce guide, nous allons vous montrer comment obtenir la version bêta d'iOS 17 sur votre appareil. Un peu plus de 3 Go de données constituent la première version bêta d’iOS 17. De plus, Apple exclut certains appareils de sa liste de compatibilité. Vous trouverez toutes les informations nécessaires dans cet article. Voici comment obtenir la version bêta d'iOS17 sur votre appareil ! Comment obtenir iOS 17 bêta Comment obtenir iOS avant une utilisation intensive

À l’ère des données, les entreprises sont confrontées à de nombreux défis pour stocker, protéger et analyser d’énormes quantités d’informations. StoneFly, l'un des principaux fournisseurs de solutions de réseau de stockage (SAN) et de stockage en réseau (NAS), aide les entreprises à résoudre des problèmes de données complexes grâce à ses solutions de stockage évolutives, sécurisées et personnalisables. StoneFly offre une intégration transparente, de puissantes capacités de sécurité et une valeur inégalée, permettant aux développeurs, ingénieurs et architectes de se concentrer sur la création de solutions innovantes et la croissance de l'entreprise.

Pourquoi de nombreux développeurs aiment-ils utiliser PHP pour développer des systèmes de centres commerciaux multi-utilisateurs ? Avec le développement continu d’Internet, le commerce électronique joue un rôle de plus en plus important dans nos vies. Le développement d'un système de centre commercial multi-utilisateurs est l'une des tâches importantes pour de nombreux développeurs. Lorsqu'il s'agit de choisir un langage et une technologie de développement, de nombreux développeurs ont tendance à utiliser PHP. Alors, pourquoi de nombreux développeurs aiment-ils utiliser PHP pour développer des systèmes de centres commerciaux multi-utilisateurs ? Cet article abordera ce problème et l'illustrera avec des exemples de code. Tout d’abord, PHP est un outil largement utilisé
