Quelle est la place de l'évolution Low Code / No Code ?

Le Low Code/No Code n'est pas apparu au début des années 2020, c'est une tendance qui se dessine déjà depuis plusieurs décennies et en 2021 le marché est encore en phase de création. Il existe un très grand nombre d'acteurs connus tels que Salesforce, OutSystems, K2, Mendix, ServiceNow, Appian, AgilePoint, ou Microsoft PowerApps. Cependant, le marché des TPE/PME est en train de se structurer avec des acteurs proposant des produits de qualité tels que Webflow, Airtable, Zapier, Notion, Integromat, Bubble, ou Parabola.

Selon les études de ResearchAndMarkets, le marché du Low Code/No Code valait +4 milliards de dollars en 2017 et dépassera probablement les 27 milliards de dollars en 2022. Ces chiffres et orientations sont confirmés par Forrester, qui annonce 15 milliards de dollars en 2020. Ces tendances sont le signe d'un véritable marché bien établi pour les outils destinés aux grandes entreprises qui souhaitent lancer rapidement des projets, mais aussi aux petites entreprises qui entreprennent une transition numérique, le tout dominé par un contexte de pénurie de développeurs et un marché technologique devenu trop complexe... [1].

Il s'agit donc d'un domaine d'activité économique de la construction dans lequel il est possible de voir l'arrivée de nouveaux acteurs chaque semaine. Cependant, certaines solutions comme Webflow et Bubble se sont rapidement imposées comme des références et vont bousculer le marché actuel (ici WordPress, Wix, Squarespace, Shopify). De plus, les domaines d'applications s'étendent très rapidement pour proposer des outils dans les domaines des applications mobiles, des jeux vidéo, de l'automatisation. Il faut noter que les " grands " acteurs historiques du numérique ne dominent en aucun cas le marché.

Le fait est que ces environnements de développement sont peu connus, tout comme les différents outils qu'ils proposent et la manière de les utiliser. Nous sommes donc dans la phase " pédagogique " de l'activité qui va, dans les dix prochaines années, mettre en place les différentes solutions et la structure du marché pour soutenir leur développement économique. Une enquête menée par l'Institut du forestier en 2019 confirme cette tendance.

Les environnements Low-Code/No-Code sont utilisés pour :

  • Rapidement développer des services simples pour fonctionnel réduit périmètres
  • Établir des univers logiciels pour "extensions "périphériques aux fonctionnalités des solutions d'entreprise (schéma adopté par SalesForce, Microsoft, SAP).
  • Développer un "Ingénierie "spécifique pour répondre à la demande croissante de personnalisation.

Introduction

Depuis l'émergence des techniques de modélisation logicielle et plus particulièrement depuis la création d'UML (Unified Modeling Language) en 1997, une vision occupe l'esprit des spécialistes du génie logiciel : produire des applications sans écrire une seule ligne de code source. A la fin des années 90, c'est l'utilisation des techniques de modélisation pour décrire formellement toutes les facettes d'une application logicielle (interface, comportement, modèle de données, architecture réseau, etc.) qui a prévalu. Ceci devrait de facto permettre la génération de code source la plus automatisée possible. Les principes défendus par le génie logiciel préconisaient donc de concentrer l'effort sur la conception du logiciel en s'épargnant les difficultés purement techniques liées à la compilation, les erreurs de programmation, ou les lenteurs causées par de profondes modifications architecturales.

Ce but ultime n'a jamais été atteint. Car si en théorie rien ne s'oppose à ce type d'approche, en pratique les facteurs de complexité des applications logicielles modernes rendent ce type d'approche inopérant. La multitude de modèles qu'il faut produire pour décrire toutes les situations et tous les cas a rendu le développement par modélisation plus fastidieux que l'écriture directe du code source. Dès 2004, un certain nombre d'acteurs ont souligné le caractère ridicule de la verbosité d'UML et du développement logiciel où tout est un modèle [2].

A partir des années 2000, un très grand nombre de solutions permettant aux utilisateurs finaux de construire leur propre logiciel ont connu un grand succès. Par exemple, Adobe DreamWeaver, un logiciel d'édition de sites web offrant une interface "What You See Is What You Get" (WYSIWYG), a permis à des néophytes en HTML, CSS et Javascript de construire et publier graphiquement des sites web simples (pages statiques et médias). De la même manière, un grand nombre de solutions dites de programmation visuelle ont été créées. Par exemple, certains des outils proposés dans MatLab, LabView ou le langage de programmation Scratch développé par le MIT ont permis aux débutants en programmation de commencer à construire des programmes dans un cadre prédéfini et pour une série d'utilisations très spécifiques. Ces solutions ont également rencontré un succès croissant dans les domaines de l'industrie, de l'éducation, des jeux vidéo, etc.1et de nombreux autres domaines citoyens [3].

Ces succès, confinés à des champs disciplinaires spécifiques, sont en train d'élargir leur champ d'action. Ce phénomène est également soutenu par un contexte très favorable :

  • L'expansion inexorable de la technologie numérique et la croissance exponentielle de la quantité de mini-logiciels, de mini-services développés et disponibles sous forme d'applications mobiles et de sites web.
  • La normalisation de notre usage, des interfaces utilisateur, des styles d'architecture logicielle et des API qui permet aux développeurs de concentrer leur attention sur l'objectif des applications (le quoi) plutôt que sur les outils à mettre en œuvre (le comment) pour un grand nombre d'applications offrant des services standard.
  • La pénurie de développeurs dans un contexte technologique de plus en plus complexe.

Nous assistons donc à un changement de vocabulaire. On ne parle plus de modélisation, de méta-modélisation, de programmation pour l'utilisateur final (EUD), de générateur de code (total ou partiel), de programmation par composants, de constructeur d'interface graphique (i.e. UI Builders). Cet univers de méthodes et d'outils est désormais regroupé sous les noms de Low Code/No Code (LCNC). Néanmoins, les principes de base restent les mêmes et nous allons détailler ces approches, comment en tirer profit, ainsi que leurs avantages et leurs limites.

1.https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/Editor/index.html

Origines et histoire

Au début : Interfaces WYSIWYG !

La promesse associée au Low Code/No Code n'est pas nouvelle. Dès les années 1970, les programmes ont privilégié l'affichage du rendu plutôt que la visualisation de fragments de code qui ne peuvent être compris que par des informaticiens. Dans ce domaine, Bravo (1974) est probablement l'un des premiers éditeurs WYSIWYG (What you see is what you get). Depuis lors, ces solutions n'ont cessé de se développer, passant des éditeurs de texte à des outils de conception de sites web qui ne sont rien d'autre que des solutions fournissant des fonctionnalités avancées sans codage.

Parmi les principaux contributeurs, citons Low Code/No Code, GeoCities dans les années 90, ainsi que des CMS (Content Management Systems) complets tels que Drupal, Joomla, Dotclear et WordPress apparus dans les années 2000. Depuis près de 20 ans, ils permettent à des profils non techniques de créer et de maintenir un site web. La popularité de WordPress a également poussé les entreprises à concevoir des outils puissants pour créer des sites basés sur ce CMS en un simple glisser-déposer. On peut notamment citer les "Page Builders" tels que BeaverBuilder [4] ou Elementor [5]qui sont très populaires auprès des petites entreprises et des services de marketing.

Figure 1 Deux exemples d'une interface No-Code : À gauche, le constructeur de pages web Elementor pour le CMS WordPress. À droite, l'interface de configuration/construction du chatbot BotNation.

La tendance Low Code/No Code doit être considérée comme une simple extension de ces premiers pas dans le domaine de la construction de pages web à un ensemble plus varié de solutions. Les applications dans ces nouveaux environnements incluent la création de chatbot [6], [7], [8]raclage de données web [9], [10]Automatisation des processus d'entreprise ou RPA2et même la conception d'applications mobiles. Depuis environ 50 ans, le principe reste le même : un éditeur d'environnement logiciel fournit un outil permettant à une personne non technique et/ou technique de créer facilement une solution qui, à première vue, implique un très haut niveau de complexité technique.
L'exemple de Web Elementor est très symptomatique de ces nouveaux environnements de travail. Ce constructeur de pages web est la "star" de la construction de sites sous WordPress et ne cesse de croître depuis sa sortie en mai 2016. Il compte plus de 2 millions d'installations actives et participe à la construction d'un monde de freelance dont les compétences techniques sont peu nombreuses pour contribuer à son déploiement. WordPress est donc le socle logiciel applicatif qui a servi de base à cet outil Low Code pour développer un modèle entièrement fonctionnel et économique en quelques années.

2.Voir état de l'art Berger-Levrault sur la RPA : https://www.research-bl.com/2020/06/08/rpa-report/

Suivant : Principales avancées technologiques

