The Source Intelligence artificielle
Article

Mesurer l'impact de l'IA : 4 étapes indispensables

Il est essentiel de mettre en place un framework adéquat pour mesurer le succès des initiatives d'IA. Voici quatre étapes que vous pouvez suivre pour identifier les indicateurs les plus pertinents.

October 29, 2024 Lecture : 5 min
Taylor McCaslin
Taylor McCaslin Group Manager, Product - Data Science

L'IA s'est rapidement imposée comme un élément central de la pile technologique des entreprises. Les outils de productivité alimentés par l'IA promettent de renforcer l'efficacité en automatisant les tâches répétitives de programmation. Cependant, bien des entreprises ont du mal à quantifier l'impact de leurs initiatives d'IA et revoient les indicateurs pour s'assurer qu'ils sont en adéquation avec les résultats commerciaux recherchés.

Jusqu'à présent, mesurer la productivité des développeurs a toujours représenté un défi, que ce soit avec ou sans outils alimentés par l'IA. D'après l'enquête réalisée par GitLab, moins de la moitié des dirigeants d'entreprise déclarent être satisfaits de leur approche actuelle en termes de mesure de la productivité des développeurs. Et 36 % d'entre eux estiment que leurs méthodes pour la mesurer sont inadaptées.

L'évaluation de la productivité dans un contexte de développement amélioré par l'IA nécessite une approche plus nuancée que celle reposant sur les indicateurs traditionnels tels que les lignes de code, les validations de code ou l'achèvement des tâches. Elle nécessite une réorientation vers des résultats commerciaux concrets qui permettent d'équilibrer la rapidité de développement, la qualité des logiciels et la sécurité.

Voici quatre actions que les entreprises peuvent mettre en œuvre dès aujourd'hui pour s'assurer de mesurer le plein impact de l'IA sur leurs processus de développement logiciel.

1. Définir des objectifs clairs pour l'intégration de l'IA

Lorsqu'elles commencent à utiliser l'IA dans le cadre de leur développement logiciel, les entreprises doivent se fixer des objectifs clairs et définir des indicateurs pour évaluer le succès. Ces objectifs doivent inclure des perspectives à court et à long terme, en cohérence avec la stratégie globale de l'entreprise. Par exemple, un objectif à court terme pourrait viser à réduire le temps consacré aux revues de code de 30 % grâce à des outils alimentés par l'IA. Un objectif à long terme pourrait, par exemple, consister à améliorer la satisfaction des clients grâce à des cycles de sortie de nouvelles versions plus rapides et à un code de meilleure qualité.

Il serait également souhaitable que les dirigeants impliquent les développeurs dans la définition de ces objectifs et indicateurs, Les développeurs sont les premiers à connaître l'impact de l'IA sur leur travail et peuvent fournir des informations précieuses sur la manière dont elle a amélioré ou, au contraire, gêné leur productivité. L'enquête de GitLab révèle également que 63 % des développeurs estiment que l'IA changera considérablement leur poste au cours des cinq prochaines années et que pour 56 % d'entre eux, l'utilisation de l'IA dans le cycle du développement logiciel présente des risques. En interrogeant leurs équipes de développement sur la manière dont l’IA peut les aider, et en quoi elle les préoccupe, les entreprises peuvent créer des indicateurs de réussite plus pertinents et plus efficaces, qui reflètent l'impact réel de l'IA sur le développement logiciel.

Elles doivent également revoir et réévaluer régulièrement ces objectifs à mesure qu'elles intègrent l'IA dans leurs processus. La technologie évolue rapidement, tout comme les besoins et les priorités au sein des entreprises. En fixant des objectifs clairs, les équipes peuvent suivre les progrès accomplis et procéder aux ajustements nécessaires.

2. Repenser les indicateurs qui se basent uniquement sur le nombre de ligne de code

La productivité ne se limite pas aux taux d'acceptation ou au nombre de lignes de code générées. Les développeurs consacrent plus de 75 % de leur temps à d'autres tâches que la génération de code. Une utilisation optimale de l'IA pourrait donc permettre de réduire le temps passé aux revues de code, aux tests et à la maintenance du code.

Pour bien comprendre tous les avantages offerts par le développement logiciel assisté par l'IA, et en tirer pleinement parti, les entreprises doivent privilégier une vision holistique de l'impact de l'IA sur la productivité et de ses résultats tout au long du cycle de développement logiciel (SDLC). L'approche la plus efficace consiste à combiner des données quantitatives, collectées à chaque étape du cycle de développement logiciel, avec les informations qualitatives fournies par les membres de l'équipe de développement concernant l'impact réel de l'IA sur leurs activités quotidiennes et l'influence de cette dernière sur les stratégies de développement à long terme.

Parmi les techniques de mesure efficaces figure le framework DORA, qui évalue la performance d'une équipe de développement sur une période donnée. Les métriques DORA analysent, entre autres, la fréquence de déploiement, le délai d'exécution des modifications, le temps moyen de réparation (MTTR), le taux d'échec des modifications et la fiabilité. Elles permettent de connaître l'agilité, la productivité opérationnelle et la vélocité d'une équipe. Elles servent donc à déterminer dans quelle mesure une structure d'ingénierie parvient à équilibrer rapidité, qualité et sécurité.

