L’IA, un outil important pour le développement des logiciels ?

Lecture : 14 minutes
IA
IA

L’intelligence artificielle générative (IA générative) n’est pas qu’une mode, c’est une force de transformation majeure dans le monde du développement logiciel. Le rapport DORA 2024 révèle que 89 % des organisations en font une priorité pour leurs applications, et 76 % des technologues l’utilisent déjà quotidiennement. Cette « ère de l’IA » est alimentée par d’énormes investissements. Mais au-delà de l’enthousiasme, des questions cruciales émergent concernant son impact réel sur les développeurs, les organisations et la performance de livraison. Cet article, basé sur les recherches DORA, plonge dans le paysage actuel, les effets sur les développeurs et les entreprises, et propose des stratégies pratiques pour une intégration réussie et responsable. Alors, l’IA, un outil important pour le développement des logiciels ? On va voir que les avis ne sont pas aussi tranché.

Source : DORA Research: Artificial Intelligence – Impact of Generative AI in Software Development

Cet article est complémentaire du podcast « Impact de l’IA sur le développement logiciel » en accès libre.

Un tremblement de terre dans le développement logiciel

Le paysage du développement logiciel est en pleine mutation grâce à l’IA générative. Les technologues s’appuient déjà sur elle. Les organisations investissent massivement. Les bénéfices pour les individus sont largement favorables. L’IA a un impact substantiel et bénéfique sur le flow, la productivité et la satisfaction au travail. Une augmentation de 25 % de l’adoption de l’IA par un individu est associée à une augmentation estimée de 2,1 % de la productivité. Le flow est également impacté positivement (2,6 % d’augmentation estimée), tout comme la satisfaction au travail (2,2 % d’augmentation estimée). Ces gains découlent en partie de la capacité de l’IA à synthétiser les informations et à fournir des réponses personnalisées, ce qui réduit le changement de contexte et favorise le flow. Étant donné le lien étroit entre productivité, flow et satisfaction au travail, ces augmentations ne sont pas surprenantes.

Temps de travail et valeur

Cependant, l’histoire se complique. Une attente courante était que l’IA libérerait les développeurs des tâches répétitives (toilsome work), leur permettant de se concentrer sur un travail plus précieux (valuable work). Mais les données suggèrent l’inverse : une adoption accrue de l’IA pourrait réduire le temps passé sur le travail précieux, tandis que le temps passé sur le travail pénible semble inchangé. C’est paradoxal, car le travail précieux a historiquement été associé à de meilleures mesures de bien-être comme le flow, la satisfaction et la productivité.

Les chercheurs DORA proposent une hypothèse pour expliquer cela : l’hypothèse du vide. L’IA augmente la productivité et le flow, aidant les gens à travailler plus efficacement. Ils finissent ainsi plus vite le travail qu’ils jugent précieux. Cela crée un « vide » de temps supplémentaire. L’IA n’enlève pas la valeur du travail, elle en accélère la réalisation. Les tâches que les développeurs considèrent comme pénibles (réunions, bureaucratie, etc.) ne semblent pas affectées par l’IA. Heureusement, l’IA ne semble pas avoir aggravé les choses ni affecté négativement le bien-être des répondants.

Acer Chromebook 317 CB317-1H-C7TP

Acer Chromebook 317 CB317-1H-C7TP

479,00 

L’Acer Chromebook 317 CB317-1HT-P1JT se distingue par son grand écran tactile de 17,3 pouces Full HD, offrant un confort visuel inégalé dans la catégorie des Chromebook. Idéal pour ceux qui recherchent un équilibre parfait entre productivité et divertissement sur un écran large.

Catégorie :

Valeurs du travail et l’IA

Les développeurs perçoivent la « valeur » de leur travail sous cinq angles principaux :

  • Valeur utilitaire : l’impact sur le monde. L’IA peut l’augmenter en accélérant le travail.
  • Valeur réputationnelle : la reconnaissance du travail effectué. L’IA peut l’augmenter via la productivité, mais aussi la réduire en compliquant l’attribution de la paternité.
  • Valeur économique : la rémunération. L’IA peut l’augmenter en rendant le travail plus productif, mais aussi la réduire en diminuant la valeur réputationnelle ou en rendant les compétences plus accessibles.
  • Valeur intrinsèque : la pertinence inhérente du travail. L’IA a un impact neutre, car les nouvelles technologies modifient les normes éducatives.
  • Valeur hédonistique : le plaisir et la jouissance. L’IA peut l’augmenter si son utilisation est agréable, mais aussi la réduire si elle rend obsolètes des tâches appréciées. Son impact peut être neut si l’utilisation de l’IA reste optionnelle pour les tâches plaisantes.