La plupart des solutions sur lesquelles nous nous appuyons aujourd'hui dans le domaine du développement logiciel n'existaient pas dans les années 1980. C'était une période peu productive qui exploitait beaucoup le COBOL, le langage dominant et difficile à utiliser. De nombreux projets de l'époque ont été abandonnés en raison de l'absence de mise en œuvre réussie ou de fonctionnalités médiocres. Cela a effectivement créé une "crise du logiciel". Dans les années 1990, des innovations méthodologiques telles que le développement rapide d'applications (RAD) et des langages de plus haut niveau et plus conviviaux tels que Java sont apparus. La création de logiciels est devenue plus efficace et plus facile. Les applications sont devenues plus complexes et donc plus utiles, et le temps nécessaire à la création de ces solutions a commencé à diminuer. Les années 2000 confirment la domination de Java et consacrent la place des frameworks et des environnements de développement intégrés (IDE). C'est à cette époque qu'apparaissent les plateformes Low Code telles qu'Appian, Mendix et Outsystems. Dans les années 2010, des langages de plus haut niveau comme Python ont commencé à être adoptés tout en laissant le temps aux plateformes Low Code de construire des frameworks et des usages beaucoup plus avancés. Cependant, la complexité croissante des écosystèmes numériques tend aujourd'hui à augmenter à nouveau de manière significative les temps de développement.

D'autres avancées technologiques plus conceptuelles ont également contribué à ce mouvement. Un premier facteur vient du fait qu'au cours des 15 dernières années, un nombre croissant de solutions ont utilisé la création d'APIs pour mettre en place des "services" numériques. L'univers des développements a donc créé une couche qui a facilité la vie des autres développeurs et utilisateurs tout en instaurant une logique de "microservices". Un deuxième facteur a été l'avènement des bases de données documentaires, parfois aussi appelées à tort bases de données "NoSQL". Au lieu de stocker les données en lignes et en colonnes, ces bases de données utilisent généralement une structure de type document similaire à JSON (JavaScript Object Notation), un format populaire parmi les développeurs. Ces bases de données ont permis une flexibilité inégalée tout en conservant les fonctionnalités essentielles des bases de données tabulaires et relationnelles. [11].

Le principe de l'absence de code est apparu il y a plusieurs décennies. Au fur et à mesure que la technologie progressait, il a permis de créer d'abord des applications simples telles que des pages web, puis des logiciels plus "riches" tels que des applications mobiles ou des automatismes.

Low-Code / No-Code (LCNC) : Principes généraux et définitions

L'ambition des approches Low Code/No Code (LCNC) est de permettre le développement rapide d'applications simples en minimisant au maximum l'écriture du code source. Pour y parvenir, un grand nombre de solutions s'appuient sur des interfaces de création visuelle intégrées à un environnement de développement logiciel. Chaque étape du cycle de vie de l'application est automatisée et simplifiée au maximum pour les utilisateurs, de la création à la mise en service. Cela permet de livrer rapidement des solutions logicielles utilisables.
L'un des effets induits les plus importants du LCNC est qu'il supprime les traditionnels silos de développement puisque ce processus conduit, en théorie, à ce qu'un large éventail de parties prenantes (business, UX, marketing, technique) puisse produire tout ou partie des solutions.

Continuum Low-Code / No Code (LCNC)

La différence entre le low code et le no code est assez floue. Une façon simple de la conceptualiser est d'imaginer un continuum dont les deux extrémités seraient no-code et full-code. D'un côté, la capacité de développer des applications sans codage et de l'autre, la capacité de coder le développement d'applications classiques en écrivant la grande majorité du code source. Nous proposons donc le continuum suivant pour définir clairement le phénomène LCNC.

CODE COMPLETSOME-CODELOW-CODENO-CODE
DESCRIPTIONcréer des applications en codant la majorité de l'applicationCréer des applications en codant, mais en réutilisant/configurant autant de composants prêts à l'emploi que possible.créer des applications essentiellement sans codage et intégrer des parties de code créées ailleursCréer des applications sans codage
OMSDéveloppeurs expertsDéveloppeurs expertsNon-développeurs peu qualifiésNon-développeurs
COMMENTUn développement fastidieux mais précisDéveloppement rapide lorsque les bons composants existentDéveloppement rapideDéveloppement rapide
QUOITout est possibleLes choix sont limités par les composants utilisésLimité aux possibilités de la plateforme low-code et aux APIs qui peuvent être utilisées pour intégrer du code personnaliséLimité aux possibilités de la plateforme no-code

Une fois ce continuum établi, deux phénomènes sont notables dans cette progression du full-code vers le no-code : 1) la vitesse croissante de développement rendue possible par les approches LCNC et 2) les limitations croissantes induites par l'utilisation des environnements LCNC qui sont par nature cloisonnés.

L'utilisation d'une approche LCNC implique de faire des compromis importants entre :

1) l'efficacité du développement

2) les limitations en termes de choix d'architecture, de technologies, d'interfaces utilisateur.

Les détails qui caractérisent les approches LCNC peuvent être résumés comme suit :

  • Pas de code: L'utilisation de ces environnements vous permet de créer des applications sans codage. C'est-à-dire que la plateforme encode automatiquement l'ensemble de l'application en fonction des configurations et paramètres définis par l'utilisateur. Ces solutions sont initialement conçues pour non-développeurs qui ne connaissent pas ou n'ont pas besoin de connaître les langages de programmation pour utiliser et développer des logiciels. Les fournisseurs de ces solutions ont intégré toutes les fonctionnalités jugées essentielles par les utilisateurs pour créer leurs applications. Ces environnements sont similaires aux plateformes de blog populaires et aux solutions de conception de sites web "tout-en-un" (par exemple, WordPress, SquareSpace, etc.).
  • Code faible: Une telle plateforme sera capable de générer automatiquement la demande dans les mêmes conditions. Cependant, elle permet théoriquement d'intégrer des parties de code faites ailleurs si nécessaire. Ces environnements deviennent peu à peu un moyen pour les développeurs de les aider à concevoir des applications plus rapidement et avec un minimum de codage manuel. Les plateformes existantes offrent des suites de fonctionnalités et des outils préconfigurés qui complètent les besoins des développeurs. En termes très simples, ces environnements permettent de glisser-déposer des blocs visuels de code existant dans un flux de travail afin de créer rapidement des applications. Ce processus peut remplacer complètement la méthode traditionnelle de codage manuel un but entier simple application. Les développeurs peuvent ainsi produire plus efficacement et plus rapidement, sans avoir à effectuer un codage répétitif. Ils peuvent se concentrer sur les éléments différenciateurs essentiels de leur application.

Raisons de l'émergence actuelle de la LCNC

Les vecteurs qui conduisent d'aujourd'hui La demande croissante d'univers LCNC est bien connue et présente des différences marquées par rapport aux années 1990. En effet, le nombre d'entreprises qui ont besoin de solutions partiellement personnalisées (ou qui souhaitent mettre en place des fonctionnalités supplémentaires spécifiques) est en constante augmentation. Ce mouvement s'accompagne d'un mouvement tout aussi croissant pénurie de développeurs qualifiés. Enfin, la généralisation de l'utilisation de outils logiciels dans tous les secteurs d'activité produit un facteur multiplicateur pour les deux précédents vecteurs de croissance de la demande. Cet ensemble de contraintes a mis au premier plan l'adoption d'une politique dite " d'économie de la connaissance ".code faible"Les plateformes de développement.


Il faut également ajouter une maturité beaucoup plus grande des fondamentaux techniques des environnements proposés aujourd'hui. Elle a été acquise au cours des 20 dernières années grâce aux progrès de la recherche et aux innovations technologiques tant au niveau des logiciels que des matériels. De plus, les généralisation d'outils de développement et des méthodes qui tendent à s'uniformiser est un facilitateur de l'adoption de ces outils. Par ailleurs, la création de code informatique perd de son attrait au fil des décennies et représente finalement un frein aux développements industriels dans le domaine des technologies de l'information. La dernière décennie a été marquée par le "platforming", l'utilisation de frameworks "prêts à l'emploi", et l'importance croissante des besoins architecturaux (urbanisation des développements).


Enfin, c'est le développement de solutions exploitant l'IA qui est le domaine le plus avancé dans l'utilisation des environnements Low Code/No Code. Ce domaine d'application est constitué de complexités mathématiques, de modèles, de la nécessité d'organiser des flux de données massifs, et de l'imbrication fréquente de plusieurs modèles (en cascade) pour satisfaire un besoin. Il s'agit donc souvent d'un " agrégat " de modèles précontraints qui sont produits avec une très faible production de code. L'IA est une illustration parfaite d'un extrêmement un important phénomène sous-jacent qui passe relativement inaperçu pour l'instant : l'augmentation exponentielle dans la complexité de nos évolutions. La mobilité, l'ubiquité, la modélisation, la personnalisation, la dématérialisation, les objets connectés, les lacs de données, l'hébergement hybride, les dizaines de langues, les changements d'habitudes (vente, travail, transport, consommation, voyage) ont construit un univers d'une complexité indescriptible. Nous arrivons à un point de basculement dans la complexité globale que les humains (même en groupe) ne peuvent plus appréhender, et encore moins maîtriser, pour conceptualiser des solutions numériques. C'est un terrain favorable au déploiement de ces univers Low Code/No Code.