Par ailleurs, il est vivement conseillé aux équipes de développement logiciel de recourir à l'analyse du flux de valeur pour évaluer l'ensemble de leur workflow, de la conception à la production. L'analyse du flux de valeur surveille en permanence des indicateurs tels que le délai d'exécution, la durée du cycle, la fréquence de déploiement et les anomalies éventuellement présentes dans le produit final. Elle se concentre davantage sur les résultats commerciaux que sur les actions individuelles des membres de l'équipe de développement. Cette approche globale garantit un processus de développement plus productif et plus efficace.

3. Se préparer à faire face à des difficultés croissantes

Bien que l'IA puisse accélérer la production de code, elle peut également exacerber la dette technique si la qualité et la sécurité du code généré sont insuffisantes. En effet, le code généré par l'IA exige souvent davantage de temps pour les revues de code, les tests et la maintenance. Si les développeurs peuvent gagner du temps en utilisant l'IA dans un premier temps, ce gain de temps peut parfois être perdu à un stade ultérieur du cycle de développement logiciel. Par ailleurs, toute faille de sécurité dans le code généré par l'IA devra faire l'objet d'une attention particulière de la part des équipes de sécurité, entraînant des délais supplémentaires pour résoudre les problèmes potentiels. Les équipes de développement et de sécurité peuvent donc, initialement, être dubitatives à l'égard de l'IA.

Il est donc conseillé que les équipes établissent d’abord de bonnes pratiques en travaillant dans des domaines à faible risque avant d'élargir l'utilisation de l'IA. Cette approche prudente garantit une évolutivité sûre et durable. Par exemple, l'IA peut faciliter la génération de code et de tests, la correction de la syntaxe et sa documentation, aidant ainsi les équipes à créer une dynamique et à améliorer les résultats tout en apprenant à utiliser l'outil de manière plus efficace.

Initialement, il se peut que la productivité baisse, car les équipes doivent se familiariser aux nouveaux workflows. Accordez-leur une période de transition pendant laquelle elles déterminent la meilleure façon d'intégrer l'IA dans leurs processus.

4. Intégrer l'IA à une plateforme DevSecOps par une approche holistique

Pour contrer les difficultés liées à l'ajout de fonctionnalités d'IA dans leurs processus de développement, les entreprises ont la possibilité d'adopter une plateforme DevSecOps. Celle-ci intègre des fonctionnalités d'IA telle que la génération de code, les résumés des discussions et les explications des vulnérabilités, le tout alimenté par l'IA, à chaque étape du cycle de développement logiciel. Les plateformes DevSecOps offrent un workflow centralisé et simplifié aux développeurs et aux équipes de sécurité. Ils peuvent ainsi collaborer plus efficacement et détecter les problèmes potentiels dès les premières étapes du développement.

Les outils de revue de code et de test du code alimentés par l'IA au sein d'une plateforme DevSecOps facilitent l'identification et la correction des failles de sécurité ou des erreurs de programmation avant leur déploiement. Non seulement cette approche permet de gagner du temps, mais elle réduit également la dette technique et améliore la qualité globale du logiciel. Lorsque les outils alimentés par l'IA sont directement intégrés à la plateforme, les équipes peuvent aussi s'aider de l'IA pour l'analyse des causes profondes. Il est ainsi facile de corriger les erreurs dans les pipelines CI/CD et de publier plus rapidement un code sécurisé. L'objectif est de mettre en œuvre un scan automatisé de la qualité et de la sécurité pour l'ensemble du code produit par l'entreprise, en particulier celui généré par l'IA.

Les équipes peuvent en outre facilement mesurer le retour sur investissement de l'IA grâce au tableau de bord d'analyse d'impact de l'IA de la plateforme DevSecOps de GitLab.

L'IA joue un rôle essentiel dans l'évolution des plateformes DevSecOps. Elle transforme de manière significative la collaboration des équipes de développement, de sécurité et des opérations tout en accélérant le processus de développement logiciel, sans compromettre la qualité ni la sécurité. Les dirigeants d'entreprise souhaiteront sans nul doute comprendre si leurs investissements dans les outils alimentés par l'IA se traduisent en résultats concrets. Ainsi, les développeurs et développeuses devraient accueillir positivement cette attention et saisir l'occasion de démontrer comment leur travail contribue aux objectifs globaux de l'entreprise.

En adoptant une approche holistique pour évaluer la qualité du code, la collaboration, les coûts en aval et l'expérience développeur, il est facile de tirer parti des technologies de l'IA pour renforcer les efforts humains d'une équipe.

Comment intégrer l'utilisation de l'IA dans les processus de développement logiciel

Lisez notre e-book (en anglais) pour découvrir des conseils pratiques qui vous aideront à créer un framework stratégique pour intégrer l'IA et développer des logiciels sécurisés plus rapidement.
Lire l'e-book

Principaux points à retenir
  • L'efficacité de l'IA dans le développement logiciel ne se limite pas aux gains de productivité qu'apporte, par exemple, la génération de code. Son impact sur la qualité du code, la maintenance, les tests et la sécurité doit également être pris en compte.
  • L'intégration réussie de l'IA repose sur une approche holistique. Les données quantitatives issues du cycle de développement logiciel complètent des informations qualitatives venant des développeurs pour déterminer l'impact de l'IA sur leurs stratégies.
  • Lorsqu'une approche adaptée est mise en place, l'IA peut renforcer la collaboration, améliorer la qualité du code et soutenir les objectifs de l'entreprise sans compromettre la qualité ni la sécurité des logiciels.