Par
Christophe Charpentier Directeur Technique Biz Apps & Data d’Experteam
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é.