Enfin, il est nécessaire d'analyser les usages de l'application. Les applications métiers évoquent généralement des solutions telles que le CRM ou l'ERP. Cependant, Ces systèmes ne représentent qu'une petite partie de l'écosystème numérique avec lequel les employés interagissent quotidiennement.. En fait, ils utilisent des dizaines d'applications conçues pour répondre à des cas d'utilisation spécifiques. Par exemple, les spécialistes du marketing utilisent de nombreux outils pour suivre leurs clients, automatiser le marketing par courrier électronique, réaliser des analyses de données et des rapports, gérer la planification des réseaux sociaux, suivre les parcours de contenu, gérer les campagnes et les événements, etc. Chacun de ces outils soulève ses propres problèmes : coût, exigences de formation, sécurité, adoption par les utilisateurs, administration informatique. D'après le rapport " SaaS Trends 2019 " de Blissfully. [12]Dans les entreprises de 500 à 1 000 employés, un employé utilise en moyenne huit applications par jour. Les organisations de 500 à 1 000 employés utilisent en moyenne 151 applications, et ce chiffre passe à 203 applications pour les entreprises de plus de 1 000 employés. C'est l'une des raisons pour lesquelles les outils Low Code/No Code sont devenus un atout majeur. Chaque fois qu'elles ont besoin de nouvelles applications, les entreprises sont alors en mesure de développer en interne des solutions hautement personnalisées, évolutives, sécurisées et rentables.

La croissance de la demande d'outils spécifiques, la pénurie de développeurs, la maturité croissante des technologies et la rationalisation des normes de développement justifient l'émergence des approches LCNC en 2020.

Le LCNC peut désormais couvrir un très grand nombre de développements de services logiciels. Et cette tendance va continuer à se développer, notamment grâce aux possibilités offertes par l'IA.

Manifeste du code bas

Le cadre général du "contrat" porté par le mouvement LCNC est fixé par le "Manifeste du bas code".[13] qui énonce les 9 règles ou principes principaux du mouvement Low Code :

Alors que les principes (en vert) basés sur le Cloud, la Communauté, la Gouvernance et le Contrôle, l'Innovation, l'Ouverture, l'Agilité, le Multi-utilisateurs sont totalement alignés avec les standards du développement logiciel "moderne", les deux premiers principes sont les véritables différenciateurs du LCNC que nous détaillons ci-dessous.

Ingénierie dirigée par les modèles (développement dirigé par les modèles)

L'ingénierie dirigée par les modèles (IDM) est apparue comme une extension de l'approche "tout-objet" introduite par la programmation orientée objet (POO) dans les années 1980. La POO préconisait l'utilisation de l'objet comme une abstraction représentant des concepts du monde réel. L'objet était utilisé comme une abstraction encapsulant les données et le traitement spécifiques à un concept, facilitant ainsi la séparation des concepts. Cependant, cette approche nécessitait une étape de modélisation qui était essentielle pour la conception d'abstractions pertinentes.
L'ingénierie dirigée par les modèles (IDM), a ainsi permis plusieurs améliorations significatives dans le développement de systèmes complexes à partir de cette base objet. Elle valorise le fait de se concentrer sur une préoccupation plus abstraite que la programmation classique. C'est une forme d'ingénierie générative dans laquelle tout ou partie d'une application est générée à partir de modèles, eux-mêmes étant les conséquences de modèles ou méta-modèles de plus haut niveau. Un modèle est une abstraction, une simplification d'un système qui est suffisante pour comprendre le fonctionnement du système modélisé et pour répondre aux questions que l'on se pose à son sujet. Un système peut être décrit par différents modèles interdépendants. L'idée centrale est d'utiliser autant de langages de modélisation spécifiques au domaine (DSML) que l'exigent les aspects chronologiques ou technologiques du développement du système. La définition de ces DSML, appelée méta-modélisation, est donc une question clé de cette nouvelle ingénierie.

Le métamodèle est donc comparable à la grammaire d'un langage de programmation dans le sens où il est utilisé pour décrire un ensemble de modèles corrects. Ainsi, de même qu'il est possible de considérer tous les mots et phrases acceptés par un langage, il est possible de considérer tous les modèles conformes à un métamodèle. Ces modèles font partie de ce que l'on appelle un espace de modèles intégrant un graphe. Ce dernier est composé d'un ensemble de modèles (nœuds) et d'un ensemble de mises à jour ou deltas (arcs) reliant les modèles. De même que la syntaxe d'un langage n'est pas suffisante pour construire des programmes corrects, la conformité d'un modèle n'est souvent pas suffisante pour qualifier un modèle de valide. C'est la sémantique d'un langage de programmation qui détermine si un programme syntaxiquement correct est exécutable. De même, un mécanisme est nécessaire pour spécifier quels modèles sont valides parmi tous les modèles possibles [14].


Une autre question importante est celle de la transformation des modèles [15]. Elle est essentielle afin de rendre les modèles opérationnels pour la génération de code, la documentation et les tests, ainsi que pour leur validation, leur vérification et leur exécution. Il est possible de schématiser la chaîne de conception comme une série de transformations par étapes qui raffinent les modèles de l'abstrait à la génération de code. Ces transformations utilisent principalement des outils de transformation de modèles dédiés qui spécifient les transformations à travers un ensemble de relations exprimées dans un langage. Malgré la diversité de ces outils, l'OCL (Object Constraint Language) est apparu comme le composant commun de toutes les approches.


L'approche de l'ingénierie dirigée par les modèles est au cœur des solutions OCL. Bien que les approches OCL ne nécessitent pas de connaissances en programmation, elles exigent une compréhension de base de la syntaxe et des outils qu'elles proposent. La courbe d'apprentissage n'est donc pas nulle. De facto, le créateur d'un logiciel Low Code/No Code ne développe pas mais construit le modèle de son application. Ce dernier est généralement interprété ou compilé pour générer le code source qui permettra effectivement au logiciel de fonctionner.

Ne vous méprenez pas, les solutions Low Code/No Code ne font que masquer le code source, qui est produit indirectement.

Collaboration et pluridisciplinarité

La collaboration entre les différents acteurs de l'entreprise est essentielle car les silos disparaissent et, à l'avenir, un responsable marketing pourra produire des fonctionnalités (en théorie). [16]. La prise en main d'un outil de création logicielle reste un objectif scientifique de longue date qui se manifeste sous le nom de Développement de l'utilisateur final, une discipline à part entière au carrefour de la modélisation, de l'ergonomie logicielle et de la conception [17]-[19].

En effet, l'environnement de développement visuel d'une plateforme LCNC est spécialement conçu pour résoudre les problèmes de communication et ainsi renforcer la collaboration entre les membres de l'équipe, quel que soit leur domaine d'expertise ou leur acuité technique. Grâce à un langage visuel et une iconographie solides, chacun peut visualiser le problème à résoudre, le besoin à satisfaire, ainsi que les outils et les ressources disponibles pour construire une solution. Le langage visuel est la lingua franca de l'ensemble du cycle de vie, de la définition du problème et de l'exploration de la solution à la création, au test et au déploiement de l'application.

En travaillant avec un langage visuel commun, les contributeurs peuvent partager un écran pour essayer des idées, tenter de résoudre des difficultés ou affiner une interface. Toutes les parties peuvent comprendre les nuances de la discussion et apporter des contributions significatives parce qu'elles voient tout sous leurs yeux. Il n'est pas nécessaire d'interpréter le code ou de traduire PowerPoint.

La courbe d'apprentissage du langage visuel étant théoriquement courte, les membres de l'équipe se sentent rapidement habilités à contribuer à des aspects du développement d'applications qui ne relèvent pas de leurs compétences de base. Un analyste commercial ou un ingénieur produit, par exemple, peut effectivement créer lui-même une application ou ajouter, soustraire ou réorganiser les composants qui la composent. À l'inverse, un développeur expérimenté peut apporter un regard neuf sur un processus métier ou un schéma d'interaction avec le client et proposer des idées innovantes pour optimiser l'efficacité ou l'expérience utilisateur afin de créer un impact commercial plus important. Qui plus est, tout se passe en temps réel dans un environnement véritablement ouvert et collaboratif.

Lorsque les vendeurs et les développeurs parlent le même langage, grâce au modèle visuel, aucune traduction n'est nécessaire, chacun comprend les problèmes tels qu'ils sont présentés et les solutions telles qu'elles évoluent, les itérations sont rapides et tout le monde reste investi dans un processus clairement défini dès le début du projet.

Limitations importantes

Bien entendu, le mouvement LCNC n'offre pas non plus une solution idéale pour tous les cas, et il présente actuellement de nombreuses limites. Les principales limites actuelles sont les suivantes :

  • Certaines plateformes permettent à l l'intégration d'outils existantsmais ces options sont généralement minimalet peu d'environnements les proposent. Il s'agit donc d'une limitation technique majeure.
  • Pour utiliser une plateforme Low/No-Code, il faut s'interroger sur la propriété intellectuelle de la logiciel créé. Avec les plateformes actuelles, nous n'avons souvent qu'un le droit d'utiliser. Pour les éditeurs de logiciels, il s'agit donc d'une limitation difficile à accepter.
  • En cas de changement d'outil, la migration vers un autre système Low/No Code est très difficile (voire impossible). Ce qui est créé avec ce type de solution ne sera que très partiellement exportable et transférable ailleurs, car aucune norme LCNC n'existe à ce jour.
  • La possibilité de modifier le code source et l'ajout de fonctionnalités qui sembleraient nécessaires est très souvent impossible.

