Les outils d'IA de codage ont un faible impact sur la productivité des développeurs
Le débat se poursuit au sein de la communauté des développeurs, avec des opinions divergentes sur les véritables avantages en matière de productivité des assistants d'IA de codage, soulignant la nécessité d'une évaluation minutieuse de leur impact dans le monde réel. Si certaines entreprises ont fait état de gains de productivité significatifs grâce aux outils d'IA, d'autres ont constaté qu'ils introduisaient des erreurs et compliquaient également les processus de débogage. Les développeurs débutants ont souvent du mal à égaler l'efficacité des développeurs confirmés, même lorsqu'ils se font aider par les assistants d'IA.
Les outils de codage ont été un cas d'utilisation précoce évident dans la ruée vers l'IA générative. Cependant, une étude publiée récemment par la société d'analyse Uplevel indique que les améliorations de productivité promises sont loin d'être au rendez-vous, si tant est qu'elles existent. Uplevel, qui fournit des informations sur les données de codage et de collaboration, rapporte que l'utilisation de GitHub Copilot a également introduit 41 % de bogues supplémentaires.
« Cela suggère que Copilot peut avoir un impact négatif sur la qualité du code. Les responsables de l'ingénierie peuvent souhaiter creuser davantage pour trouver les PR avec des bogues et mettre en place des garde-fous pour l'utilisation responsable de l'IA générative », indique le rapport intitulé "Can Generative AI Improve Developer Productivity".
L'étude a mesuré le temps de cycle des demandes de fusion (pull request - PR), c'est-à-dire le temps nécessaire pour fusionner le code dans un dépôt, et le débit des PR, c'est-à-dire le nombre de demandes de fusion fusionnées. Elle n'a révélé aucune amélioration significative pour les développeurs utilisant GitHub Copilot. Ce résultat est l'un des trois énumérés par l'entreprise, qui a déclaré avoir mené la recherche pour répondre à trois questions :
- l'accès à GitHub Copilot aide-t-il les développeurs à produire du code plus rapidement ?
- GitHub Copilot aide-t-il les développeurs à produire un code de meilleure qualité ?
- GitHub Copilot atténue-t-il l'impact de l'épuisement des développeurs ?
Dans le cadre de l'étude, Uplevel a utilisé les données générées par ses clients et a comparé la production d'environ 800 développeurs utilisant GitHub Copilot sur une période de trois mois à leur production sur une période de trois mois avant l'adoption. Les deux autres conclusions d'Uplevel sont les suivantes :
Pas de changement significatif dans les mesures d'efficacité
« En comparant le temps de cycle, le débit et la complexité des RP avec les RP avec tests, GitHub Copilot n'a ni aidé ni nui aux développeurs de l'échantillon, et n'a pas non plus augmenté la vitesse de codage. Bien que certaines de ces mesures soient statistiquement significatives, le changement réel n'a pas eu d'incidence sur les résultats techniques, par exemple le temps de cycle a diminué de 1,7 minute », indique le rapport d'Uplevel.
Atténuation du risque d'épuisement professionnel
L'indicateur « Sustained Always On » d'Uplevel (temps de travail prolongé en dehors des heures normales et indicateur avancé d'épuisement professionnel) a diminué dans les deux groupes. Mais il a diminué de 17 % pour ceux qui avaient accès à GitHub Copilot et de près de 28 % pour ceux qui n'y avaient pas accès.
Une étude publiée par GitHub a abouti à des conclusions différentes
« L'étude d'Uplevel a été motivée par la curiosité suscitée par les affirmations selon lesquelles les assistants d'IA de codage deviendraient omniprésents », affirme Matt Hoffman, chef de produit et analyste de données au sein de l'entreprise. Une étude de GitHub publiée en août 2024 a révélé que 97 % des ingénieurs logiciels, des développeurs et des programmeurs déclaraient utiliser des assistants de codage IA. D'autres études ont également donné des résultats similaires.
Dans le cadre de son étude, GitHub rapporte que plus de 97 % des personnes interrogées ont déclaré avoir utilisé des outils d'IA de codage au travail à un moment ou à un autre, un résultat qui se vérifie dans les quatre pays. Toutefois, un pourcentage plus faible de répondants ont déclaré que leur entreprise encourageait activement l'adoption d'outils d'IA ou en autorisait l'utilisation, ce qui varie d'une région à l'autre. Voici les principales conclusions de l'enquête :
- la vague d'IA générative dans le développement de logiciels continue de croître. L'enquête a été élargie à 2 000 répondants et presque tous (plus de 97 %) ont déclaré avoir utilisé ces outils à un moment ou à un autre, que ce soit au travail ou en dehors. (Ce qui ne veut pas dire que toutes les entreprises ont approuvé l'utilisation de ces outils) ;
- bien que les répondants à l'enquête affirment que leur entreprise accueille favorablement l'IA, des progrès restent à faire. Les données de l'enquête indiquent qu'une forte majorité (59 - 88 %) des répondants, tous marchés confondus, ont déclaré que « leur entreprise encourage activement ou autorise l'utilisation de ces outils ».
- les équipes de développement logiciel reconnaissent plus d'avantages aux outils d'IA de codage qu'on ne l'a dit. Il s'agit notamment de la création de logiciels plus sûrs, de l'amélioration de la qualité du code, d'une meilleure génération de cas de test et d'une adoption plus rapide des langages de programmation. En fin de compte, cela s'est traduit par un gain de temps qu'elles ont pu consacrer à des tâches plus stratégiques.
« Les personnes interrogées dans le cadre de notre enquête ont déclaré que l'IA les aidait à travailler de manière plus productive, en utilisant le temps gagné pour concevoir des systèmes, collaborer davantage et mieux répondre aux exigences des clients. L'IA ne remplace pas les emplois humains, elle libère du temps pour la créativité humaine. Passons maintenant à la recherche », a déclaré que Kyle Daigle, directeur des opérations de GitHub, dans un billet de blogue.
Cependant, l'étude publiée par Uplevel suggère, quant à elle, que si les mesures de productivité sont solides, les développeurs passent désormais plus de temps à examiner le code généré par l'IA, ce qui pourrait contrebalancer tout gain de temps. Avant Uplevel, GitClear avait rapporté au début de l'année que l'utilisation des assistants d'IA pour la programmation ne contribue pas toujours à la qualité du code produit. Au lieu de cela, ils introduisent plus de bogues.
Les chercheurs de GitClear ont constaté que les outils d'IA comme GitHub Copilot ne donnent en fait que des suggestions pour ajouter du code. Aucune suggestion n'est faite pour la mise à jour ou la suppression de code. Il en résulte notamment une quantité importante de code redondant. Ils ont également constaté une forte augmentation du "code churn". Cela signifie que le code est fréquemment modifié, ce qui est généralement un mauvais signe pour la qualité.
« Chaque nouvelle itération du code généré par l'IA finit par être moins cohérente lorsque différentes parties du code sont développées à l'aide d'invites différentes. Il devient de plus en plus difficile de comprendre et de déboguer le code généré par l'IA, et le dépannage devient si gourmand en ressources qu'il est plus facile de réécrire le code à partir de zéro que de le réparer », explique un utilisateur qui affirme que l'IA n'améliore pas pour l'instant la productivité.
Une stratégie prudente d'adoption des assistants d'IA de codage
L'accès à des outils d'IA comme GitHub Copilot a soulevé un certain nombre de questions importantes. L'IA aidera-t-elle les développeurs à livrer plus rapidement ? Peut-elle les aider à écrire un meilleur code et à éviter l'épuisement professionnel ? « Pas encore pour cette population. Cependant, l'innovation évolue rapidement, et GitHub a constaté que Copilot améliore la satisfaction des développeurs », a répondu Uplevel dans son rapport. Les responsables de l'ingénierie pourraient avoir intérêt à adopter une stratégie prudente d'adoption de Copilot afin de se préparer à de nouvelles avancées de l'outil :
- fixez des objectifs précis : quels sont les résultats précis que vous souhaitez obtenir en intégrant GitHub Copilot dans le flux de travail de votre équipe ?
- proposez une formation à vos équipes : la formation initiale peut être un bon moyen d'expliquer où GitHub Copilot doit être utilisé et où il ne doit pas l'être, et quelles sont les mesures de protection mises en place en tant qu'organisation ;
- continuez à expérimenter l'IA générative : recherchez les cas d'utilisation spécifiques dans lesquels Copilot peut être utile et les messages-guides qui donnent les meilleurs résultats. Partagez ces résultats avec l'ensemble de votre organisation afin que les succès puissent être reproduits ;
- surveillez les mesures d'efficacité technique sur lesquelles GitHub Copilot pourrait avoir un impact : commencez à effectuer des tests A/B de votre côté afin d'obtenir des informations objectives et quantitatives permettant de déterminer si l'IA améliore réellement la productivité des développeurs et/ou vous aide à atteindre vos objectifs opérationnels.
Sources : Uplevel, GitHub
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des assistants d'IA de codage ? Ces assistants sont-ils utiles ? Sont-ils fiables ?
Utilisez-vous l'un de ces outils d'IA pour écrire du code ? Si oui, quel impact cet outil a-t-il sur votre productivité ?
Que pensez-vous des divergences relevées par les études sur l'impact des assistants d'IA sur la productivité des développeurs ?
Voir aussi
L'utilisation de l'assistant d'IA GitHub Copilot pour la programmation entraîne une baisse de la qualité globale du code et une quantité importante de code redondant, selon une étude
92 % des développeurs utiliseraient des outils d'intelligence artificielle, selon une enquête de GitHub auprès des développeurs
Les défis croissants du code généré par l'IA : le code généré par l'IA pourrait augmenter la charge de travail des développeurs et accroître les risques, selon Harness