Pour un nombre croissant d’organisations, l’IA est devenue non seulement un élément clé du processus de développement logiciel, mais aussi la pièce maîtresse.

Ces entreprises ont évolué vers une stratégie de développement axée sur l’IA, dans laquelle l’intelligence artificielle est intégrée à toutes les phases du cycle de vie du développement logiciel, plutôt que d’être une fonctionnalité à utiliser de manière sélective pendant le processus.

Dans la plupart des cas, cela signifie une évolution vers des flux de travail agents, les développeurs agissant en tant qu’architectes chargés de superviser les agents IA. Mais dans un sens plus large, le développement axé sur l’IA est une transformation de la façon dont les développeurs explorent et comprennent le code, en mettant l’accent sur la conception et la production de plus en plus d’applications tenant compte de l’IA.

Pourquoi un développement axé sur l’IA ?

Pour un nombre sûrement croissant d’équipes et d’organisations de développement de logiciels, l’approche axée sur l’IA devient plus nécessaire qu’optionnelle.

« Le développement axé sur l’IA est important car l’alternative est de plus en plus intenable », déclare Mona Rajhans, responsable principale de l’ingénierie logicielle chez le fournisseur de produits de cybersécurité Palo Alto Networks, qui dirige une équipe d’ingénierie IA de 14 personnes. En termes simples, les équipes de développement qui utilisent l’IA pour créer des applications peuvent accomplir bien plus en moins de temps.

De la même manière, il est de plus en plus important de concevoir des applications en gardant à l’esprit les composants d’IA et les utilisateurs agents. « Intégrer l’IA à une architecture existante après coup, c’est comme ajouter un deuxième étage à une maison sans murs porteurs », explique Rajhans. « Ça fonctionne jusqu’à ce que ça ne marche plus, et quand ça casse, ça casse gravement. »

L’un des plus grands avantages du développement axé sur l’IA est la rapidité avec laquelle les équipes peuvent réaliser des projets et mettre les produits en développement. Cela implique d’identifier et de résoudre les problèmes beaucoup plus tôt qu’il ne serait possible autrement.

« Les travaux qui étaient auparavant bloqués pendant des trimestres, comme les migrations de plates-formes et la mise à jour de bibliothèques vieillissantes, sont désormais résolus en quelques jours », déclare Collin Hogue-Spears, directeur principal de DTE chez Black Duck Software, société de logiciels de sécurité des applications. « Les défauts apparaissent au moment de la conception plutôt qu’en production, où un problème coûte une révision du code au lieu d’un incident. »

Lorsque vous appliquez l’IA dès le début de votre projet logiciel, « vous découvrirez généralement les problèmes liés à votre concept en quelques heures plutôt qu’en quelques semaines », explique Bob Hutchins, PDG du cabinet de conseil et de conseil Human Voice Media. « J’ai développé des applications de production complète où le premier prototype fonctionnel a été réalisé avant la réunion de lancement d’un atelier traditionnel. »

Le développement axé sur l’IA permet également de réduire les coûts inutiles. « L’intégration de l’IA dans les projets est souvent coûteuse et difficile », explique Hutchins. « Les conceptions de projets qui incluent l’IA dès le premier jour aboutissent à des modèles de flux de données plus clairs, à des schémas d’autorisation beaucoup plus clairs et à des éléments d’interface utilisateur qui comprennent comment les agents interagiront avec ces systèmes. »

L’implémentation d’un chatbot dans une application existante produit un chatbot, explique Hutchins. « La conception pour l’IA permet d’accéder à un tout nouveau type de produit », dit-il.

Peut-être plus important encore, l’utilisation du développement axé sur l’IA amène les équipes à améliorer leur documentation et la clarté globale de leurs processus de réflexion, explique Hutchins. « Comme une IA ne peut pas lire dans les pensées, les équipes qui suivent cette approche fourniront de meilleures spécifications de documentation, car la spécification elle-même servira de véritable jeu d’instructions. »

Comment réussir le développement axé sur l’IA