Ces environnements sont très similaires aux Ingénierie logicielle assistée par ordinateur (CASE) des années 80 et 90 (Access, PowerBuilder, Clarion, WinDev). La liberté de créer et d'accroître la productivité a pour prix la dépendance à l'égard d'une entreprise spécifique. environnement avec tous les inconvénients déjà connus des CASE.

Par ailleurs, le succès de cet environnement s'explique également par la maturité des offres d'hébergement dans le cloud, notamment les "Platform as a Service" (PaaS). Par ailleurs, les plateformes no code / low code bénéficient largement de la tendance à l'ouverture de nombreuses applications web à des environnements tiers, facilitée par les interfaces de programmation d'applications (API) qu'elles mettent à disposition de tous. Par ce biais et via la " consumérisation " de leurs services, ces plates-formes participent à la transformation de la gestion des processus métiers et des flux documentaires.

Figure 2. Un exemple de la plate-forme LCNC de Convertigo Studio illustrant la création d'une application mobile. (Notez que cet environnement n'est ni plus ni moins qu'un dérivé d'Eclipse, l'environnement de développement historique de JAVA).

Selon Alain Faure et Laurent Sollier du cabinet d'architecture informatique Octo Technology, "la pression induite par la numérisation des activités pousse les entreprises à effacer la division qui a longtemps été faite entre services informatiques et services aux entreprises". Cependant, même si le marché et la demande connaissent une forte croissance, bon nombre d'entreprises continueront à être confrontées à des problèmes qui ne trouveront pas de réponses standardisées et qui nécessiteront un développement informatique au sens strict du terme. "Il y a vingt ans, les systèmes d'entreprise étaient mis en œuvre par des centaines de consultants et d'experts pour un coût de plusieurs millions de dollars", explique Simon Chan, fondateur et PDG de DigiVue Consulting. "Aujourd'hui, grâce au no code / low code, les mêmes systèmes peuvent être mis en œuvre par des acteurs plus modestes pour une fraction du coût et dans un délai beaucoup plus court.

Les environnements LCNC sont très similaires aux CASE des années 80 et 90. La liberté de créer et d'augmenter la productivité a pour prix la dépendance à un environnement spécifique !

LCNC : Menace ou opportunité pour les éditeurs de logiciels ?

Bonitasoft, Appian, Pega, et Salesforce via Einstein Automate unissent leurs forces pour offrir des solutions pour la conception d'applications critiques exploitant l'hyper-automatisation. Il s'agit de la prochaine étape de l'automatisation, fondée sur l'utilisation de nouvelles technologies telles que l'intelligence artificielle, la RPA [20] et l'apprentissage automatique pour robotiser les processus. Dans certains cas, elle peut impliquer la création d'un jumeau numérique pour visualiser comment les fonctions, les processus et les indicateurs de performance interagissent pour générer de la valeur.

