Accueil L’IA Générative va-t-elle mettre en péril l’approche low code no code...

L’IA Générative va-t-elle mettre en péril l’approche low code no code ?

Face aux avancées incroyables rendues possibles par le développement de l’IA générative, les entreprises s’interrogent sur l’avenir du low code / no code. L’IAG l’a-t-elle rendu obsolète ou inutile ? Là où d’aucuns prévoient le lent déclin ou la mort rapide du concept de Développeur Citoyen, d’autres y voient au contraire le moyen d’accélérer l’adoption de l’approche.

De l’informatique pour tous à l’informatique par tous

Créer des applications ou des processus sans écrire de code, c’est le pari du Low Code / No Code (LCNC). Avec des origines remontant aux années 1980, quand les logiciels de bureautique offraient pour la première fois aux utilisateurs la possibilité de réaliser des tâches informatiques sans connaître de langage de programmation, l’approche LCNC n’est pas nouvelle.

Le LCNC a ensuite évolué avec le développement des technologies web et mobiles et la demande croissante en matière de création d’applications. Les interfaces se sont réinventées avec des glisser-déposer, des modèles et des workflows, permettant de concevoir des applications sans coder, ou avec un minimum de code.Progressivement, le LCNC dépasse les frontières des directions informatiques pour étendre son ambition de conquête à l’ensemble des métiers de l’entreprise..

Stimulée par des besoins de digitalisation croissants, la promesse convainc de nombreuses organisations qui se lancent dans l’évangélisation de leurs salariés. Mais fin 2022, l’explosion médiatique autour de l’IA générative emballe l’imagination avec une promesse plus fascinante encore : la perspective de produire du code, de synthétiser l’information et d’automatiser des tâches en en quelques secondes…

Dès lors, de nombreux experts prédisent la fin du low code. Mais est-ce vraiment ce à quoi on peut s’attendre ? L’IAG et le LCNC sont-ils redondants ou complémentaires ? Que peut-on attendre au juste de la rencontre de ces deux domaines ?

Une réponse à un besoin d’autonomie et d’agilité

Les avantages du LCNC sont multiples. Tout d’abord, Il donne la possibilité aux utilisateurs métier qui maîtrisent le mieux leurs besoins, de concevoir eux-mêmes leurs solutions. D’autre part, il permet aux entreprises de gagner en agilité, en innovation et en compétitivité en s’affranchissant d’une gestion classique et centralisée des développements.

Un exemple abouti du LCNC est l’écosystème Microsoft, qui offre aux utilisateurs une gamme complète d’outils pour créer des solutions en utilisant un minimum de code. Des outils comme Power Apps, Power Automate, Power BI, permettent de créer des applications, gérer des processus et analyser des données. Ces solutions forment un ensemble intégré, et se connectent avec d’autres services cloud, comme Azure ou Office 365 mais aussi des solutions en dehors de l’écosystème Microsoft afin de faciliter le partage et la synchronisation de données.

Le LCNC donne ainsi aux entreprises la possibilité de sécuriser les saisies, de rassembler les données et de conserver un historique… sans se lancer dans un projet de développement classique souvent lourd et onéreux.Très appréciée pour sa facilité et sa performance, l’approche comporte néanmoins certaines limites.

Un modèle confronté à de nombreux défis

Au cœur de ces défis, on retrouve bien sûr la question des aptitudes techniques. Car, bien que le LCNC réduise le besoin de coder à un minimum, il exige tout de même du Citizen developer que celui-ci maîtrise les principes fondamentaux du développement applicatif.

En ce sens, l’asymétrie de niveau technique entre les développeurs classiques et les utilisateurs-développeurs est bien réelle. Si elle n’est pas pleinement comprise, elle peut alors rapidement devenir problématique, notamment lorsqu’il s’agit de gérer des adaptations avancées ou des intégrations complexes. Tandis que la pensée du développeur aguerri répond de manière instinctive à la résolution de problèmes, l’utilisateur sera plus facilement dérouté par des questions techniques qu’il n’anticipe pas.

De la même manière, le citizen developer pourra se laisser surprendre par des difficultés liées au passage à l’échelle et à la nécessité de faire évoluer une application pour gérer un volume de données croissant ou pour garantir une gestion efficace des conflits d’accès.

Enfin, au-delà des compétences techniques et de la façon de penser, l’écart est aussi méthodologique.

