La productivité des développeurs logiciels est un sujet qui suscite beaucoup de débats et de controverses dans l’industrie du logiciel. Comment mesurer l’efficacité et la performance des développeurs qui travaillent sur des projets complexes, créatifs et collaboratifs ? Est-il possible de trouver des indicateurs objectifs et fiables qui reflètent la qualité et la valeur du travail accompli ? Quels sont les facteurs qui influencent la productivité des développeurs et comment les optimiser ?Comparé à d'autres fonctions commerciales critiques telles que les ventes ou les opérations client, le développement de logiciels est constamment sous-évalué. La croyance de longue date de nombreux techniciens est qu'il n'est pas possible de l'évaluer correctement et que, dans tous les cas, seuls les ingénieurs formés sont suffisamment informés pour évaluer les performances de leurs pairs. Pourtant, ce statu quo n'est plus tenable. Maintenant que la plupart des entreprises deviennent (à un degré ou à un autre) des éditeurs de logiciels, quel que soit leur secteur d'activité, les dirigeants doivent savoir qu'ils déploient leurs talents les plus précieux avec le plus de succès possible.
Il est indéniable qu'il est difficile de mesurer la productivité des développeurs. D'autres fonctions peuvent être raisonnablement bien mesurées, certaines même avec une seule métrique ; alors que dans le développement de logiciels, le lien entre les entrées et les sorties est beaucoup moins clair. Le développement de logiciels est également un travail hautement collaboratif, complexe et créatif et nécessite différentes métriques pour différents niveaux (tels que les systèmes, les équipes et les individus). De plus, même s'il existe un véritable engagement à suivre correctement la productivité, les mesures traditionnelles peuvent nécessiter des systèmes et des logiciels configurés pour permettre une mesure plus nuancée et complète. Pour certaines métriques standard, des piles technologiques entières et des pipelines de développement doivent être reconfigurés pour permettre le suivi, et la mise en place des instruments et outils nécessaires pour obtenir des informations significatives peut nécessiter des investissements importants à long terme. De plus, le paysage du développement de logiciels évolue rapidement, car les outils d'IA générative tels que CopilotX et ChatGPT ont le potentiel de permettre aux développeurs d'effectuer des tâches jusqu'à deux fois plus rapidement.
McKinsey estime qu'il est possible de mesurer la productivité des développeurs logiciels
Cependant, le cabinet précise que cela nécessite une approche adaptée au contexte et aux objectifs de chaque entreprise.
Tirer parti des informations sur la productivité
Avec un accès à des données et des informations sur la productivité plus riches, les dirigeants peuvent commencer à répondre à des questions urgentes sur les talents en génie logiciel qu'ils se sont tant battus pour attirer et retenir, telles que les suivantes :
- Quels sont les obstacles qui empêchent les ingénieurs de travailler à leur meilleur niveau ?
- Dans quelle mesure la culture et l'organisation affectent-elles leur capacité à produire leur meilleur travail ?
- Comment savoir si nous utilisons leur temps sur des activités qui génèrent vraiment de la valeur ?
- Comment pouvons-nous savoir si nous avons tous les talents en génie logiciel dont nous avons besoin ?
Comprendre les fondements
Pour utiliser un système suffisamment nuancé de mesure de la productivité des développeurs, il est essentiel de comprendre les trois types de mesures qui doivent être suivies : celles au niveau du système, au niveau de l'équipe et au niveau individuel. Contrairement à une fonction telle que les ventes, où une mesure au niveau du système des dollars gagnés ou des transactions conclues pourrait être utilisée pour mesurer le travail des équipes et des individus, le développement de logiciels est collaboratif d'une manière distincte qui nécessite des lentilles différentes. Par exemple, bien que la fréquence de déploiement soit une mesure parfaitement adaptée pour évaluer les systèmes ou les équipes, elle dépend du fait que tous les membres de l'équipe effectuent leurs tâches respectives et n'est donc pas un moyen utile de suivre les performances individuelles.
Une autre dimension critique à reconnaître est ce que les différentes mesures font et ne vous disent pas. Par exemple, mesurer la fréquence de déploiement ou le délai d'exécution des changements peut vous donner une vision claire de certains résultats, mais pas de savoir si une organisation d'ingénierie est optimisée. Et bien que des métriques telles que les points d'histoire terminés ou les interruptions puissent aider à déterminer l'optimisation, elles nécessitent une...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