Parmi les outils qui progressent, les logiciels de gestion d'entreprise intelligente gagnent en popularité. Il apparaît que d'ici 2025-2030, il sera nécessaire de "construire autant d'applications qu'au cours des 40 dernières années" (citation du PDG d'Appian Technology). Afin de surmonter cette difficulté, de nombreuses entreprises privilégient la "robotisation" des processus de développement logiciel afin de concentrer les développeurs existants sur des tâches beaucoup plus productives de création de valeur commerciale et fonctionnelle.

Dans ce contexte, des acteurs tels que Mendix (propriété de Siemens) et OutSystems (un acteur majeur chez Volkswagen, Mercedes-Benz, Schneider Electric, Honda, Intel, HPE) s'adressent principalement aux fabricants pour leur offrir une production ponctuelle approche. Ce mouvement court-circuite à long terme les éditeurs de logiciels.. Si cette tendance se confirme, il est tout à fait logique et concevable que ce processus se poursuive pour un grand nombre de domaines de l'édition de logiciels, et plus particulièrement des secteurs tels que la gestion.

Les fournisseurs de solutions LCNC ciblent en priorité les industriels pour leur proposer une approche leur permettant de produire eux-mêmes leurs solutions logicielles. Les spécialistes de la finance et de l'assurance ont déjà entamé cette transformation.

Si cette tendance se confirme, ce mouvement de court-circuit touchera à terme un grand nombre de domaines de l'édition logicielle, et plus particulièrement des pans entiers du secteur de la gestion.

A l'heure actuelle, les spécialistes de la finance et de l'assurance semblent être maîtriser réellement ces plateformes. Les groupes de distribution commencent à s'emparer du concept, comme Cdiscount qui a profité du déploiement de son CRM Pegasystems pour créer des applications associées en utilisant les briques et le mortier de l'éditeur. Un autre exemple classique fréquemment cité concerne les équipes RH qui, pour accueillir un salarié, doivent collecter des informations de plusieurs sources puis les saisir dans une ou plusieurs applications afin de créer les accès du salarié, préparer sa visite médicale, lui envoyer sa lettre de bienvenue, le mettre en relation avec plusieurs services de l'entreprise ou encore envoyer des informations au service de gestion de la paie. Un robot peut effectuer toutes ces tâches administratives et répétitives et une plateforme LCNC ouvre la possibilité de personnaliser cette tâche de bout en bout pour chaque entreprise à moindre coût.

En particulier pour les secteurs logiciels à fort contenu commercial ou réglementaire, les progrès extrêmement rapides et constants des techniques de traitement automatique du langage naturel (NLP) vont combiner inexorablement avec le mouvement CNCL. En effet, l'hyper-automatisation s'appliquera à l'intégration massive de corpus de textes, eux-mêmes désormais largement disponibles dans des formats numériques directement accessibles aux machines. La jonction des deux mouvements ouvrira une brèche dans de nombreux domaines "protégés" de l'édition de logiciels jusqu'à présent.

Pour l'instant, nous pouvons constater que l'utilisation de ces plateformes LCNC à grande échelle nécessite non seulement de les déployer mais aussi de construire toute une méthodologie. Cela nécessitera la formation de développeurs chevronnés, beaucoup plus experts, capables de mettre en place ces " nouvelles usines de développement ".

Solutions et tendances du marché

Les principales tendances du marché sont les suivantes :

Le "Guide to Evaluating Codeless Development Technologies" de Gartner publié en février 2019 prévoit que "d'ici 2024, plus de 65% des logiciels mondiaux mis en production seront créés à l'aide de plateformes de configuration sans code".
En 2020, la moitié des développeurs prévoient d'utiliser une plateforme à faible code (Gartner 2019).
D'ici 2024, 75% des grandes entreprises utiliseront au moins quatre plateformes Low Code pour le développement d'applications informatiques (Gartner 2019).
Forrester prévoit que le marché des plateformes de développement sans code passera de $3,8 milliards en 2017 à $54 milliards en 2024.

Des éditeurs de renom s'appuient depuis des années sur l'apport des plateformes de développement qui réduisent la complexité croissante inhérente au codage. Historiquement, les premiers outils LCNC (Low Code/No Code) étaient principalement destinés aux architectes d'applications. L'objectif principal était de simplifier le travail des développeurs grâce à des interfaces et des langages de programmation déclaratifs.
Cependant, ces outils connaissent aujourd'hui un succès croissant auprès d'acteurs tels que Pegasystems, Mendix, Appian et Salesforce. Par exemple, SalesForce propose dans la nouvelle version de son CRM un outil No Code appelé FlowBuilder [21]. FlowBuilder permet de créer, déployer et exécuter des processus de manière graphique. Une telle configuration historiquement réservée aux experts en logiciels et/ou aux développeurs est désormais totalement accessible aux profils non techniques tels que les ressources humaines, le marketing et les ventes.

Figure 3. Illustration de l'interface FlowBuilder pour la création de processus pour Salesforce CRM

Plus largement, les startups et les spécialistes de la modélisation des processus métier (BPM) ont simplifié leurs produits pour proposer des environnements no-code similaires. Le CMS WordPress, disponible depuis 2003, a été suivi par Shopify, Zapier, Airtable, Notion, Bubble ou Coda.

Malgré cet engouement, le concept de low code n'a finalement trouvé un nom qu'en 2014 dans les articles des analystes de Forrester. C'est à peu près au même moment que la notion de "développeur citoyen", imaginée en 2009 par Gartner, a commencé à prendre du sens. Les deux cabinets de conseil ont perçu plusieurs phénomènes. D'une part, les développeurs formés aux langages de programmation de quatrième génération ont commencé à utiliser des environnements visuels pour construire leurs logiciels. D'autre part, les employés désireux de construire des outils métiers ont parfois assimilé ces langages et ont trouvé leur bonheur dans cette UI (User Interface). Le manque de programmeurs, la lenteur des évolutions ou des développements et le besoin croissant de conception d'applications agiles assurent désormais le succès de l'approche LCNC.

Si les principes de la LCNC existent depuis longtemps, la tendance s'est réellement imposée à partir de 2010 et se généralise aujourd'hui.

Il existe un très grand nombre d'environnements LCNC commerciaux et open-source, dont 2 univers français.

Une première observation rapide est qu'il existe de nombreuses solutions dites LCNC sur le marché. Comme le montre la carte ci-dessous, il est néanmoins important de faire la distinction entre les solutions qui permettent de construire un produit dans son intégralité (Product Builders) et les composants génériques (Base Blocks) qui sont des éléments d'un système d'information pouvant être configurés en Low Code/No Code.

Figure 4. Une carte des solutions existantes sur le marché LCNC

Les plateformes d'application fournissent des environnements d'exécution pour la logique applicative. Elles gèrent le cycle de vie d'une application ou d'un composant applicatif et garantissent la disponibilité, la fiabilité, l'évolutivité, la sécurité et la surveillance de la logique applicative.

En 2020, les acteurs les plus mentionnés dans le domaine sont les suivants :

Une plate-forme d'applications à faible code (Low-Code Application Platform, LCAP) est une plate-forme d'applications qui prend en charge le développement, le déploiement, l'exécution et la gestion rapides d'applications en une seule étape à l'aide d'abstractions de programmation déclarative de haut niveau, telles que des langages de programmation basés sur des modèles et des métadonnées. Elles prennent également en charge le développement d'interfaces utilisateur, de logique métier et de services de données, et améliorent la productivité au détriment de la portabilité entre les fournisseurs, par rapport aux plates-formes d'applications classiques. Gartner considère que les plates-formes d'applications sans code font partie du marché LCAP [22].

Solutions d'affaires

Sans entrer dans les détails précis qui composent de nombreux environnements commerciaux, il est possible de décrire les caractéristiques de certains des plus reconnus :

  • Salesforce - Lightning. La solution aPaaS de Salesforce, appelée App Cloud, est une boîte à outils qui comprend la plateforme de création d'applications propriétaire Force.com et la plateforme de création d'applications propriétaire Heroku. Alors que Force.com fonctionne dans les centres de données de Salesforce, celle de Heroku est hébergée chez AWS. Une passerelle, Heroku Connect, a été développée pour assurer la synchronisation des données entre Heroku et Force.com. C'est une parfaite illustration de la " consumérisation " et de la station de plateforme des solutions. C'est en 2015 avec Lightning que Salesforce est véritablement entré dans le monde du low code. Inaugurant une refonte graphique de l'offre SaaS de Salesforce, Lightning a surtout introduit une autre façon de programmer, faisant évoluer Visualforce, l'interface utilisateur de Salesforce, ainsi que Force.com et son langage propriétaire (Apex), fortement inspiré de Java. Ses modules Process Builder et Visual Workflow permettent à Lightning d'instancier des briques métier et de les assembler dans un workflow. L'utilisateur peut utiliser les composants pré-intégrés de Salesforce ou ceux fournis par des tiers via la place de marché AppExchange. Les briques SaaS peuvent être configurées à 80 ou 90 % sans code. Toutefois, pour la mise en œuvre de règles commerciales complexes et spécifiques, le code et Force.com sont nécessaires.
  • Appian - Applications rapides. Cette société, créée en 1991, est positionnée à un carrefour par rapport à ses concurrents. Elle est principalement connue pour ses solutions de gestion des processus métier (BPM) et de gestion des cas. Elle a étendu son expertise au low code de manière assez naturelle. Laurent Chailley, directeur commercial France d'Appian, estime que l'expertise de ces deux métiers " historiques " (l'automatisation des processus et la gestion des données) permet à Appian d'industrialiser et de déployer en toute sécurité une application à l'échelle d'un groupe international. Appian concentre sa R&D à Restone, en Virginie, et compte parmi ses clients Sanofi et BNP Paribas. Appian promet de créer des applications en 15 minutes. En novembre 2020, l'entreprise a sorti la troisième version de Quick Apps Designer, un outil de conception graphique qui ne nécessite aucune compétence technique. Il guide l'utilisateur dans les grandes étapes de la mise en œuvre d'une application (gestion des données, formulaires, processus...). L'éditeur propose différentes solutions : modes on-premise, hybride ou cloud public. Ce dernier choix utilise l'infrastructure d'AWS.
  • Mendix. Fondé en 2005 aux Pays-Bas, Mendix s'est maintenant installé à Boston, aux États-Unis. L'éditeur propose un outil de modélisation basé sur un environnement de développement visuel. Il revendique plus de 3 400 organisations clientes dans le monde mais ne précise pas la proportion d'utilisateurs de sa version gratuite. La dernière version de Mendix met l'accent sur le développement rapide d'applications intelligentes pour l'IoT en proposant des connecteurs prêts à l'emploi avec AWS IoT, IBM Watson et LoRaWAN. Les applications construites avec Mendix peuvent être déployées sur les infrastructures AWS, IBM Bluemix ou Microsoft Azure. L'utilisation des technologies Cloud Foundry et Docker assure leur portabilité sur tous les types de Clouds, qu'ils soient publics, privés ou hybrides. Mendix offre un magasin d'applications assez riche avec des centaines de composants et d'applications prêtes à l'emploi.
  • OutSystems. L'entreprise est née au Portugal en 2001 et a depuis migré aux États-Unis, précisément à Atlanta. L'éditeur est, comme Mendix, ce qu'on appelle un pure player. Son PaaS aurait permis le développement rapide de plus de 100 000 applications à travers le monde. Sa plateforme, basée sur un modèle de métadonnées, génère automatiquement du code Java ou .Net par glisser-déposer de composants. L'application web ou mobile ainsi créée peut être complétée par du code écrit en C#, Java, JavaScript, SQL, CSS ou HTML. Une fois le développement terminé, l'application peut être déployée sur un Cloud (privé, public ou hybride) ou sur un serveur interne (on-premise). La bibliothèque Forge d'OutSystems offre des connecteurs pour les services de cloud les plus populaires tels que Zendesk ou Twilio. OutSystems est membre du CISQ (Consortium for Software Quality). GFI a récemment acquis Roff, un intégrateur spécialisé d'OutSystems.
  • ServiceNow - Développement d'applications. En tant que spécialiste des processus métiers, cette entreprise s'est naturellement intéressée au low code, élargissant ainsi sa cible historique (les services informatiques) à la gestion d'entreprise. Son portail de services, Application Development, permet, entre autres, et via un environnement de développement interne (Studio), de créer une application web ou mobile à partir d'un ensemble de composants et de modèles prédéfinis. Le Studio offre des fonctionnalités de type workflow permettant l'intégration de systèmes et formulaires existants. L'application peut ensuite être déployée par le PaaS de ServiceNow. L'éditeur propose une série d'API et d'outils d'intégration. En 2015, il a lancé sa boutique CreateNow, ainsi qu'un programme pour développeurs ciblant à la fois les programmeurs expérimentés et les amateurs de code faible.
  • Microsoft - Power Platform. L'ambition de Power Platform est de proposer une suite intégrée d'outils permettant aux entreprises de développer des applications de A à Z sans passer par l'informatique. Microsoft réunit dans cette plateforme trois offres préexistantes : Power BI, PowerApps, et Flow. PowerApps est un environnement de développement low code permettant de concevoir des applications Web ou mobiles sans connaissance en programmation via une interface graphique 100% tout en l'intégrant avec des logiciels tiers et des sources de données. Flow est considéré comme un outil RPA (robotic process automation) pour la conception, le déploiement et l'orchestration de processus métier. La force de Power Platform est clairement le "bouquet" de quelque 250 connecteurs couvrant à la fois les logiciels Microsoft (Office 365, Dynamics 365) et non-Microsoft (Adobe, GitHub, Salesforce, ServiceNow, Slack, Zendesk...). Il s'agit d'une étape décisive franchie par Microsoft en matière de bureautique et d'espaces de travail collaboratifs intégrés.
  • Amazon Honeycode. Honeycode est la nouvelle solution de développement d'applications à faible (ou sans) code d'AWS (juin 2020) pour contrer Google Cloud et Microsoft Azure. Honeycode est un modèle de feuille de calcul assisté par des modèles et de nombreuses fonctions intégrées. Les clients peuvent utiliser un simple assistant visuel pour créer des applications web et mobiles hautement interactives en utilisant une puissante base de données construite par AWS. Cette base de données permet d'effectuer des tâches telles que le suivi des données dans le temps, la notification des changements, l'acheminement des approbations et la facilitation des processus commerciaux interactifs. La complexité des applications varie d'une application de suivi des tâches pour une petite équipe à un système de gestion de projet qui gère un flux de travail complexe pour plusieurs équipes ou départements.

Solutions Open Source

Il est parfaitement possible de produire une plateforme LCNC en exploitant des technologies open source relativement complètes. Un "atelier" de production pourrait très bien être mis en place avec les éléments suivants :

  • Acceleo est un générateur de code open-source pour Eclipse utilisé pour générer des langages textuels (Java, PHP, Python, Javascript) à partir de modèles EMF (Eclipse Modeling Framework) extraits de méta-modèles tels que SysML ou UML).
  • Actifsource est un plugin Eclipse permettant la génération de code via des modèles graphiques et l'utilisation de méthodes de templating.
  • Réingénierie du logiciel DMS Boîte à outils permettant de définir des DSL (langages spécifiques à un domaine) qui servent de modèles de haut niveau pour la traduction dans tous les langages de texte.
  • GeneXus est une plateforme de génération de code multiplateforme basée sur des représentations de connaissances principalement orientée vers la création de logiciels de gestion. Son utilisation est basée sur des descriptions dans un langage déclaratif avec une génération de programmation multi-langues.
  • OpenXava est une plateforme open source à faible code qui permet de générer des applications de gestion complètes en Java.
  • OSBP est une usine logicielle fournie en open source par la Fondation Eclipse. Cet environnement combine le Low Code et le No-Code avec les outils de développement classiques. Le codage est remplacé par l'utilisation d'un modèle descriptif.
  • Spring Roo est un cadre de génération de code Java Open Source permettant de prendre en compte les considérations relatives au côté serveur, en particulier pour séparer les différentes couches de logiciels.
  • RISE est une suite logicielle gratuite de modélisation et de génération de code pour les aspects liés aux bases de données et à la persistance.
  • Wavemaker est une plateforme Low Code qui permet la production de grandes surfaces d'applications professionnelles côté serveur en générant un code largement basé sur les standards du marché (Angular, Typescript, Java).
  • Objets génératifs. Il s'agit d'une alternative open-source pour garantir la démocratisation de l'accès au low-code via une plateforme GO-Low-code.
  • Bulle. Bubble Group a été fondé en 2012 par Emmanuel Straschnov et Joshua Haas à New York. Pour les deux fondateurs, si le codage est essentiellement similaire à la composition à l'ancienne, alors Bubble est le traitement de texte pour la rédaction d'applications. Il s'agit d'une plateforme permettant de créer des applications web pour ordinateurs ou smartphones, sans écrire une seule ligne de code. Si l'utilisation du logiciel en ligne est gratuite, l'hébergement en nuage de l'application est payant, sous la forme d'un abonnement mensuel.
  • Convertigo. C'est l'un des rares acteurs français du Low Code à avoir une dimension internationale. Sa particularité consiste à promouvoir le Low Code open-source et à s'appuyer sur les standards du marché pour réduire au maximum les adhérences techniques. Convertigo est également un acteur du No Code sur un marché en pleine croissance. Nous avons posé quelques questions à Olivier Picciotto.

Quelques anecdotes remarquables

Unqork

La ville de New York a utilisé une plateforme sans code pour mettre en œuvre rapidement un nouveau portail web anti-Covid. Pour y parvenir très rapidement, la ville a utilisé l'environnement LCNC d'Unqork. "Il n'y a plus d'armée d'ingénieurs", a déclaré Gary Hoberman, le fondateur d'Unqork, qui a travaillé avec le département des technologies de l'information et des télécommunications de New York pour lancer le nouveau portail. Les responsables utilisent le site Web pour tenter de rassembler des informations sur les endroits où les personnes présentant des symptômes de la maladie sont potentiellement entrées en contact avec d'autres personnes.

La plateforme Unqork donne aux clients la possibilité de concevoir rapidement des applications web en configurant divers ensembles de données et widgets à l'aide d'une interface visuelle, plutôt que de produire du code. M. Hoberman considère que son équipe crée des "blocs Lego" génériques qu'une entreprise ou un gouvernement peut personnaliser en fonction de ses objectifs. La ville de New York a utilisé Unqork pour développer d'autres applications, notamment un service de livraison de nourriture par lequel la ville recrute des chauffeurs de taxi et de limousine pour apporter des repas aux personnes qui ne peuvent pas quitter leur domicile et n'ont pas les moyens de se faire livrer par des épiceries ou des restaurants. La Banque alimentaire de New York, une organisation à but non lucratif, estime qu'environ 1,2 million de New-Yorkais souffrent d'insécurité alimentaire. Il existe également un portail web pour les dons d'équipements médicaux, tels que des ventilateurs ou des équipements de protection individuelle, car les hôpitaux de la ville sont débordés.

En octobre 2020, Unqork a également obtenu un financement de série C de $207 millions, portant la valeur de l'entreprise à $2 milliards. Le tour de table a été mené par des fonds et des comptes gérés par BlackRock et rejoint par Eldridge, Fin Venture Capital, Hewlett Packard Enterprise, Schonfeld Strategic Advisors et Sunley House Capital Management, une filiale d'Advent International. Les investisseurs existants, dont CapitalG, le fonds de croissance indépendant d'Alphabet, Goldman Sachs, Broadridge Financial Solutions, Aquiline Technology Growth et World Innovation Lab (WiL), participent également à l'opération. L'entreprise utilisera ce nouveau financement pour poursuivre l'exécution d'un certain nombre d'initiatives en cours, telles que l'expansion de sa force de vente mondiale, la poursuite des investissements dans la technologie, la formation et les partenariats de mise sur le marché avec les principales sociétés de services et intégrateurs de systèmes du monde, notamment Capco, Cognizant, Deloitte, EY, KPMG et Virtusa.
Unqork a été adopté par des organisations de premier plan dans les services financiers, les assurances, les services publics, les soins de santé et d'autres secteurs. Parmi ses clients figurent Aon plc, District of Columbia, Goldman Sachs, Liberty Mutual, Montgomery County, New York, Nippon Life, Pacific Life, Rethink Food, Vault, etc.

Bulle

Créer une start-up implique de recruter des ingénieurs pour construire l'architecture technologique de la plateforme souhaitée. Le recrutement de tels profils peut rapidement devenir un casse-tête car il est coûteux et difficile face à une forte demande du marché. Dans ce contexte, il est également possible de programmer soi-même mais encore faut-il apprendre à coder. Cet apprentissage peut rapidement devenir fastidieux, au point de pousser certains entrepreneurs à jeter l'éponge. La start-up new-yorkaise Bubble s'est donc donné pour objectif de simplifier les tâches technologiques des entrepreneurs. Fondée en 2012, l'entreprise était jusqu'alors autofinancée, mais après sept ans d'existence, elle entend désormais passer à la vitesse supérieure pour proposer sa technologie au plus grand nombre.

En juin 2019, la start-up américaine a annoncé un premier tour de table de 6,25 millions de dollars auprès du fonds californien SignalFire (Uber, Lime). Des business angels comme Ali Partovi, investisseur dans Airbnb, Facebook et Dropbox, via Neo Ventures, et Farzad "Fuzzy" Khosrowshahi, créateur de Google Sheets, tous deux cousins du patron d'Uber, Dara Khosrowshahi, ainsi que Frederic Kerrest, fondateur d'Okta, et le chanteur Nas, ont également participé à l'opération.

Lancée par Josh Haas et Emmanuel Straschnov, Bubble est une plateforme qui permet de créer facilement un site web ou une application mobile sans avoir à apprendre à coder ou à faire appel à un développeur. Concrètement, l'interface graphique permet aux entrepreneurs de programmer visuellement la solution logicielle qu'ils souhaitent construire tout en se libérant des contraintes du codage informatique. En effet, l'utilisateur a accès à une bibliothèque de briques d'éléments et d'actions qu'il peut combiner visuellement pour construire son site facilement et rapidement. Bubble permet de programmer l'équivalent d'un réseau social comme Twitter ou d'une place de marché comme Airbnb en une semaine de travail !
Bubble revendique plus de 270 000 utilisateurs qui ont créé plus de 230 000 applications et réalise un chiffre d'affaires de 2 millions de dollars en 2018.

Zapier

Comment augmenter les ventes pendant la saison hivernale grise et terne ? Une bonne stratégie consiste à motiver les acheteurs avec des messages contextuels personnalisés. Dans le froid de l'hiver, les campagnes basées sur la météo peuvent être utilisées pour motiver les clients à dépenser grâce à des outils tels qu'un code promo, la livraison gratuite, une carte cadeau, ou même des points de fidélité supplémentaires gagnés après avoir passé une commande. Le défi consiste à ne cibler que les clients dont les prévisions météorologiques remplissent certaines conditions ? Il est compréhensible que le lancement d'une telle campagne basée sur la météo puisse sembler compliqué et long, ce qui est contraire à une réaction rapide à la météo.

Voucherify, une société spécialisée dans la gestion des outils de fidélisation, fait la promotion du "marketing météo" ! Cette approche exploite une puissante capacité d'automatisation pour analyser les données météorologiques en temps réel afin de déclencher des publicités et de personnaliser les messages marketing en fonction de la météo locale. La société s'est concentrée sur des scénarios qui peuvent être mis en place en quelques jours pour permettre une utilisation au plus près des changements saisonniers. Pour établir une expérience et mettre en place des campagnes de fidélisation (coupons, cartes cadeaux) en fonction de la météo mondiale et locale, en utilisant peu ou pas de code, elle s'est appuyée sur l'utilisation de cinq plateformes API-first. À chaque fois, la mise en œuvre n'a pris que quelques heures, y compris la phase d'idéation.
La campagne promotionnelle d'un café à Berlin en est un exemple. Au début de la saison hivernale, les utilisateurs reçoivent par SMS deux codes promotionnels qu'ils ne peuvent utiliser que s'il neige (le premier code est actif si la température est supérieure à -15°C, le second si la température est inférieure à -15°C). Les coupons sont automatiquement désactivés ou activés chaque jour, en fonction des prévisions météorologiques pour Berlin. Cette vérification est effectuée tous les jours à 7 heures du matin via l'automatisation Zapier. Les coupons ne peuvent être utilisés qu'une seule fois par client. L'architecture générale de l'application est la suivante :

La plateforme Low Code Zapier combinée aux plateformes API (Twilio, AerisWeather) permet de créer et d'adapter très rapidement (au jour le jour) les fonctionnalités d'une telle application pour la tester et surtout la personnaliser à l'extrême pour un cas d'usage très précis.

Objets génératifs

Ce projet a démontré la puissance de la Français solution Générative Object. L'outil LCNC de Générative Objects a permis de construire une solution de gestion des dossiers d'héritage, d'assurance-vie et de donation.

Figure 5. Une capture d'écran de la solution de gestion construite en Low-Code avec Generative Objects

Le produit propose une base de données, des alertes, une saisie fiable et standardisée des données, des calculs automatisés, des documents pré-remplis automatiquement et paramétrables, l'imputation comptable des revenus et des dépenses, et la conformité au RGPD.
Avec cet exemple, Generative Objects démontre que sa solution permet de construire des applications de gestion qui n'ont rien à envier à celles développées avec des méthodes traditionnelles.

LCNC chez Berger-Levrault

Comme nous l'avons développé tout au long de cette étude, l'approche LCNC n'est pas nouvelle, bien qu'elle soit en train d'émerger commercialement. La LCNC tire ses concepts et sa technologie des générateurs de code et des environnements de modélisation. La Direction de la Recherche et de l'Innovation Technologique utilise depuis plusieurs années des solutions LCNC pour un très grand nombre de projets. En voici quelques exemples :

  • Modélisation et génération de code: Nos projets de migration semi-automatique (GWT vers Angular, PowerBuilder, Access) s'appuient sur des analyseurs et des générateurs de code ainsi que sur les techniques d'ingénierie dirigée par les modèles qui sont au cœur des solutions LCNC. Par exemple, nous utilisons le Moose3 plateforme permettant d'analyser le code existant, de modéliser un résultat attendu et de générer le code correspondant.
  • Langage graphique pour la configuration d'un optimiseur de planification : L'expression des contraintes métier et des fonctions d'optimisation pour configurer un optimiseur de planification nécessite de solides compétences en programmation mais aussi en mathématiques. Cependant, ces éléments dépendent fortement de l'activité à traiter, et très souvent les utilisateurs et les PO (product owners) ont la capacité de les exprimer en langage naturel. Pour leur permettre de mettre en place un optimiseur de planification sans écrire de code, nous avons développé une solution qui utilise un DSL (Domain Specific Language) graphique.4) pour générer les formulations mathématiques et le code nécessaire qui sera ensuite exécuté sur un solveur. Ce prototype, illustré ci-dessous, utilise les techniques de l'ingénierie dirigée par les modèles, notamment par le biais de l'application ADOxx5 plateforme de méta-modélisation.

