Comment équilibrer les risques et les avantages du codage avec l'IA générative
La course est lancée pour intégrer des outils d'IA dans les processus de développement logiciel. Si la productivité est en hausse, les risques le sont aussi. Exigez des garde-fous.
default
Après que le fournisseur de logiciels de vente et de marketing ZoomInfo a déployé des outils d’IA générative (GenAI) auprès de ses près de 900 développeurs, 90 % d’entre eux ont déclaré accomplir leurs tâches en 20 % de temps en moins. En outre, 70 % des développeurs ont indiqué que l’IA générative avait amélioré la qualité de leur travail, précise Ali Dasdan, directeur technique.
Chez Greenlane—une joint-venture entre Daimler Truck, NextEra Energy et BlackRock qui s’efforce de développer un réseau public national de recharge zéro émission pour les véhicules utilitaires zéro émission—le directeur de la technologie (CTO) Raj Jhaveri a constaté que l’IA générative permettait à chaque ingénieur en assurance qualité d’économiser deux à trois heures de travail lors du test de chaque version logicielle. Cette technologie permet également aux développeurs de gagner des heures dans leur recherche de bibliothèques de code à réutiliser.
Avec de tels gains de productivité, il n’est pas surprenant que l’engouement pour l’IA générative et son adoption ne montrent aucun signe de ralentissement. Selon un rapport d’enquête trimestriel publié par la société d’études pour développeurs SlashData en juin 2024, 59 % des développeurs dans le monde utilisent des outils d’IA dans leurs workflows de développement. Ce constat concorde avec une étude menée en 2023 par Gartner prédisant que d’ici 2028, 75 % des ingénieurs logiciels d’entreprise utiliseront des assistants de codage basés sur l’IA générative.
Pour les développeurs d’applications et les programmeurs, les outils d’IA générative sont polyvalents et utiles. Ils peuvent créer des requêtes de base de données. Ils peuvent migrer le code hérité vers de nouvelles plateformes. Ils peuvent écrire des tests logiciels. Ils peuvent répondre à des questions axées sur l’entreprise (« Aidez-moi à définir la structure du site pour une boutique de commerce électronique ») et à des requêtes hautement techniques (« Quels sont les raccourcis clavier pour l’IDE Visual Studio lors du travail avec C# ? »).
Pour les entreprises qui équipent leurs développeurs d’outils d’IA, les avantages potentiels sont une réduction des coûts de développement, ainsi qu’une efficacité et une innovation accrues. Mais ce que nous appelons l’adoption secrète de l’IA— lorsque les développeurs contournent les directives de l’entreprise — expose les entreprises à un certain nombre de risques : code défectueux ou malveillant, perte de données propriétaires, violation des droits d’auteur et coût à long terme de la maintenance d’un code généré par l’IA que personne ne peut comprendre.
4 questions que les dirigeants d'entreprise doivent poser aux DSI sur l'IA et le développement logiciel
- Savez-vous lesquels de vos développeurs utilisent l'IA pour développer des logiciels, et comment ils l'utilisent ? Si ce n'est pas le cas, quel est votre plan pour surveiller leur utilisation ?
- Comment vous assurez-vous que le code utilisé pour entraîner ces outils de développement d'IA ne nous exposera pas à une responsabilité juridique ou en matière de sécurité ?
- Comment limitez-vous notre responsabilité en cas de pertes financières ou autres causées par les résultats de ces outils d'IA ?
- Comment vous assurerez-vous que ces outils de développement assistés par l’IA ne créent pas une nouvelle génération de dette technique coûteuse qui ralentira l’innovation future ?
Demandez-vous : quels avantages pour l’entreprise, et quels risques potentiels ?
Les dirigeants sont particulièrement préoccupés par les risques liés à l'utilisation sans restriction des outils de programmation d'IA générative.
« Les dirigeants technologiques et d'entreprise ont plus peur qu'ils n'en ont conscience », déclare Yugal Joshi, associé chez Everest Group. Les problèmes potentiels de sécurité sont « comme une épée suspendue au-dessus de leur tête. [L'IA] n'est pas quelque chose pour lequel ils veulent risquer leur carrière. Trouver les bons cas d'utilisation initiaux est un challenge. Et même si ce cas d'utilisation est au point, si vous le répliquez à l'échelle de l'entreprise, les mêmes problèmes recommencent. »
Pour optimiser en toute sécurité les avantages du développement de l’IA générative, les directeurs informatiques et les directeurs technologiques peuvent adopter une approche en trois volets. Tout d’abord, sensibilisez les parties prenantes internes (du conseil d’administration aux dirigeants en passant par les responsables d’unités opérationnelles) sur la manière précise dont le développement peut aider au mieux l’entreprise et comment les risques peuvent lui nuire. Ensuite, déployez les outils de développement d’IA générative suffisamment rapidement pour éviter que les développeurs ambitieux n’aillent exercer leurs compétences ailleurs, tout en donnant la priorité à l’utilisation de l’IA générative pour les applications qui apportent le plus d’avantages à l’entreprise. Enfin, tenez les développeurs et les fournisseurs pour responsables de la qualité et de la sécurité du code que ces outils permettent de produire.
Les outils de codage d’IA générative sont entraînés en examinant et en reconnaissant des modèles et en tirant des déductions à partir de grandes quantités de code et d’autres données. Ils proposent ensuite des suggestions basées sur les invites d’un développeur. Jusqu’à présent, il existe plusieurs domaines prometteurs dans lesquels les outils de développement logiciel assistés par l’IA générative peuvent réduire les coûts et augmenter la productivité :
- Trouver du code réutilisable, ce qui permet d'éliminer le temps et les coûts requis pour le recréer et le tester.
- Examiner le code à la recherche de défauts afin de vérifier qu'il peut être utilisé en toute sécurité.
- Documenter la source du code, ainsi que sa fonction prévue, ce qui rend sa maintenance et son amélioration plus faciles et moins coûteuses.
- Rédaction de scénarios de test logiciels, réduction des tests manuels.
- Modernisation du code hérité pour une utilisation sur de nouvelles plateformes, telles que le cloud.
- Former les jeunes développeurs aux nouveaux outils et langages de développement.
En gardant ces points à l’esprit, examinons comment tirer le meilleur parti des outils de développement d’IA générative pour le codage.
Les avantages du codage assisté par l’IA générative : productivité, innovation et moral
L’avantage le plus évident pour l’entreprise lié au déploiement d’outils de codage basés sur l’IA générative est le développement plus rapide, et moins coûteux, de nouvelles applications et de nouveaux services pour répondre à l’évolution des besoins de l’entreprise.
En juin 2023, une enquête de McKinsey Digital menée auprès de plus de 40 de ses propres développeurs a révélé qu’ils peuvent accomplir des tâches de codage jusqu’à deux fois plus vite grâce à l’IA générative. Elle a également indiqué que, selon les développeurs, l’IA générative leur permet de produire du nouveau code en deux fois moins de temps et de refactoriser le code (le rendant plus facile à comprendre et à améliorer sans en modifier le fonctionnement) en près des deux tiers du temps.
Chez SAP, des enquêtes internes menées auprès des 500 premiers utilisateurs d'outils d'IA générative ont révélé un effet « nettement positif » sur leur charge cognitive, leur flux de travail et leurs boucles de rétroaction, indique Sumeet Shetty, responsable de Tools India chez SAP. Plutôt que de diviser leur attention entre plusieurs écrans pour l'édition et la recherche de code, les développeurs voient désormais des suggestions de code directement au sein de l'éditeur de code, ce qui leur permet de rester concentrés sur le codage, précise-t-il.
Fournir un accès à de tels outils constitue également un facteur de fidélisation des talents. McKinsey a rapporté que les développeurs utilisant des outils basés sur l'IA générative étaient plus de deux fois plus susceptibles de faire état d'un bonheur général, d'épanouissement et d'un état de « flow », ou d'une profonde implication dans leur travail.
Le temps gagné représente un autre avantage potentiel : les développeurs peuvent l’utiliser pour créer de nouvelles applications innovantes ou le consacrer à la résolution de l’arriéré d’améliorations qui stagnent sur la liste de tâches de leur entreprise, selon McKinsey.
Risques à prévenir avec le codage assisté par l’IA générative : aspects juridiques, conformité et sécurité
Si les avantages du déploiement de l’IA générative pour accompagner les développeurs sont considérables, les inconvénients potentiels le sont tout autant. Même si les outils d’IA générative peuvent automatiser et accélérer de nombreuses tâches, les dirigeants des secteurs métier et informatique doivent gérer leur utilisation avec prudence.
Par exemple, ces outils de développement peuvent suggérer du code qui fournit des résultats erronés, expose des données propriétaires, infecte les systèmes de l’entreprise avec des logiciels malveillants ou pénalise les entreprises avec du code de mauvaise qualité et difficile à maintenir. Tous ces risques peuvent entraîner une perte de chiffre d’affaires, de parts de marché et de réputation, ainsi que des coûts plus élevés, une flexibilité réduite, de lourdes amendes ou une publicité défavorable.
Les dirigeants d’entreprise doivent également être conscients de la dette technique — le travail futur qui sera nécessaire pour maintenir une nouvelle application — que le développement assisté par l’IA générative peut engendrer.
Certains développeurs sont conscients de ce problème. Une enquête menée par Sourcegraph, fournisseur d’un outil de recherche et d’analyse de code, a révélé que les développeurs consacrent seulement 14 % de leur temps à écrire du nouveau code pour les produits principaux. Ils consacrent le reste de leur temps à rechercher, comprendre et corriger le code existant. L’enquête a révélé que plus de 6 répondants sur 10 s’inquiètent du risque que l’IA générative accroisse la « prolifération du code » dans leurs organisations, ce qui détourne du temps de tâches plus productives.
Plus la qualité du code produit à l’aide de l’IA générative est faible, plus il nécessitera de travail futur, et plus la dette technique de l’organisation sera élevée.
Le coût est susceptible de s’accumuler. GitClear, fournisseur d’outils de suivi des métriques de développement, a analysé 153 millions de lignes de code créées entre janvier 2020 et décembre 2023 et a constaté des « tendances préoccupantes pour la maintenabilité ». Le churn de code — le pourcentage de lignes qui sont annulées ou mises à jour moins de deux semaines après leur création — devrait doubler en 2024 par rapport à son niveau de référence de 2021, avant l’IA générative.
Tout cela, indique le rapport, suggère que l'IA générative peut amener des développeurs inexpérimentés à accepter du code qui devra par la suite être corrigé ou amélioré, plutôt que de réutiliser du code qui s'est avéré sûr et stable.
Acheteurs d'IA, méfiez-vous : sachez comment fonctionne votre IA
Les entreprises sont tenues pour responsables si leurs systèmes d’IA portent préjudice à quelqu’un. Voici comment vous préparer.
Trois étapes pour maximiser les avantages du codage assisté par l’IA générative
Trouver l’utilisation idéale de l’IA générative dans le développement continuera de représenter un défi à mesure que les modèles et les outils d’IA évolueront. Mais les responsables des activités et de la technologie peuvent dès à présent prendre trois mesures judicieuses et économiques pour veiller à ce que leurs équipes tirent le meilleur parti de l’efficacité et de l’innovation offertes par le développement logiciel assisté par l’IA générative, tout en réduisant au minimum les risques en matière de sécurité, de conformité et de responsabilité.
1. Sensibiliser l’entreprise au développement assisté par l’IA générative.
Les DSI et les autres responsables techniques doivent sensibiliser leurs homologues au fonctionnement exact des outils de développement assistés par l’IA et à leurs répercussions sur des domaines tels que le juridique, la conformité et la sécurité, afin qu’ils puissent prendre des décisions éclairées lorsque les risques l’emportent sur les avantages.
Chez SAP, Shetty a développé un processus d'Onboarding pour les équipes de développement. Alors que SAP a étendu l'utilisation du codage assisté par l'IA à plus de 15 000 développeurs à l'échelle de l'entreprise, Shetty et son équipe organisent des présentations par des intervenants experts pour encourager les équipes de développement à utiliser le codage assisté par l'IA.
Qu'est-ce que l'éthique de l'IA ?
L'éthique de l'IA englobe un large éventail de questions, notamment l'équité, la transparence, la responsabilité, la protection de la vie privée, la sécurité et les incidences potentielles sur la société.
2. Gérer le déploiement.
Les interdictions totales des outils de développement d’IA générative sont difficiles, voire impossibles, à appliquer et ne feront que favoriser une adoption clandestine. Cependant, les premiers utilisateurs trouvent des moyens de maîtriser le déploiement des outils de développement d’IA générative tout en maintenant les contrôles essentiels.
SAP a d'abord déployé un assistant de codage basé sur l'IA générative auprès de 500 précurseurs tout en informant les près de 20 000 autres du moment où ils y auraient également accès. Cette communication claire a permis d'éviter l'utilisation d'assistants de codage IA non autorisés, explique Shetty.
Chez Greenlane, l'approche consiste à encadrer les domaines dans lesquels les développeurs utilisent les outils d'IA générative. Jhaveri a déclaré que son entreprise évitait d'utiliser l'IA pour développer le logiciel central qui contrôlera son réseau de recharge pour véhicules électriques commerciaux. Il limite plutôt son utilisation à des activités de support, telles que la revue de code existant, la recherche de bibliothèques logicielles réutilisables et la rédaction de tests de code automatisés.
Bien que les outils d’IA générative offrent un excellent environnement d’apprentissage aux développeurs débutants et intermédiaires, Jhaveri préconise une analyse au cas par cas de chaque utilisation potentielle de l’IA générative pour le développement. Par exemple, l’utilisation d’un tel outil pour convertir une application mobile codée dans un langage vers un autre pourrait exposer votre propriété intellectuelle au monde extérieur. Toutefois, il ajoute : « Si vous testez l’expérience utilisateur et que cela n’est ni spécifique au code, ni fonctionnel, vous pouvez probablement éviter d’exposer des éléments sensibles », affirme-t-il.
Jhaveri a indiqué qu’il demandait également à tout développeur souhaitant obtenir une licence pour un outil d’IA générative de lui présenter l’utilisation prévue, car en acheter pour l’ensemble de nos utilisateurs peut devenir très rapidement coûteux. « Nous ne voulons pas non plus que nos développeurs deviennent trop dépendants » de l’outil, explique-t-il. « Si vous recrutez un profil expérimenté et que vous constatez une utilisation excessive de [l’IA générative] pour des tâches élémentaires, il vaut mieux intervenir le plus tôt possible. »
Adoption de l’IA en 2024 : observations tirées d’une enquête SAP
L'IA a le vent en poupe, et les dirigeants d'entreprise le reconnaissent, selon une enquête menée en 2024 auprès des clients SAP.
3. Tenez les développeurs et les fournisseurs responsables de la qualité de leur code.
Pour minimiser les risques et garantir des expériences client de qualité, il est essentiel de rappeler aux développeurs que tout code qu’ils produisent, avec ou sans l’aide de l’IA générative, relève de leur responsabilité. Cela signifie qu’il leur incombe de respecter des précautions de bon sens, telles que tester régulièrement la présence de logiciels malveillants et garantir la facilité d’utilisation, la sécurité et la légalité de tout code open source qui leur est suggéré par un outil d’IA.
Créer et diffuser une politique de sécurité de l’IA ne suffit pas. Un rapport de 2023 publié par le fournisseur de solutions de sécurité pour développeurs Snyk a révélé que 80 % des développeurs interrogés contournent les politiques de leur employeur concernant l’utilisation d’outils de développement d’IA, et que seulement 25 % d’entre eux utilisent un outil d’analyse automatisé pour garantir la sécurité du code suggéré par ces outils.
Chez SAP, « nous sensibilisons les développeurs à leur responsabilité d’utiliser des assistants de codage IA. Nous précisons que l’assistant de codage IA n’est qu’un copilote. En tant que pilote, le développeur garde fermement le contrôle de son code », déclare Shetty. « Nous avons créé une liste de choses à faire et à ne pas faire afin que nos développeurs utilisent les assistants de codage IA de manière responsable chez SAP, qui comprend les conseils d’experts sur les questions juridiques, de protection des données, de confidentialité et de sécurité. »
Selon l’étude GitClear, une supervision de la direction est également nécessaire pour réduire la quantité de code non contrôlé que les développeurs copient-collent dans de nouveaux systèmes, lesquels devront finalement être examinés ou corrigés. Selon l’étude, sans un « CTO ou VP de l’ingénierie qui consacre activement du temps à réduire la dette technique », il est trop facile de laisser ce type de code se retrouver en production et devenir un futur casse-tête pour l’entreprise.
La surveillance doit également s’étendre aux fournisseurs qui proposent les outils d’IA générative d’une entreprise.
Joshi d’Everest Group recommande de demander à ces fournisseurs comment leurs outils d’IA vérifient la présence de code protégé par des droits d’auteur dans les données utilisées pour entraîner leurs modèles, quels niveaux de sécurité des accès ils maintiennent pour leurs environnements de développement, et comment ils se protègent contre le piratage d’e-mails ou le hameçonnage.
Joshi recommande également aux entreprises de comprendre la politique d’indemnisation d’un fournisseur dès le début de leurs négociations contractuelles. Certains fournisseurs peuvent ne proposer une telle politique qu’à des clients spécifiques, explique-t-il.
Andy Thurai, vice-président et analyste principal chez Constellation Research, recommande de mettre la pression sur les fournisseurs. Les entreprises peuvent prendre des mesures telles qu’exiger de leurs fournisseurs une instance d’IA générative isolée et hébergée exclusivement pour elles (par opposition à un système multi-entité également utilisé par d’autres), une interface sécurisée pour le modèle d’IA générative, l’isolation des données d’entreprise protégées par un pare-feu face aux données d’autres entreprises, et la garantie que les fournisseurs ne stockeront ni n’utiliseront les données de l’entreprise pour réentraîner leurs modèles, précise-t-il.
« Si vous utilisez un outil d’IA qui n’offre pas d’indemnisation illimitée pour les résultats qu’il produit et leurs dérivés, votre entreprise sera exposée à des responsabilités », déclare Thurai. « Les gains d’efficacité et les économies de coûts découlant de leur utilisation ne valent peut-être pas les risques de responsabilité juridique auxquels votre entreprise est exposée. »
Perfectionner vos collaborateurs pour l'ère de l'IA
Conseils destinés aux entreprises et aux collaborateurs pour intégrer l'IA dans le travail existant et saisir les opportunités de développement des compétences.
Gérer l'avenir
L’enthousiasme suscité par les outils de développement intégrant l’IA générative est compréhensible compte tenu des avantages offerts. Mais alors même que les entreprises mettent en balance ces avantages et les risques introduits par ces outils, il convient de prendre le temps de réfléchir à la prochaine série de défis liés à l’utilisation d’outils de développement assistés par l’IA.
Par exemple, la prolifération des outils d'IA générative signifiera-t-elle que les développeurs perdront leurs compétences de base en programmation en raison d'une dépendance excessive à l'IA générative ? Quel sera l'effet sur la culture d'entreprise si les développeurs en viennent à compter davantage sur l'IA que les uns sur les autres ?
À court terme, les dirigeants d’entreprise doivent satisfaire la curiosité de leurs développeurs pour les assistants de codage optimisés par l’IA et réduire les risques pour l’entreprise en mettant en place les consignes de sécurité et autres directives appropriées. Les avantages sont trop importants pour attendre. Si les entreprises attendent que l’IA générative produise un code parfait, elles passeront à côté de gains d’efficacité et d’une amélioration du moral de leurs équipes. La meilleure approche consiste à utiliser l’IA générative pour le codage, mais avec des garde-fous. Ne prenez pas ses résultats pour parole d’évangile.