Plateforme de développement low-code/no-code (plateforme LCNC)
Une plateforme de développement low-code/no-code (LCNC) est un environnement de développement intégré (IDE pour Integrated Development Environment) visuel dans lequel des citizen developers peuvent ajouter des composants d'application par glisser-déposer et les connecter entre eux pour créer une application mobile ou Web.
Cette approche modulaire permet aux développeurs professionnels de construire plus rapidement leurs applications, en leur permettant de et de les prototyper sans avoir à écrire le code, ligne par ligne.
Mais le low-code / no-code démocratise surtout le développement logiciel et le met à la portée des novices (opérationnels, analystes métier, administrateurs, etc.) qui peuvent créer et tester rapidement des applications avec ces outils intuitifs.
Avec une plateforme LCNC, une personne qui souhaite créer une application peut tout ignorer des langages de programmation et de ce qui se passe, sous le capot, de la plateforme. Guidé par une interface utilisateur graphique (GUI pour Graphical User Interface), le citizen developer peut intégrer et tester des composants et des APIs tierces jusqu'à ce que l'application fonctionne comme il le souhaite.
Différence entre Low-code et No-code
La différence entre no-code et low-code n'est pas toujours très nette.
De façon générale, les analystes voient le no-code comme une catégorie particulière de low-code, du fait que même les solutions no-code les plus performantes exigent toujours plus ou moins que l'on écrive du code pour finaliser les applications.
Les outils no-code sont des plateformes de cloud public dans lesquelles les composants sont censés répondre clefs en main à des besoins spécifiques à un secteur, à une fonction ou à une branche d'activité. Ils seraient donc suffisants pour créer des applications métiers sans avoir recours à aucune autre intervention.
Dans la réalité, il y a presque toujours besoin de modifier le code ainsi généré. On entre alors dans le domaine du low-code, qui, par définition, implique de faire appel à des développeurs pour apporter quelques modifications côté serveur (back-end) par exemple pour que la nouvelle application soit compatible avec d'autres logiciels métier.
Une autre distinction concerne les applications crées. Les plates-formes no-code sont généralement utilisées pour créer des applications tactiques et ponctuelles pour gérer des fonctions simples, côté opérationnel. Les plates-formes low-code peuvent également remplir ce rôle, mais elles sont également préférées pour la création d'applications qui exécutent des processus critiques ou pour compléter les systèmes coeur d'une organisation.
Intérêts du no-code / low-code
La popularité du low-code et no-code s'explique par la pénurie de développeurs et par l'impératif d'améliorer sans cesse les délais d'exécution des projets de développement dans le but de résoudre plus rapidement les problématiques métier.
L'autre objectif est de coller au plus près aux besoins métiers. Les citizen developers étant issus du terrains ce sont ceux qui connaissent le mieux ces besoins.
Gartner estime que le développement low-code représentera 65 % de toutes les activités de développement d'applications d'ici 2024.
Les acteurs du no-code / low-code
Résultat, des dizaines d'éditeurs généralistes ou spécialisés proposent aujourd'hui des solutions low-code et no-code, dont la majorité est cloud.
Gartner en listait une vingtaine in its 2019 dans son « Magic Quadrant for Enterprise Low-Code Application Platforms ». La liste exhaustive de G2 en recense environ 130.
Parmi les acteurs les plus connus on peut citer Appian, Bizagit, Bubble, Caspio, Claris (ex-FileMaker), Glide, Mendix, OutSystems ou Microsoft (PowerApps) ; dans les plateformes : ServiceNow (Now Plateform), Pega, Salesforce, Oracle (Enterprise Low-Code Application Platforms) ou encore Google (AppSheet) et Zoho (Zoho Creator) ; et en France : Bonitasoft, RacontR ou Simplicité.
Limites et défis du low-code / no-code
Du fait même de sa facilité d’utilisation et du faible coût de ces outils (comparé à celui des projets de développement traditionnel), les responsables peuvent ne plus savoir – et souvent ils ne le savent pas – quelles applications et combien leurs employés ont construit. De ce manque de visibilité peut découler un manque de contrôle sur les données générées, utilisées ou même exposées de manière inappropriée dans ces applications.
Un autre défi du low-code / no-code est la gestion, la maintenance et le passage à l’échelle de ces applications, ainsi que le risque d'explosion des coûts liés à leur infrastructure et à leur consommation en termes de stockage.
En outre, les citizen developers (voire les équipes de développeurs experts) peuvent utiliser ces outils pour des tâches trop complexes. Les organisations peuvent constater a posteriori que ces tâches ne sont pas bien adaptées aux plateformes low-code / no-code - ce qui représente alors un gaspillage de ressources financières et de temps.
Il est donc important que l’IT ait toujours la main (ou un œil) sur les projets low-code / no-code. D’une part pour valider les composants et encadrer les développements pour des raisons de qualité, d’uniformité, de scalabilité, de référencement des apps en internes et de sécurité. D’autre part pour éviter les mauvais usages et/ou le dérapage des coûts.