3.https://moosetechnology.org/
4.https://en.wikipedia.org/wiki/Domain-specific_language
5.https://www.adoxx.org/live/home

Figure 6. A gauche : Un exemple de DSL ou langage spécifique au domaine créé spécifiquement pour configurer les algorithmes d'optimisation de l'ordonnancement. Ici, le DSL est utilisé pour spécifier les contraintes à prendre en compte (colonne de droite), pour décrire les données (sur la carte) et leurs interactions. Le DSL génère ensuite une formulation mathématique intermédiaire (à droite) qui est traduite en code source utilisé par un solveur. La transition de l'environnement visuel à l'environnement mathématique, puis au code source, est réalisée à l'aide de techniques d'ingénierie dirigée par les modèles (MDE) dans l'environnement ADOxx.

  • Génération de connecteurs d'interopérabilité: Il n'y a rien de plus semblable que deux connecteurs d'interopérabilité. Pour chaque nouveau besoin d'interopérabilité logicielle, il est néanmoins nécessaire de développer un connecteur pour s'adapter au format de message, au protocole, et aux contraintes de sécurité de chaque partie. Nous travaillons actuellement sur une solution low code pour générer des connecteurs d'interopérabilité en utilisant des techniques d'ingénierie dirigée par les modèles.
  • Connecteurs pour la plateforme IoT: La plateforme IoT développée par DRIT pour CARL Software nécessite des mises à jour logiques et programmatiques très fréquentes. Ceci est dû au contexte des capteurs sur le terrain, qui change régulièrement. Pour y parvenir, nous avons déployé une solution Low Code appelée Node-Red, qui permet de câbler graphiquement un ensemble de périphériques matériels, d'automates et de services en ligne. Node-Red6 fournit un éditeur basé sur un navigateur qui facilite le recâblage des flux de données chauds sans interruption et en quelques secondes. Il s'agit d'un bon exemple d'interopérabilité et de traitement des données entièrement opérationnel, utilisant les principes du Low Code.