L’IA modifie la nature même du développement. Elle offre une opportunité d’acquérir de nouvelles compétences (comme le prompt engineering) et de passer des tâches de routine à la résolution de problèmes de haut niveau. Les développeurs considèrent l’IA comme un outil nécessitant vérification et évaluation critique, similaire à des ressources comme Stack Overflow. Il est crucial qu’ils gardent le contrôle sur son utilisation.

Améliorations et ralentissements dans l’élaboration des logiciels

Au niveau organisationnel, l’IA présente également des impacts significatifs. Une augmentation de 25 % de l’adoption individuelle de l’IA est associée à plusieurs améliorations :

  • Augmentation de la qualité de la documentation (7,5 %).
  • Augmentation de la qualité du code (3,4 %).
  • Diminution de la complexité du code (1,8 %).
  • Augmentation de la vitesse de revue de code (3,1 %).
  • Augmentation de la vitesse d’approbation (1,3 %).

Ces améliorations suggèrent que l’IA aide à produire du code de meilleure qualité et à réduire les goulots d’étranglement dans les processus de revue et d’approbation. Cependant, la raison exacte de ces améliorations (IA générant un meilleur code ou facilitant la compréhension du code existant) n’est pas entièrement claire.

Des temps de livraison plus long

Le tableau est moins rose en ce qui concerne la performance de livraison logicielle. Contrairement aux attentes, l’adoption de l’IA semble avoir un impact négatif sur le débit (throughput) et la stabilité de la livraison. Une augmentation de 25 % de l’adoption de l’IA est associée à une réduction estimée de 1,5 % du débit et une réduction plus importante de 7,2 % de la stabilité.

Historiquement, l’amélioration des processus (qualité du code/doc, vitesse de revue, réduction de complexité) était liée à l’amélioration de la livraison. Cette divergence est surprenante. Une hypothèse DORA est que la rapidité de génération de code par l’IA encourage des lots de changements plus importants. Or, les recherches DORA montrent constamment que les changements plus importants sont plus lents et plus sujets à créer de l’instabilité. L’IA améliore le processus de développement, mais ne garantit pas une meilleure livraison sans adhérer aux principes de base comme les petits lots et des mécanismes de test robustes.

Un contenu de qualité, sans publicité.

Vous aimez notre travail ? Soutenez notre indépendance en devenant membre sur Patreon.

Soutenir MyChromebook.fr

Une confiance des développeurs essentiel

Un facteur clé de l’adoption réussie de l’IA est la confiance des développeurs. Les développeurs qui font davantage confiance à l’IA obtiennent de meilleurs bénéfices de productivité. Par exemple, chez Google, les développeurs qui acceptaient fréquemment les suggestions d’outils d’IA soumettaient plus de listes de changements et passaient moins de temps à chercher de l’information.

Malheureusement, le niveau de confiance général est relativement bas. Selon l’enquête Stack Overflow 2024, faire confiance à la sortie de l’IA est le principal défi. 39 % des développeurs interrogés par DORA ne font confiance à la qualité de la sortie de l’IA que « un peu » ou « pas du tout ». Ce manque de confiance peut empêcher les développeurs de réaliser pleinement les gains de productivité potentiels.

L'IA, un outil important pour le développement des logiciels ?
Dessin D.R.

Établir une confiance

Pour favoriser cette confiance, les organisations peuvent adopter plusieurs stratégies :

  1. Établir une politique claire sur l’utilisation acceptable de l’IA. Cela rassure les développeurs en précisant ce qui est permis et en signalant que des garde-fous sont en place. Une politique, même légère, est mieux qu’une absence totale de direction.
  2. Renforcer les boucles de feedback rapides et de haute qualité, comme les revues de code et les tests automatisés, en utilisant l’IA si approprié. Des garde-fous robustes aident à détecter les erreurs potentielles introduites par l’IA, renforçant la confiance. L’adoption de l’IA semble d’ailleurs accélérer les revues de code et améliorer leur qualité rapportée.
  3. Offrir des opportunités d’exposition à l’IA, en particulier dans les langages de programmation préférés des développeurs. La familiarité renforce la confiance. Le temps dédié à l’expérimentation, même non structurée, est crucial.
  4. Encourager l’utilisation, mais ne pas l’imposer. Le soutien de la direction est efficace. Mais le sentiment de contrôle sur l’utilisation de l’IA augmente la confiance. Promouvoir le partage de connaissances via des communautés peut être une approche douce.
  5. Aider les développeurs à envisager l’avenir de leur rôle. Les craintes de perte d’emploi sont réelles. Envisager un rôle transformé, où l’IA gère les tâches répétitives et libère du temps pour l’innovation et l’amélioration de l’expérience utilisateur, peut aider à dissiper ces peurs.