Toutes les équipes de développement ne sont pas prêtes à ce changement radical dans le processus de développement. Beaucoup ont du mal à adopter un développement axé sur l’IA pour diverses raisons. Peut-être qu’ils disposent de systèmes d’ingénierie sous-jacents qui reposent sur des connaissances non documentées, des règles implicites ou une surveillance manuelle. Ou bien ils ne disposent pas des processus et des compétences nécessaires en matière d’assurance qualité, de sécurité et de test.

L’IA nécessite un contexte précis pour fonctionner correctement, et les équipes qui s’appuient sur des bases de code existantes non documentées et des architectures obscures pourraient constater que l’IA génère des informations inexactes qui finissent par nécessiter d’importantes retouches de la part des humains.

En suivant quelques bonnes pratiques, les développeurs et les équipes peuvent se préparer à un environnement axé sur l’IA et exceller dans ce nouveau paradigme de développement.

Ajouter de nouvelles compétences et rôles

L’une des étapes les plus importantes consiste à ajouter de nouveaux ensembles de compétences et de nouveaux rôles qui s’intègrent dans la stratégie axée sur l’IA, même si cela implique des changements inconfortables pour certains. Sans les compétences nécessaires, rien d’autre dans l’approche axée sur l’IA ne fonctionnera correctement.

« La capacité rare n’est plus d’écrire du code, mais de le lire rapidement et de l’évaluer avec précision », explique Hogue-Spears. « Les développeurs les plus forts travailleront en tant qu’architectes : ils définissent le problème, dirigent l’agent et vérifient le résultat. C’est ainsi qu’un ingénieur supervise en toute sécurité le travail de plusieurs. »

Les organisations doivent concentrer leur personnel sur les postes d’architecture senior et supprimer ou repenser les postes de codage junior, explique William Flaiz, fondateur de CleanSmartLabs, un fournisseur de produits de nettoyage de données.

« Des outils comme Claude Code peuvent écrire rapidement du bon code propre, ce qui ne constitue plus un goulot d’étranglement », explique Flaiz. « Le jugement et l’expérience sur ce qu’il faut construire, comment le concevoir et ce qui va se briser viennent du jugement des architectes seniors. Sautez cela et vous expédierez le produit rapidement, mais il se brisera sous la charge de l’utilisateur. »

Envisager des programmes de formation pour faciliter la transition

Une grande partie de l’IA-first est relativement nouvelle pour de nombreuses organisations, et de nombreux développeurs et gestionnaires devront apprendre ce que signifie être architectes dans ce nouveau monde.

Le rôle de l’architecte « évolue d’une manière que la plupart des organisations n’ont pas encore rattrapée », explique Rajhans. « Le travail consiste moins à écrire du code qu’à définir les limites, où l’agent agit, où l’humain décide et ce qui se passe lorsque l’agent a tort. Cette dernière question est celle que la plupart des équipes ignorent jusqu’à ce qu’il soit trop tard. »

Les équipes de développement doivent également faire évoluer le rôle de développeur vers un rôle d’orchestrateur pour le développement agent, explique Flaiz. Une formation sera nécessaire dans de nombreux cas.

« Ils disposent de suffisamment de contexte produit et d’une compréhension utilisateur suffisante pour savoir où les agents passent les transferts, sont en conflit et quel agent gagne en cas de conflit », explique Flaiz. « Il ne s’agit pas d’un rôle de programmeur au sens traditionnel du terme, mais d’un nouveau rôle qui constitue une bonne transition pour les développeurs juniors et débutants. »

En outre, Flaiz recommande d’intégrer l’expertise en expérience utilisateur dans le processus de développement, « pas seulement comme point de départ ou comme contrôle à la fin », dit-il. « L’IA peut rédiger des exigences, des spécifications et aider à l’architecture, mais elle ne comprend pas vos utilisateurs. Elle ne connaît pas les habitudes de la façon dont les utilisateurs réels interagissent avec les logiciels. Cela vient de l’observation des tests (d’expérience utilisateur), de l’analyse du comportement et du fait d’être humain. « 

Passer aux workflows agents

Un élément clé du développement axé sur l’IA consiste à évoluer vers des flux de travail agents, dans lesquels des agents autonomes déploient un raisonnement, une planification et des outils externes pour atteindre des objectifs complexes. Il s’agit du scénario dans lequel les développeurs agiront en tant qu’architectes supervisant les agents d’IA alors qu’ils s’efforcent de résoudre des problèmes et de créer des applications.