6.https://nodered.org/

Figure 7. Illustration de l'interface Low-Code Node-Red pour notre plateforme IOT
  • Automatisation des processus comptables: Depuis peu, nous utilisons les solutions LCNC pour configurer le comportement d'un RPA. Cette solution nous permet d'automatiser le pointage des soldes comptables pour nos produits de gestion financière. Nous avons expérimenté l'utilisation de UIPath, une solution RPA qui est basée sur les principes de LCNC. Comme le montre la figure 8, le robot est configuré graphiquement à l'aide de composants prédéfinis. Si nécessaire, des composants personnalisés peuvent être ajoutés en écrivant du code.
Figure 8. Une illustration de la configuration de notre Robot Comptable en no-code grâce à UIPath. Le comportement du robot est décrit graphiquement par un enchaînement d'actions représentées sous forme de cases/flèches configurables.

Ces exemples et prototypes mettent en pratique trois aspects :

  • La diversité des solutions LCNC qui peuvent être utilisées pour certains de nos problèmes commerciaux. Chaque prototype utilise une solution LCNC différente qui répond à un besoin particulier.
  • Le rôle important de l'ingénierie dirigée par les modèles, une science qui est exploitée depuis longtemps dans des secteurs industriels critiques tels que l'aéronautique, l'espace et l'automobile [23], [24].
  • Le potentiel de ces outils pour redévelopper/configurer rapidement des solutions logicielles sans avoir besoin de développement ou d'expertise technique.

Conclusions

Contexte opérationnel et implications

Les plateformes Low Code/No Code ont toujours existé et ont "résolu" à des degrés divers les problèmes de l'industrialisation face à la "complexité" du moment. Les systèmes d'exploitation ont masqué les problèmes matériels, le cloud a résolu le problème de l'hébergement, les créateurs de sites ont résolu le problème des pages web, le compilateur C a résolu le problème de la génération de code assembleur, etc. Au final, le LCNC a toujours 10 ans de retard sur les besoins des entreprises, c'est-à-dire qu'il est toujours opérationnel mais ne rattrape jamais les attentes parfois disproportionnées de l'industrie.

Au final, le LCNC a toujours 10 ans de retard sur les besoins de l'entreprise, c'est-à-dire qu'il est toujours opérationnel mais ne rattrape jamais les attentes parfois disproportionnées de l'industrie.

Les techniques de LCNC permettent désormais de satisfaire progressivement certains besoins des éditeurs de logiciels qui créent des applications. Il est raisonnable de penser que l'édition de logiciels va, à son tour, subir une "industrialisation" massive en repositionnant l'accent sur :

  • Les utilisations, qui deviennent beaucoup trop nombreuses,
  • Optimisation, intégrant certainement des considérations environnementales,
  • Réactivité, pour adapter beaucoup plus rapidement les solutions aux changements en cours,
  • L'absorption de la complexité, qui échappe peu à peu aux capacités des équipes, même les plus grandes.

Il est donc très important de comprendre la très forte complémentarité qui existe entre plusieurs mouvements qui se déroulent simultanément en ce moment dans le secteur du développement de logiciels :

  • La multi-tenance. Elle joue un rôle clé dans la cloudification des solutions puisqu'elle améliore sensiblement ce que l'on appelle l'élasticité des infrastructures. Plus simplement, la capacité à absorber de manière transparente l'augmentation du nombre d'utilisateurs (volume de données et de transactions commerciales confondus). C'est fondamentalement la modélisation des données et l'organisation architecturale qui établit cette capacité dans les solutions logicielles, mais cela se traduit par une transformation profonde et complexe des méthodes de production et d'exploitation des solutions.
  • Micro-services. Ils jouent un rôle central dans la diffusion, la mise à jour et l'adaptabilité des solutions. Les micro-services installent des moyens natifs dans les applications pour faciliter les stratégies de CI/CD (Continuous Integration / Continuous Delivery). En termes simples, cela permet de fournir des fonctionnalités, des sous-fonctionnalités, des mises à jour de données ou des dépannages technologiques de manière industrielle, (semi-)automatisée et presque transparente pour les utilisateurs. C'est une transformation radicale qui change la façon dont nous concevons nos solutions et ce sont les métiers de la conception et de la transformation fonctionnelle qui sont impactés.
  • Le Low Code/No Code. Ce mouvement déplace littéralement la chaîne de valeur vers l'amont et place peu à peu les capacités de production industrialisées et conditionnées entre les mains d'experts en marketing et en commerce. Cela conduit à un double mouvement. D'une part, un mouvement horizontal implique une augmentation des compétences et des besoins de flexibilité des métiers du marketing produit et de l'expertise métier (dont les ingénieurs avant-vente ou technico-commerciaux par exemple). D'autre part, la dépossession des développeurs, dont le métier va évoluer verticalement vers l'architecture, les environnements complexes et les processus d'automatisation, nécessite beaucoup moins de personnes mais beaucoup plus de personnel qualifié (experts).
  • L'IA-Code. Ce dernier, apparu il y a 4 à 5 ans, s'attaque au cœur métier et fonctionnel des applications logicielles. Les noms de son utilisation sont nombreux, tels que l'automatisation des tests, l'analyse du code, la rétro-ingénierie, et cachent en fait des domaines que la recherche a établis il y a plus de 25 ans. Mais l'IA apporte aujourd'hui un début de solution à des problèmes qui sont restés très théoriques jusqu'à aujourd'hui. Bientôt, des "usines logicielles" permettront de récupérer les connaissances métier contenues dans les logiciels pour produire des tests de manière automatisée, analyser systématiquement la production (qualité, sécurité, protection de la vie privée), ou encore capitaliser à haut niveau le savoir-faire intégré dans le code. Le plus important est que la dimension fonctionnelle et métier ne sera plus prisonnière d'une technologie de bas niveau (Java, PHP, HTML, etc.) et sera accessible en langage naturel dans des modèles qui pourront évoluer, être mis à jour et réutilisés. La question de demain sera : vers quelle plateforme dois-je générer mon application ? Comment exprimer l'évolution de mon activité ?

