L'IA révolutionne le développement de logiciels, le rendant plus efficace, productif et innovant. Dans cet article, nous explorons l'impact de l'IA dans le développement de logiciels, en approfondissant les informations tirées de notre enquête sur GitHub Copilot réalisée par l'équipe R&D d'ELEKS.
À mesure que le monde du développement logiciel continue d’évoluer, le rôle de l’IA devient de plus en plus important. Avec des avantages tels que la possibilité de réduire le temps et les efforts nécessaires au codage, il n’est pas étonnant que l’IA dans le développement de logiciels soit un sujet brûlant de nos jours.
92 % des développeurs basés aux États-Unis utilisent déjà des outils de codage d’IA au travail et en dehors. -GitHub
70 % des développeurs estiment que les outils de codage d'IA leur donneront un avantage distinct dans leurs efforts professionnels, notamment une qualité de code améliorée, un temps de réalisation réduit et des capacités améliorées de résolution d'incidents. -GitHub
4 développeurs sur 5 s'attendent à ce que les outils de codage d'IA rendent leur équipe plus collaborative. -GitHub
Bien que l’IA n’ait pas atteint le stade où elle peut créer, tester et lancer des produits logiciels de manière indépendante sans intervention humaine, par rapport au passé, elle a considérablement accéléré le délai d’exécution global.
De nombreux outils basés sur l'IA sont disponibles pour aider au développement d'applications personnalisées en générant et en complétant automatiquement du code, ainsi qu'en détectant et en corrigeant les bogues. L'équipe de recherche et de développement d'ELEKS a évalué en profondeur l'un de ces outils, GitHub Copilot, pour évaluer son influence sur les tâches des développeurs, la durée d'exécution et les normes de qualité des recommandations fournies. Regardons de plus près.
GitHub Copilot est un outil de saisie semi-automatique et de génération de code. Il est construit sur la base d'OpenAI Codex et formé sur des référentiels publics GitHub. En conséquence, il suggère du code pour n’importe quel langage de programmation. Cependant, la qualité des propositions dépend du nombre de référentiels publics basés sur un langage et un cadre de programmation spécifiques.
GitHub Copilot fonctionne avec le code du programme à l'aide des plugins Integrated Development Environment (IDE). Seuls les IDE suivants sont actuellement pris en charge :
Cette enquête visait à explorer l'impact de l'utilisation de Copilot sur la vitesse et la qualité du développement.
Pour mener cette étude, un petit projet animalier a été lancé afin de tester diverses hypothèses. Avec une équipe composée de quatre développeurs intermédiaires qualifiés et possédant une expertise en React, Redux, TypeScript, Jest, Vite, PHP, Symfony et Codeception, nous avons commencé l'enquête et défini nos objectifs et nos approches comme suit.
But | Approche |
---|---|
Évaluer la dépendance entre la compétence et les performances du développeur lors de l'utilisation de Copilot | Nous avons sélectionné le framework Symfony pour le développement back-end. L’équipe back-end n’avait aucune expérience substantielle avec ce framework. |
Étudier l'impact sur les tâches typiques des développeurs | Avant le démarrage du projet, nous avons créé un WBS qui couvrait le travail typique d'un développeur sur un projet commercial. Nous avons également mené une séance d’estimation des tâches. |
Étudier l'impact sur les langages et les frameworks de programmation par popularité | Nous avons développé une application web avec couverture de tests. |
Évaluer l’impact sur le temps de réalisation des tâches | Nous avons fait une estimation préliminaire des tâches individuelles du projet. |
Améliorer l’efficacité de la recherche | Nous avons mené des sessions de partage de connaissances au sein de l'équipe lors de synchronisations quotidiennes. |
Explorez la qualité des suggestions | Nous avons testé comment Copilot gère une structure de projet non classique et plus complexe. |
L'enquête d'ELEKS sur GitHub Copilot a donné plusieurs résultats clés qui mettent en lumière les capacités et les avantages de l'outil. Voici une description plus détaillée :
Veuillez noter que les résultats de l'enquête sont basés sur les commentaires subjectifs de l'équipe, les observations de leur travail et les révisions de code de leurs solutions.
5 à 10 % de l'augmentation moyenne de la productivité des membres de l'équipe. - L'équipe R&D ELEKS
Par ailleurs, au cours du projet, l'équipe a rencontré plusieurs bugs dans GitHub Copilot. Par exemple, Copilot a proposé des suggestions de code basées sur le code d'un autre projet ouvert dans une autre fenêtre de l'EDI. Il proposait un code syntaxiquement incorrect. Copilot entre en conflit avec les fonctionnalités de certains plugins (intégrés ou ajoutés par un tiers) qui disposent également d'une fonctionnalité de saisie semi-automatique du code.
GitHub Copilot est un outil puissant qui a un impact positif sur la vitesse de développement et la satisfaction professionnelle des développeurs. Comme tout autre outil de développement, sa maîtrise demande du temps.
À l’heure actuelle, une licence mensuelle individuelle ne coûte que 10 $, tandis que le plan commercial coûte 19 $ par mois. GitHub Copilot sera sans aucun doute financièrement avantageux pour une utilisation sur les projets, en particulier pour les spécialistes de niveau de compétence intermédiaire et supérieur.
L'équipe prédit qu'avec la croissance de l'expérience avec GitHub Copilot, la vitesse de développement peut augmenter de 5 à 25 %, en fonction de la popularité de la technologie et du niveau de compétence du développeur. GitHub Copilot est assuré de ne pas ralentir le développement, car les développeurs acquerront progressivement l'expertise et la compréhension des moments où il est avantageux d'utiliser l'outil et des moments où il ne l'est pas.
En conclusion, l’impact de l’IA dans le développement de logiciels, illustré par des outils comme GitHub Copilot, est indéniable. Dans l'ensemble, des outils tels que GitHub Copilot ne peuvent pas remplacer un développeur mais constituent des outils précieux pour améliorer le confort et la productivité des développeurs, contribuant ainsi à l'évolution du développement logiciel dans un monde de plus en plus axé sur l'IA.
Ouvrez la voie à un processus de développement logiciel efficace et à des résultats réussis, contactez les experts ELEKS .
Également publié ici .