A la différence d’un développeur formé aux méthodes de test et de développement modulaire qui lui permettent de s’assurer que son développement est fonctionnel ou que l’ajout de fonctionnalités n’entraine pas de régressions, un utilisateur-développeur peut passer à côté de certaines erreurs par manque de méthodologie.

Un dernier défi concerne enfin le risque d’excès de confiance. Une confiance aveugle dans les solutions ainsi créées pouvant en effet facilement exposer les organisations à des risques de bugs et d’erreurs, voire à d’importantes failles de sécurité.

En résumé, si le LCNC présente des avantages indéniables pour accélérer et démocratiser la création d’applications, il semble essentiel de souligner que l’approche comporte également des limites qui peuvent compromettre la qualité, la sécurité et la pérennité des solutions développées.

L’IA Générative : Un nouveau paradigme pour le développement applicatif

L’IAG vient bousculer ce paysage technologique en bouleversant les usages et en rendant la compétence technique, l’analyse de la donnée et surtout la génération de code accessibles à tous. Alors que le re-use et l’utilisation de snippets font partie des pratiques courantes dans le monde du développement, l’IAG change la donne en offrant à chacun la possibilité de générer presque instantanément des lignes de code en réponse à un besoin exprimé. Face à la perspective d’accélérer leur production, les développeurs s’emparent immédiatement de la technologie.

Côté LCDC, Microsoft propose l’intégration de Copilot à une grande partie des différentes briques de la Power Platform avec des gains évidents. Pour citer quelques progrès, Power Apps simplifie la création d’applications à partir d’une simple spécification des besoins et des fonctionnalités requises. Cette automatisation se retrouve également dans Power Automate, où des flux de travail sont quasiment générés automatiquement à partir de descriptions en langage naturel. Enfin, Copilot Studio se distingue en étant capable, à partir d’une simple image ou description, de générer rapidement un bot intégrant les données de l’entreprise issues de documents ou de bases de données.

Si les bénéfices et les gains de temps sont reconnus, existe-t-il cependant des limites à ce que l’IAG peut apporter au développement ? Avec l’objectif de réduire le fossé technique que nous évoquions plus tôt, l’IA favorise-t-elle une formidable accélération ou au contraire un dangereux court-circuit qui pourrait remettre en cause l’intérêt même du Low Code No Code ?

Les Limites de l’IA Générative

D’emblée, il est clair que l’IA générative ne saurait se substituer totalement aux compétences humaines. Si elle réduit le besoin de compétences techniques et les temps de développement, elle ne les élimine pas complètement. La compréhension du code et la connaissance métier restent des éléments indispensables pour parvenir à un résultat abouti et corriger les possibles erreurs. En effet, si l’IAG peut créer des morceaux de code rapidement, elle peine pour l’instant à les assembler de manière cohérente et fonctionnelle.

Une autre limite de l’IA réside dans sa “naïveté” intrinsèque. Incapable d’anticiper les potentielles dérives malveillantes de son propre code, elle peut exposer les applications à des risques de sécurité importants. Les développeurs humains, avec leur expérience, leur vision d’ensemble et leur esprit critique, demeurent essentiels pour identifier et prévenir ces failles que seul un esprit humain peut avoir l’idée d’exploiter.

De même, bien que capable de réutiliser du code existant avec une efficacité impressionnante, l’IA ne prend pas toujours en compte les questions de droits d’auteur et de licence. Enfin, on a pu constater que les IA génératives ont un autre défaut : celui de vouloir toujours offrir une réponse. Le résultat : des solutions systématiques, parfois déconnectées des besoins et un phénomène connu sous le nom d’hallucination qui vient souligner l’importance du jugement humain dans la validation et l’optimisation des propositions de l’IA.

L’intégration de l’IAG dans le processus de développement met donc en évidence la nécessité d’un accompagnement humain attentif. En reconnaissant cette réalité, il apparaît donc plus judicieux de considérer l’IAG comme un catalyseur et un accélérateur plutôt qu’une menace. En mettant en lumière la simplicité et l’efficacité de cette approche, elle contribue à abaisser les barrières à l’adoption pour faire un pas de plus en direction d’un développement accessible à tous. Dans cette optique, la connaissance métier, l’expérience et l’intuition demeurent des éléments essentiels pour exploiter pleinement le potentiel de cette technologie émergente. Car bien que l’avenir puisse réserver des avancées autonomes pour l’IAG appliquée au développement, il semblerait que le chemin vers cette indépendance ne soit pas encore tout à fait prompté.

Par Christophe Charpentier Directeur Technique Biz Apps & Data d’Experteam