L'IA générative dans le développement logiciel, un premier bilan
Génération de codes, de documentation, de tests unitaires, etc. Le développement est l'un des premiers domaines exploitant largement l'IA générative. Mais quel bilan en font les pionniers ? Les bénéfices sont réels, mais tout n'est évidemment pas aussi rose que sur les plaquettes marketing.
PublicitéL'IA générative a déjà un impact sur de nombreux domaines de l'informatique, en particulier sur le développement de logiciels. Les premiers cas d'usage sur ce terrain comprennent la génération de code et l'écriture de la documentation, la génération de cas de test et l'automatisation des tests, ainsi que l'optimisation du code et le remaniement de celui-ci, entre autres.
Pour le développement de logiciels, elle n'en est cependant encore qu'à ses balbutiements, de sorte que les DSI et les équipes de développement peuvent s'attendre à rencontrer des obstacles sur la route. Mais les premiers résultats indiquent que la technologie peut apporter des avantages au processus de création et d'amélioration des applications, sous réserve de certaines conditions.
Assistance tout au long du cycle de développement
L'IA générative « a ouvert l'ensemble des connaissances que les développeurs peuvent exploiter, le tout dans un paradigme de type conversationnel », estime Prasad Ramakrishnan, vice-président senior de l'informatique et DSI chez Freshworks, un fournisseur de logiciels de service client. « C'est un peu comme si nous avions un nouveau collègue de bureau avec qui réfléchir. Le premier accès à la Gen AI a permis à notre équipe de développer du code en quelques jours, au lieu de quelques semaines », reprend ce dernier.
Selon Prasad Ramakrishnan, la clé du succès dans le cycle de vie du développement logiciel réside dans le processus d'assurance qualité et de vérification. « La maturité d'une organisation de développement peut facilement être mesurée en termes de niveau et de type d'investissement dans l'assurance qualité, ajoute-t-il. L'IA joue un rôle en aidant à effectuer des révisions de code et à détecter rapidement les problèmes potentiels. » La Gen AI réduit également le temps nécessaire à la réalisation des tests, grâce à l'automatisation, ajoute le DSI.
Entraîner les LLM sur sa base de codes
La société de services financiers Vanguard expérimente également des outils d'IA générative - avec une supervision et une expertise humaines systématiques - pour amener des gains de productivité au sein de ses équipes de développeurs, indique Nitin Tandon, son DSI. « Le développement de logiciels et de codes reste un domaine de grande valeur pour l'expérimentation, en plus du développement de contenu et de la gestion des connaissances, dans le but de stimuler l'efficacité opérationnelle », dit-il.
Les premiers résultats d'un programme pilote sont encourageants, selon Nitin Tandon, les développeurs indiquant que l'IA générative rationalise la génération de code, le débogage et améliore la cohérence du code. « Les développeurs juniors signalent les plus grands gains de productivité, mais cela reste un domaine ouvert de recherche et d'expérimentation », précise le DSI.
Publicité« En outre, nous envisageons d'entraîner des LLM (grands modèles de langage, NDLR) sur notre base de code afin de débloquer d'autres gains de productivité pour nos développeurs et ingénieurs data. En raison du grand nombre de développeurs présents chez Vanguard, même une augmentation modérée de la productivité peut générer une valeur significative pour nos clients », estime Nitin Tandon.
Renforcer l'assurance qualité
Le fournisseur de technologies financières Momnt utilise Github Copilot, un outil d'IA basé sur le cloud développé par GitHub de Microsoft et OpenAI pour aider les utilisateurs de diverses plateformes de développement en complétant automatiquement le code. Ses équipes de développement, comprenant des professionnels de l'ingénierie et de l'assurance qualité, utilisent la technologie notamment pour le développement de la plateforme de prêt de l'entreprise.
« Nous voulons que nos développeurs de logiciels et nos ingénieurs utilisent l'IA et les outils d'IA générative pour aider à générer divers cas de test, et que nos ingénieurs qualité utilisent ces outils pour mener des évaluations plus approfondies sans perdre de temps », explique Brian Lanehart, président et CTO de Momnt.
« Jusqu'à présent, l'adhésion de nos équipes aux nouvelles solutions technologiques et à l'IA générative a été positive, ajoute Brian Lanehart. Elles continuent d'être curieuses, à la recherche de nouveaux outils à mettre en oeuvre dans leurs processus quotidiens. Cela permet non seulement de rationaliser les tâches quotidiennes, mais aussi d'améliorer l'efficacité globale. » Au fur et à mesure que les équipes de développement se familiarisent avec ces outils, leur compréhension de la technologie et leur capacité à les appliquer à divers scénarios métiers apporteront encore davantage de valeur, juge le CTO.
« Par exemple, le fait de pouvoir communiquer l'intégralité d'une demande d'évolution à une IA qui va générer tout le code nécessaire permet de réduire considérablement la durée dévolue à, cette tâche », illustre Brian Lanehart. Cela signifie qu'un ingénieur ou une équipe peut consacrer plus de temps à une réflexion créative ou stratégique sur l'ensemble du projet et sur la manière de l'améliorer.
Manipuler la documentation associée au logiciel
« L'équipe de développement de l'entreprise de logiciels Zoominfo était impatiente d'expérimenter les outils d'IA générative dès qu'ils ont été disponibles l'année dernière pour une utilisation à grande échelle, explique son directeur technique, Ali Dasdan. L'un des premiers scénarios d'utilisation a donné aux développeurs l'accès à Github Copilot. Après un premier succès, ZoomInfo a commencé à intégrer l'IA générative dans l'ensemble de son organisation afin d'améliorer la productivité, explique le CTO. Par exemple pour des usages tournés vers la recherche et la synthèse.
« Le développement de logiciels nécessite une documentation abondante, explique Ali Dasdan. Les documents tels que les exigences du produit et les designs d'architecture sont la norme dans les organisations bien gérées, mais les équipes de développement ont besoin de beaucoup de temps pour examiner ces documents. La Gen AI a permis de gagner un temps considérable en résumant et en indexant ces documents en quelques minutes seulement. » Le succès de cet essai a conduit l'entreprise à obtenir des licences pour la quasi-totalité de ses développeurs de logiciels. « Toutefois, nos ingénieurs doivent encore examiner le code créé par l'outil, précise le CTO. Nous avons d'ores et déjà accepté des dizaines de milliers de lignes de code générées par l'IA, un gain de temps considérable. »
Limites et impacts sur l'équipe
L'un des principaux enseignements tirés de l'utilisation de l'IA générative reste toutefois qu'elle ne remplacera pas les développeurs humains. Chez BDO Digital, fournisseur de services informatiques, le potentiel de l'IA générative dans la création de logiciels complexes a d'abord suscité une « vague d'enthousiasme », explique Kirstie Tiernan, directrice de la pratique en matière de données et d'IA de l'entreprise.
« Cependant, nous avons rapidement appris que l'IA est un outil qui permet d'augmenter l'expertise humaine, non de la remplacer, souligne-t-elle. La nécessité d'une supervision humaine pour garantir la qualité et les fonctionnalités du code généré par l'IA est rapidement devenue évidente. Il s'agit d'un partenariat dans lequel l'IA prend en charge une partie des tâches les plus lourdes, ce qui permet aux développeurs de se concentrer sur la résolution de problèmes stratégiques. »
L'un des principaux enseignements que BDO tire de cette expérience ? L'importance d'intégrer les outils d'IA dans les flux de travail existants. « Il ne s'agit pas seulement d'adopter de nouveaux outils, mais plutôt de savoir comment les équipes de développement fonctionnent, communiquent et collaborent, explique Kirstie Tiernan. Le processus d'intégration met en évidence le besoin de flexibilité et d'adaptabilité dans toutes nos pratiques de développement. »
L'une des surprises les plus intéressantes qu'a connue BDO a été l'impact de l'IA sur la créativité et l'innovation. « L'automatisation des tâches routinières a permis aux développeurs de relever des défis plus complexes et d'explorer des solutions plus innovantes », explique sa responsable.
Le besoin de profils spécialisés ?
Comme avec toute nouvelle solution technologique, l'un des plus grands défis consiste à déterminer dans quelle mesure une équipe doit intégrer l'outil ou s'y fier, explique Brian Lanehart de Momnt. « L'une de nos convictions fondamentales est d'utiliser la technologie pour renforcer et accompagner les personnes, explique-t-il. Nous savions donc que nous ne voulions pas que l'IA et la Gen AI remplacent nos employés. Au contraire, nous voulions que les outils complètent les compétences que ces personnes apportent et les aident à fonctionner de manière plus efficace. »
Dans l'ensemble, le secteur des technologies est de plus en plus demandeur de personnes capables de superviser, de mettre en oeuvre et d'exploiter des outils d'IA générative, explique Brian Lanehart. Il peut s'agir, par exemple, d'un employé qui fait partie de l'équipe de développement de produits, mais dont l'expertise principale porte sur ChatGPT ou Copilot.
L'IA générative devenant de plus en plus répandue, « nous voyons l'intérêt d'avoir des personnes qui ont une formation polyvalente sur ces outils, reprend Brian Lanehart. Nous voulons des personnes capables de résoudre de nouveaux problèmes de diverses manières, et nous voulons qu'elles apportent ces connaissances à notre équipe. » Momnt a commencé à encourager les membres de son équipe de développement de logiciels à élargir leur compréhension des outils d'IA générative en les appliquant à leurs besoins personnels, tels que la musique, la comédie et d'autres domaines, explique le CTO.
Un nécessaire travail d'ingénierie et d'optimisation
Lyric, une entreprise de technologie pour la santé, exploite la puissance des LLM pour améliorer plusieurs processus, explique Akshay Sharma, son responsable de l'IA. Mais l'une des premières leçons a été la quantité de travail nécessaire pour obtenir la valeur promise par ces outils. « Au départ, ils sont quelque peu génériques, manquent leur cible et ont des hallucinations, explique Akshay Sharma. Mais avec l'ingénierie et la conception appropriées [et en] menant des tests avec des prompts, nous en tirons beaucoup d'avantages. Nous avons dû créer de nombreux cadres d'expérimentation et de test pour évaluer en permanence l'IA générative. »
Prasad Ramakrishnan, de Freshworks, estime que l'IA générative a le potentiel pour permettre aux développeurs de mettre en production des applications plus rapidement ; « toutefois, leur ensemble de compétences devra s'adapter pour devenir des professionnels de l'ingénierie des prompts. Le code généré par l'IA n'aura de valeur et de précision qu'en fonction du type de question posée. »
En outre, le code généré par l'IA doit être vérifié par des développeurs expérimentés pour en confirmer l'exactitude, ajoute le DSI. « Je ne saurais trop insister sur l'importance de la révision des codes générés par des humains. Malgré sa valeur en termes de productivité, l'IA est loin d'être parfaite et nécessite une supervision. » L'utilisation de l'IA dans le développement soulève encore des questions éthiques liées à l'introduction de biais dans les algorithmes, qui peuvent avoir des conséquences inattendues s'ils ne sont pas contrôlés, relève Prasad Ramakrishnan.
Adopter un point de vue de développeur
L'une des meilleures façons de déterminer l'impact de l'IA générative sur les équipes de développement est de demander à ses membres de faire part de leurs expériences. Pour recueillir des commentaires internes sur l'utilisation de GitHub Copilot, ZoomInfo a mené une enquête auprès d'environ 80 de ses développeurs. L'étude a montré que Copilot avait plusieurs points forts.
D'abord sa capacité à générer du code répétitif, ce qui permet aux développeurs de se concentrer sur la logique complexe. Un autre atout réside dans la réduction drastique du temps nécessaire à l'écriture des tests unitaires. « De nombreux utilisateurs signalent que l'outil améliore leur vitesse de production de code en proposant des suggestions utiles et en complétant automatiquement les lignes », ajoute Ali Dasdan de ZoomInfo. Pour la grande majorité des développeurs de la société, Copilot a réduit le temps nécessaire à l'accomplissement de ces tâches de 20 % en moyenne. Environ les deux tiers d'entre eux ont indiqué que l'utilisation de la technologie de Gen AI leur a permis de compléter plus de tâches par sprint, et environ les trois quarts ont dit que la qualité de leur travail s'en est trouvée améliorée.
« Sur la base de ces premiers résultats, nous prévoyons que les outils d'IA générative continueront à améliorer la productivité de nos ingénieurs et à leur faire gagner du temps sur les tâches auxiliaires à l'écriture du code de production », juge Ali Dasdan.
L'avenir de l'IA générative dans le développement
Les responsables du développement interrogés sont d'ailleurs tous convaincus que l'IA générative ne fera que gagner en importance dans le développement. « Le potentiel de gains de productivité amenés par l'IA générative est considérable, affirme Kirstie Tiernan de BDO Digital. À mesure que ces outils s'intègrent dans le tissu du développement logiciel, il est probable que nous assistions à des réductions spectaculaires des délais et des coûts de développement. »
Par exemple, l'automatisation de la génération de code standard et la fourniture de suggestions en temps réel pour la correction de bogues peuvent réduire de moitié le temps traditionnellement nécessaire à certaines tâches de développement, estime la responsable data et IA. « Mais ce qui va vraiment changer la donne, c'est la façon dont l'IA générative nous permet de nous attaquer plus efficacement à des problèmes plus complexes, ajoute-t-elle. L'IA s'occupant des aspects routiniers, les développeurs peuvent se concentrer sur l'innovation stratégique et repousser les limites de ce qui est possible en matière de logiciel ».
Article rédigé par
Bob Violino, CIO US (adapté par Reynald Fléchaux)
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire