Évaluer l'efficacité de l'IA au-delà de la mesure de la productivité
Cette dernière année a marqué un tournant dans le développement de l'IA, suscitant beaucoup d'enthousiasme, d'optimisme, mais aussi de prudence.
Les outils de productivité alimentés par l'IA offrent la promesse de stimuler la productivité en automatisant les tâches répétitives de codage, les tâches fastidieuses et permettent de générer du code. Un an plus tard, les entreprises peinent encore à quantifier l'impact de leurs initiatives en matière d'IA et doivent réévaluer leurs indicateurs pour s'assurer qu'ils reflètent les résultats commerciaux souhaités.
La mesure de la productivité des développeurs a toujours été un défi, que ce soit avec ou sans l'introduction d'outils de développement alimentés par l'IA. L'année dernière, McKinsey & Company a décrit la mesure de la productivité des développeurs comme une "boîte noire", notant que dans le développement de logiciels, "le lien entre les apports et les résultats est considérablement moins clair" que dans d'autres fonctions.
Évaluer la productivité d’un codage assisté par l'IA exige une approche plus nuancée que l’utilisation de mesures traditionnelles telles que le nombre de lignes de code produites, de validations de code ou l'achèvement des tâches. Il faut désormais évaluer les résultats commerciaux concrets qui permettent de trouver le juste équilibre entre la rapidité de développement, la qualité des logiciels et la sécurité.
Bien que l'utilisation de l'IA pour produire du code plus rapidement puisse être bénéfique, elle peut également conduire à une dette technique si le code produit n'est pas de haute qualité et sécurisé. La révision, le test et la maintenance du code généré par l'IA nécessitent souvent plus de temps. Les développeurs peuvent, par exemple, gagner du temps en utilisant l'IA pour écrire du code. Mais ce temps sera probablement dépensé plus tard dans le cycle de vie du développement logiciel. En outre, toute faille de sécurité dans le code généré par l'IA nécessitera l'engagement des équipes de sécurité et du temps supplémentaire pour modérer les incidents de sécurité potentiels.
En évaluant la valeur ajoutée de l'IA dans le développement de logiciels, il est important de se rappeler que cette technologie doit être mise en œuvre et évaluée comme un complément aux développeurs, et non comme un substitut.
Instaurer de meilleurs indicateurs de productivité
Au lieu de se concentrer sur les taux d'acceptation ou les lignes de code générées, les entreprises doivent adopter une vision plus globale de l'impact de l'IA sur la productivité et leurs résultats. Cette approche permet de s'assurer que les avantages réels du développement logiciel assisté par l'IA soient pleinement réalisés et appréciés.
En fusionnant les données quantitatives recueillies tout au long du cycle de développement des logiciels aux informations qualitatives fournies par les développeurs, ces derniers peuvent mesurer l'impact réel de l'IA sur leur travail et son influence sur les stratégies de développement à long terme. Les recherches de GitLab montrent d’ailleurs que les développeurs consacrent environ 75 % de leur temps à des tâches autres que la génération de code. Cela signifie qu'une utilisation plus productive de l'IA pourrait permettre aux développeurs de passer moins de temps à réviser, tester et assurer la maintenance du code.
L'une des techniques de mesure recommandées est la réglementation DORA, qui examine les performances d'une équipe de développement sur une période donnée. Les indicateurs DORA mesurent la fréquence de déploiement, le délai d'exécution des modifications, le temps moyen de restauration, le taux d'échec des modifications et la fiabilité. Ainsi, les entreprises disposent d’une visibilité sur l'agilité, l'efficacité opérationnelle et la vélocité d'une équipe, permettant de jauger l'équilibre entre la vitesse, la qualité et la sécurité au sein d'une organisation d'ingénierie.
Les équipes devraient également envisager d'utiliser l'analyse de la chaîne de valeur pour évaluer le flux de travail complet, de la conception à la production. L'analyse de la chaîne de valeur ne s'appuie pas sur une mesure unique, mais elle surveille en permanence des mesures telles que le temps d'exécution, la durée d’un cycle, la fréquence de déploiement et les défauts de production. Une approche qui permet de souligner les résultats commerciaux plutôt que les actions des développeurs.
Réussir la mise en œuvre de l'IA
L'IA est une technologie relativement nouvelle. Il est important que les entreprises anticipent les difficultés liées à la transition, sans oublier que les équipes de développement et de sécurité ne font peut-être pas encore totalement confiance à l'IA. L'introduction de nouveaux outils d'IA dans un flux de travail existant peut nécessiter des changements de processus supplémentaires, tels que des révisions de code, des tests et de la documentation.
Pour commencer, les équipes doivent élaborer des bonnes pratiques en travaillant sur un segment à faible risque avant d'étendre leurs applications d'IA. Ce faisant, elles s'assurent qu'elles évoluent en toute sécurité et de manière pérenne. Par exemple, la génération de code d'IA peut contribuer à la production d'échafaudages, à la génération de tests, à la correction de la syntaxe et à la documentation. De cette manière, les équipes peuvent créer une dynamique positive en constatant de meilleurs résultats tout en apprenant à utiliser l'outil de manière plus efficace. Dans un premier temps, il est normal de constater une baisse de la productivité pendant que les équipes s'adaptent à ces nouveaux flux de travail. Il est donc important que les organisations accordent à leurs équipes un délai raisonnable pour leur permettre de déterminer la manière dont l'IA peut s'adapter au mieux à leurs processus.
Il est certain que l'IA jouera un rôle essentiel dans l'évolution des plateformes DevSecOps, redéfinissant la façon dont les équipes de développement, de sécurité et d'exploitation collaborent pour accélérer le développement de logiciels sans compromettre la qualité et la sécurité. Les chefs d'entreprise demanderont à voir comment leurs investissements dans les outils alimentés par l'IA portent leurs fruits. Les développeurs devraient saisir cette occasion pour montrer en quoi leur travail s'aligne sur les objectifs plus larges de leur entreprise.
C'est en adoptant une approche holistique qui évalue la qualité du code, la collaboration, les coûts en aval et l'expérience des développeurs que les équipes peuvent tirer parti des technologies de l'IA pour améliorer les efforts humains.