L'alignement de ces quatre évolutions majeures au cours des 10 prochaines années est susceptible de bouleverser totalement le métier de développeur de logiciels. La tendance à l'industrialisation massive permettra de plus en plus de se concentrer sur le "quoi" (quoi produire, quels services développer) plutôt que sur le "comment" (quelle technologie, quel hébergement).

Les dangers de l'automatisation des sorties

Malgré la simplicité des plateformes à faible code (et cela s'applique également à la RPA), la maintenabilité n'est pas garantie. Basé sur des composants standard, un environnement de développement intégré permet de concevoir rapidement des applications et des robots, ce qui peut faire oublier la nécessité d'une conception réfléchie. Or, une conception réfléchie est cruciale pour garantir une bonne maintenabilité et éviter des coûts en cascade à l'avenir.
Les applications à faible code et les robots RPA dépendent souvent de l'environnement dans lequel ils sont exécutés. Il suffit d'une mise à jour (souvent inévitable) des outils, de l'arrivée d'un nouveau produit ou d'un événement exceptionnel pour perturber cet environnement. Si vous n'êtes pas en mesure de redémarrer un robot ou une application en panne, c'est tout un service qui peut être pénalisé.
D'autre part, la puissance de ces plateformes implique qu'elles soient utilisées de manière responsable. Ceci introduit ici la notion de gouvernance. La RPA et le Low Code nécessitent un cadre pour définir les normes de développement, évangéliser les bonnes pratiques, vérifier et valider les robots et les applications avant leur mise en production afin qu'ils ne créent pas plus de problèmes qu'ils n'en résolvent.
Les grands comptes qui automatisent un grand nombre de processus robotisés ont déjà mis en œuvre ce modèle de gouvernance. En effet, la RPA démontre tout son potentiel lorsqu'il s'agit de passer à l'échelle supérieure. Le bénéfice des robots pris collectivement est supérieur à la somme de leurs valeurs individuelles. Un client de Talan a ainsi pu, en mettant en place un modèle de gouvernance, produire quelque 200 robots en deux ans avec un coût de maintenance qui reste aujourd'hui négligeable par rapport au gain apporté par ces robots.
Cette gouvernance doit également éviter une automatisation excessive, qui détruirait un grand nombre d'emplois, notamment dans les fonctions de back-office. Comme dans le domaine de l'intelligence artificielle, il s'agit bien d'"augmenter" le nombre de salariés pour les libérer des tâches fastidieuses et leur donner des outils toujours plus performants pour maximiser la productivité.
Entre le low code, le no code et la RPA, le mariage de raison semble inévitable. Pourtant, l'expérience a montré que la gouvernance stratégique est la clé pour réinventer l'entreprise et donner toute sa place à la créativité des équipes.

Bibliographie

1] " Convertigo-White-paper-FR.pdf ". consulté le 24 janvier 2021. [En ligne]. disponible sur : https://www.convertigo.com/wp-content/uploads/2021/01/Convertigo-White-paper-FR.pdf.
[2] A. E. Bell, " Death by UML Fever : L'autodiagnostic et le traitement précoce sont essentiels dans la lutte contre la fièvre UML. ", Queue, vol. 2, no 1, p. 72-80, mars 2004, doi : 10.1145/984458.984495.
3] A. Peters et A. Peters, " How A Man With No Coding Experience Built An App That's Bringing Solar Power To Yemen ", Fast Company, 08 mai 2017. https://www.fastcompany.com/40417060/how-a-man-with-no-coding-experience-built-an-app-thats-bringing-solar-power-to-yemen (consulté le 26 janvier 2021).
4] " BeaverBuilder : WordPress Page Builder Plugin ", Beaver Builder. https://www.wpbeaverbuilder.com/ (consulté le 20 janvier 2021).
[5] " Elementor : WordPress Website Builder ", Elementor. https://elementor.com/ (consulté le 20 janvier 2021).
6] "Flow XO - Plateforme de chatbot facile à utiliser ". https://flowxo.com/ (consulté le 20 janvier 2021).
[7] " Intercom : Chatbots personnalisables ". https://www.intercom.com/drlp/customizable-bots-biz utm_source=google&utm_medium=sem&utm_campaign=9363026333&utm_term=%2Bchat%20%2Bbot&utm_ad_collection=95042838956&_bt=418883716507&_bg=95042838956&utm_ad=418883716507&offer=drcustombotsbiz&utm_campaign_name=go_evg_acq_trial_nb_chatbot_bld_emea_en&utm_ad_collection_name=sup-p_chatbot_bmm&utm_ad_name=drcustombotsbiz_text_21q1&gclid=CjwKCAiAo5qABhBdEiwAOtGmbmweUU2MY9NUyPC7FQahF3RVNAmRbnDYVhnwe9_GZ6KZn0x6wZQKLxoC_xQQAvD_BwE (consulté le 20 janvier 2021).
[8] " Botnation ", Botnation AI. https://botnation.ai/fr/?gclid=CjwKCAiAo5qABhBdEiwAOtGmbq0CqlAuYyECcRrUjDBfdRSjdVNIDpAYmqFdyQQ8ScHmPlmy3owvJRoCG-kQAvD_BwE (consulté le 20 janvier 2021).
[9] " Import.io - Data Extraction, Web Data, Web Harvesting, Data Preparation, Data Integration ", Import.io. https://www.import.io/ (consulté le 20 janvier 2021).
10] " Octoparse : Outil d'extraction de données sur le Web et crawlers Web gratuits ". https://www.octoparse.com/ (consulté le 20 janvier 2021).
[11] " eBook : The Field Guide to No-Code Application Platforms ". https://www.unqork.com/resources/ebooks/ebook-the-field-guide-to-no-code-application-platforms (consulté le 24 janvier 2021).
12] " 2019 Annual SaaS Trends Report - Researched By Blissfully ", Blissfully. https://www.blissfully.com/saas-trends/2019-annual/ consulté le 26 janvier 2021).
13] "The Low-Code Manifesto & 9 Principles of Low-Code App Development ", Mendix. https://www.mendix.com/low-code-guide/the-low-code-manifesto/ (consulté le 20 janvier 2021).
14] T. L. Calvar, " Exploration d'ensembles de modèles ", p. 157.
15] B. Combemale, " Ingénierie Dirigée par les Modèles (IDM) - État de l'art ", 2008.
[16] " Maximiser l'efficacité : How TIME works smarter, not harder ". https://blog.airtable.com/maximizing-efficiency-time-video-production/ (consulté le 26 janvier 2021).
17] G. Fischer, " End-User Development and Meta-design : Foundations for Cultures of Participation ", End-User Development, Berlin, Heidelberg, 2009, p. 3-14, DOI : 10.1007/978-3-642-00427-8_1.
18] G. Fischer, E. Giaccardi, Y. Ye, A. G. Sutcliffe, et N. Mehandjiev, " Meta-design : un manifeste pour le développement des utilisateurs finaux ", Commun. ACM, vol. 47, no 9, p. 33-37, sept. 2004, doi : 10.1145/1015864.1015884.
19] A. I. Mørch, G. Stevens, M. Won, M. Klann, Y. Dittrich, et V. Wulf, "Component-based technologies for end-user development", Commun. ACM, vol. 47, no 9, p. 59-62, sept. 2004, DOI : 10.1145/1015864.1015890.
20] T. Hamelin, " AUTOMATISATION DES PROCESSUS MÉTIER : ÉTAT DES LIEUX ET APPORTS DU RPA ", p. 14.
21] " FlowBuilder ", Salesforce Lightning Flow. https://trailhead.salesforce.com/fr/content/learn/modules/business_process_automation (consulté le 20 janvier 2021).
22] Gartner, " Magic Quadrant for Enterprise Low-Code Application Platforms ", août 2019.

Plus ...

Retour en haut