La productivité des développeurs est une préoccupation majeure pour la plupart des organisations. Toutes les organisations commerciales et non commerciales dépendent de plus en plus des logiciels et du rythme et de l'efficacité de la fourniture des fonctionnalités logicielles. La productivité des développeurs est une mesure qui détermine le rythme auquel les innovations logicielles peuvent être fournies, et donc La productivité des développeurs est la clé du succès organisationnel.

Facteurs affectant la productivité des développeurs

De nombreux facteurs influent sur la productivité des développeurs et l'impact de chacun varie en fonction du contexte. Vous trouverez ci-dessous un partiel liste de certains des principaux facteurs qui affectent la productivité des développeurs :

  • Taille de l'initiative
  • Compétence technique et expérience
  • Compétences interpersonnelles
  • Connaissance du domaine
  • Concentration/distractions
  • Outils (y compris l'utilisation d'assistants de code IA)
  • Réutilisation de code
  • Engagement des dirigeants
  • Des exigences claires
  • Clarté de l'objectif

Ce que font les développeurs

Les développeurs travaillent généralement sur un ou plusieurs des éléments suivants :

  • Nouveau initiative logicielle (innovante ou non).
  • Maintenir et/ou la réparation de logiciels (y compris la réparation de la dette technologique)
  • Suppression/remplacement du logiciel

Taille et productivité du projet

La taille du projet est l'un des principaux facteurs quantifiables qui déterminent de manière significative la productivité des développeurs. C'est pourquoi nos benchmarks sont regroupés en fonction de la taille du projet.

Taille du projet et productivité du développeur

Voyons d’abord pourquoi il en est ainsi.  Le succès d’un logiciel nécessite une communication étroite entre les utilisateurs, les développeurs, les testeurs et les autres parties prenantes. À mesure que la taille d’une équipe augmente, le temps et les efforts nécessaires à la communication augmentent à un rythme proportionnel au carré du nombre de membres de l’équipe. Considérez le calcul mathématique du nombre de lignes de communication entre les membres de l’équipe : N x (N – 1) / 2

Taille de l'équipe et frais de communication, source getlighthouse.com

La productivité des développeurs est affectée par la taille du projet en raison de la coût de la communication.  Heureusement, la taille du projet (taille fonctionnelle) est mesurable de manière standardisée et valide. C'est pour cette raison que nous voyons que La productivité la plus élevée est obtenue par des équipes de 7 personnes hautement compétentes ou moins.

Nos repères de productivité des développeurs

Productivité typique d'un développeur

Projets de <1000 CFP

Faible compétence

Heures par CFP

Compétence moyenne

Heures par CFP

Haute compétence

Heures par CFP

Implémentation du package 6 2 1
Code bas 8 3 2
Langage de haut niveau (typique) 25 8 4
Domaine hautement réglementé 80 20 12
Langage/micrologiciel de bas niveau 80 20 12
Source : ScopeMaster Ltd

Ce tableau fait référence au nombre d'heures de travail des développeurs par COSMIC Function Points délivrées sans défaut, que nous avons observé. Ces benchmarks sont présentés en heures par CFP. Il est également légitime d'utiliser l'inverse des CFP par heures travaillées. Il est également utile de regarder productivité de l'équipe en CFP par sprint de 2 semaines de chaque équipe.

Bien que ces repères puissent vous être utiles pour la comparaison avec d’autres organisations, nous vous recommandons d’accumuler et d’entretenir vos propres repères internes pour la productivité des développeurs et d’autres dimensions des projets.  

La vélocité signifie simplement être occupé

La vélocité est un terme couramment utilisé par les adeptes de l'agilité et donne une indication du rythme auquel les développeurs font des choses. Qu'il s'agisse de fermer des tickets ou de livrer des « points d'histoire », cela signifie généralement que des choses sont cochées sur une liste. D'un point de vue littéral, il ne s'agit pas vraiment de vélocité au sens physique du terme (direction et amplitude), mais plutôt de l'activité ou du taux de « fermeture de tickets ». À notre avis, il s'agit d'une pseudo-métrique qui n'a que peu de valeur dans le monde réel. De plus, la vélocité, telle que le terme est généralement utilisé par les équipes agiles, est incohérente, subjective et manipulable.