« La transition fondamentale ici consiste à passer de la saisie (l’écriture du code) à la spécification de ce que vous voulez faire », explique Hutchins. « Les personnes qui prospèrent dans les flux de travail agentiques sont des individus capables de définir clairement des systèmes, de réfléchir au potentiel (scénarios rares) et d’évaluer objectivement le travail des autres. »

Même si la saisie du code peut parfois sembler importante, les compétences requises pour les flux de travail agents « représentent une véritable architecture et un véritable jugement éditorial », explique Hutchins. « En tant que telles, les valeurs des ingénieurs supérieurs augmentent plutôt que diminuent. »

Avec les nouveaux flux de travail, « les développeurs passeront moins de temps à écrire manuellement chaque ligne de code et plus de temps à définir des objectifs, à prendre en compte les contraintes du produit, à parcourir l’architecture, à concevoir des interfaces utilisateur intuitives, à visualiser les flux de données et à calculer les résultats attendus », déclare Bob Brauer, fondateur et PDG d’Interzoid, un cabinet de conseil et fournisseur de services d’enrichissement de données et d’intelligence structurée.

« Les outils et agents d’IA peuvent ensuite aider à générer du code, des plans de test, de la documentation, des scripts de déploiement et à surveiller les exigences de maintenance continue », explique Brauer.

Créer de nouveaux processus de test et de révision

Une autre bonne pratique consiste à créer un nouveau processus de révision avant de créer des pipelines d’agents. « L’IA générera sans hésitation des déchets » plausibles «  », déclare Hutchins. « Les organisations qui subissent actuellement des dommages dus à une (mauvaise) génération sont les mêmes qui ont développé leurs capacités de génération plus rapidement que leur capacité à vérifier les résultats générés. Nous avons déjà vu des consultants restituer à leurs clients l’argent payé pour de fausses citations. Cela représente un échec de processus, pas un échec technologique. »

Les examens doivent être continus. « Conception pour le point de contrôle humain », explique Hutchins. « Pour chaque flux de travail, les questions devraient être : « Où une personne faisant preuve de jugement doit-elle examiner avant que nous envoyions ceci ? Si vous ne pouvez pas répondre à cette question pour votre flux de travail actuel, cela signifie que vous n’implémentez pas un développement axé sur l’IA. Vous autorisez simplement une délégation non supervisée.

En ce qui concerne les tests, « les développeurs doivent se familiariser avec le non-déterminisme », explique Rajhans. « Les systèmes axés sur l’IA ne se comportent pas deux fois de la même manière. Les tests, l’observabilité et la gestion des pannes doivent tous être repensés à partir de zéro en fonction de cette réalité. Les équipes qui traitent les sorties de l’IA comme des retours de fonctions s’épuisent rapidement. »

Commencez petit et procédez avec prudence

Malgré l’urgence chez de nombreux chefs d’entreprise d’évoluer de manière agressive vers l’IA, une approche quelque peu prudente pourrait s’avérer préférable pour les objectifs à court et à long terme.

« Commencez petit et suivez tout », explique Hutchins. « Permettez aux développeurs d’accéder à des outils approuvés et à des directives clairement définies, puis déterminez où (et) quand l’IA réduit le temps des développeurs par rapport au moment où l’IA génère des retouches supplémentaires. »

Le développement axé sur l’IA deviendra de plus en plus critique à mesure que la concurrence s’intensifie et que les équipes logicielles sont confrontées à une pression croissante pour fournir des applications plus rapides, plus sophistiquées et plus faciles à utiliser, explique Brauer.

« En tirant parti de l’IA dans la collecte des exigences, l’architecture/conception, le codage, les tests, le déploiement et la maintenance continue, les équipes de développement peuvent augmenter considérablement leur efficacité et créer une plus grande valeur organisationnelle », explique Brauer. « Les organisations qui adoptent le développement axé sur l’IA seront mieux placées pour fournir plus rapidement des logiciels de meilleure qualité et acquérir un avantage concurrentiel significatif. »

A lire également