Adoption organisationnelle durable

L’adoption de l’IA à l’échelle de l’organisation est un défi crucial. Beaucoup d’initiatives échouent à passer du stade expérimental à l’adoption généralisée. Les recherches DORA proposent quatre stratégies pratiques pour y parvenir :

  1. Partager et être transparent sur la façon dont l’organisation prévoit d’utiliser l’IA. Une communication claire sur la mission, les objectifs et les politiques de l’IA peut augmenter l’adoption en équipe de 11,4 %. La transparence est un pilier des cultures organisationnelles saines.
  2. Répondre aux préoccupations des développeurs concernant l’impact de l’IA. Près de 15 % des répondants s’attendent à un effet néfaste sur leur carrière. Répondre clairement à ces anxiétés, notamment sur le déplacement d’emplois, peut augmenter l’adoption en équipe de 125 %. Cela renforce également la sécurité psychologique.
  3. Accorder suffisamment de temps aux développeurs pour apprendre à utiliser l’IA. L’apprentissage prend du temps (pic d’utilisation individuelle vers 15-20 mois). Encourager activement l’intégration peut augmenter l’adoption de 27 %. Mais accorder du temps dédié pendant les heures de travail pour explorer les outils peut augmenter l’adoption en équipe de 131 %. Attendre que les développeurs apprennent sur leur temps personnel est source de frustration et d’épuisement.
  4. Créer des politiques qui régissent l’adoption de l’IA. Des politiques claires sur les cas d’utilisation appropriés, l’éthique et les risques réduisent l’incertitude et encouragent l’expérimentation responsable. Les organisations ayant des politiques d’utilisation acceptable montrent une augmentation de l’adoption de 451 %. La qualité de la documentation interne y est également associée, car elle peut aider à la clarté nécessaire à l’adoption. Aborder les préoccupations de sécurité et de confidentialité via des politiques et des garde-fous est essentiel.

Ces stratégies soulignent qu’une adoption généralisée et efficace nécessite une approche transparente, claire et de soutien. Les organisations qui ne planifient pas leur déploiement risquent une faible adoption ou une mauvaise utilisation de l’IA.

Mesurer le succès et donc son impact

Pour s’assurer que l’adoption de l’IA apporte les bénéfices escomptés, il est crucial de mesurer son impact. Les mesures aident à évaluer les efforts d’amélioration et à prendre des décisions éclairées. Elles doivent être collectées à différents niveaux :

  • Niveau de l’équipe : Mesures sur l’utilisation des outils d’IA (utilisateurs actifs, suggestions acceptées, interactions chat). Mesures sur le bien-être (flow, satisfaction au travail, productivité, travail précieux/pénible, épuisement). Mesures sur le processus (temps de revue de code, qualité de la documentation/code, complexité du code, dette technique).
  • Niveau du service/application : Mesures évaluant le service partagé par les équipes (qualité du code, complexité du code, dette technique, vitesse de revue/approbation, coordination interfonctionnelle, qualité de la documentation).
  • Niveau organisationnel : Mesures sur la performance globale de l’organisation (performance de livraison logicielle – débit et stabilité, performance commerciale, rentabilité, satisfaction client, efficacité opérationnelle, qualité).

Les boucles de feedback rapides et de qualité sont essentielles pour renforcer la confiance et permettre l’ajustement des tactiques. Cela va de l’évaluation des suggestions de code IA par le développeur aux tests automatisés (CI) et à la surveillance en production. Au niveau de l’équipe et de l’organisation, les enquêtes régulières, les rétrospectives, les communautés de pratique et l’analyse des données sont des moyens clés de recueillir des feedbacks pour affiner la stratégie d’adoption de l’IA.

L’IA, un outil important pour le développement des logiciels ?

L’IA générative est en train de redéfinir en profondeur le développement logiciel. Naviguer avec succès dans cette transformation nécessite transparence, investissement dans les personnes, mesure et itération. Pour les développeurs, il s’agit d’embrasser l’expérimentation, de devenir « fluides en IA », et surtout, de garder la responsabilité de la sortie en vérifiant et affinant toujours le travail de l’IA. C’est un voyage continu qui nécessite une approche axée sur les données et centrée sur l’humain.

Questions / Réponses clés sur l’IA et le développement logiciel :

Q1 : Quels sont les principaux impacts de l’IA générative sur le développeur individuel, selon les sources ? R : L’IA générative a des impacts largement positifs au niveau individuel. Elle est associée à une augmentation du flow, de la productivité et de la satisfaction au travail. Par exemple, une adoption accrue de 25 % peut augmenter la productivité de 2,1 %. Cependant, de manière surprenante, elle est également liée à une réduction du temps passé sur le travail jugé précieux, tandis que le temps passé sur le travail pénible reste inchangé. Les développeurs perçoivent la valeur de leur travail selon cinq angles : utilitaire, réputationnel, économique, intrinsèque et hédonistique, chacun étant affecté différemment par l’IA. L’IA change la nature du travail, nécessitant l’apprentissage de nouvelles compétences et insistant sur le contrôle du développeur.

Q2 : L’IA générative est-elle bénéfique pour toutes les facettes du développement logiciel ? Quelles sont les découvertes surprenantes mentionnées ? R : L’IA montre des bénéfices clairs pour plusieurs aspects du processus de développement et du code. Elle est associée à une augmentation significative de la qualité de la documentation et du code, à une diminution de la complexité du code, et à une accélération des revues et approbations de code. Ces améliorations sont importantes. Cependant, la découverte surprenante est que, contrairement aux attentes, l’adoption de l’IA semble avoir un impact négatif sur la performance de livraison logicielle, en réduisant le débit et, de manière plus prononcée, la stabilité. Les sources suggèrent que cela pourrait être dû à l’encouragement de lots de changements plus grands, ce qui est connu pour nuire à la livraison.

Q3 : Pourquoi la confiance des développeurs en l’IA est-elle importante, et comment les organisations peuvent-elles la renforcer ? R : La confiance des développeurs en l’IA est cruciale car elle est fortement corrélée à l’augmentation de la productivité. Les développeurs qui font plus confiance à l’IA utilisent davantage les outils et en tirent de meilleurs bénéfices. Les organisations peuvent renforcer cette confiance en : 1) Établissant des politiques claires sur l’utilisation de l’IA, 2) Renforçant les processus de feedback rapides comme les revues de code et les tests, 3) Offrant des opportunités d’exposition et d’apprentissage aux outils d’IA, 4) Encourageant l’utilisation sans la rendre obligatoire, et 5) Aidant les développeurs à envisager leur futur rôle transformé par l’IA, au-delà des tâches répétitives.

Q4 : Quelles sont les stratégies clés pour les organisations souhaitant aider leurs développeurs à adopter l’IA de manière efficace et durable ? R : Pour passer des expérimentations isolées à une adoption généralisée, les organisations doivent mettre en place quatre stratégies pratiques : 1) Être transparents sur la vision et les plans d’utilisation de l’IA pour réduire l’appréhension et orienter l’utilisation, 2) Répondre directement aux préoccupations des développeurs concernant l’impact sur leur carrière, 3) Allouer du temps dédié pendant les heures de travail aux développeurs pour expérimenter et intégrer l’IA dans leurs flux de travail, et 4) Créer des politiques claires régissant l’utilisation de l’IA, incluant les cas d’usage acceptables, l’éthique et les risques de sécurité/confidentialité. Ces stratégies visent à créer un environnement de soutien où les développeurs se sentent confiants et habilités à utiliser l’IA de manière responsable.

Actualites
Cliquer sur l’image pour voir tous les articles Actualités

NOUVEL ÉPISODE

CKB SHOW : Le Podcast

Rejoignez-nous chaque semaine pour décortiquer l'actualité Google, les dernières sorties Chromebook et les innovations en matière d'IA.

Miniature du podcast CKB SHOW
Avatar de l'auteur

À propos de Mister Robot

Entre un point X et un point Y, je me balade pas mal par l'entremise des bits composant ma mémoire. Un seul regret : ne pas avoir rencontré Mr Alan Mathison Turing et ainsi pouvoir collaborer pour l'article intitulé « Computing Machinery and Intelligence ».

Laisser un commentaire

À lire aussi