Depuis quelques temps nous sommes sollicités par la rédaction d’articles ou la réalisation de quelques expériences client sur la mise en pratique du Low code/Less code.
Cette approche du développement informatique, qui a déjà eu des tentatives de mise en œuvre par le passé peut-elle se révéler un moyen de profiter des nouvelles infrastructures cloud à disposition du monde IT tout en incluant les travaux issus du génie logiciel pour nous permettre de délivrer des applications cohérentes et bien construite avec une courbe d’effort beaucoup plus faible.
Alors ce Low Code/ Less Code encore un mythe ou une réalité ?
Le principe de ces solutions est de réaliser des applications informatiques sans code ou avec très peu.
L’idée n’est pas nouvelle, on ne compte plus les applications bureautiques souvent réalisées en shadow IT, mais aussi les générateurs de code, les templates de construction d’application, les ateliers de génie logiciel ou les applications hautement paramétrables sur une filière métier.
L’objectif de toutes ces solutions est de s’éloigner des contingences techniques chronophages pour se concentrer sur les fonctions de l’application.
Si, en plus, l’application peut être conçue réalisée et déployée par des équipes sans ou avec peu de bagages techniques, l’objectif pourrait être atteint.
L’outil historique typique d’une telle approche est le tableur Excel.
Les outils RAD (Rapid Application Development) peuvent être considérés comme les précurseurs dans l’approche Low Code/Less Code.
Les solutions d’aujourd’hui sont toutes basées sur le principe d’un méta modèle qui décrit la problématique du domaine. Elles sont complétées par des outils orientés processus ou interaction afin de manipuler ces données. La conception de l’application se réalise de manière très visuelle à travers un Studio de développement et de nombreux Wizards.
Par contre dans l’état actuel du marché, on peut distinguer deux grandes catégories d’outils en fonction de la population ciblée pour son utilisation : les informaticiens et le non informaticiens. Les deux types d’outils peuvent être inclus dans la même solution.
Un outil de Low Code/Less Code a pour vocation de masquer à ses utilisateurs la complexité technique des solutions mises en œuvre.
La distinction entre les approches Low Code et Less Code (voir No Code) n’est pas toujours très claire.
Par sa structure, l’approche Low Code/Less Code est donc un compromis entre la facilité d’utilisation et les possibilités d’adaptation aux besoins à résoudre.
Toute cette réflexion nous ramène à la problématique essentielle des DSI : faire en interne ou acheter un outil externe. Dans ce cas il s’agit de faire avec les limites et contraintes de ce qui est facile à mettre en œuvre avec l’outil.
Le choix d’un tel outil est donc fortement lié à son contexte d’utilisation.
Si l’on cherche à faire un panorama des solutions existantes, on peut distinguer plusieurs types d’acteurs :
- Les spécialistes du Cloud qui profitent de leur plateforme pour apporter un composant LowCode/LessCode
- Les pure players qui sont spécialisés depuis quelques années sur le segment
- Les Startups qui offrent des solutions alternatives avec des propositions plus ciblées
Quasi systématiquement, ce sont des solutions Cloud parfois regroupées sous le terme de aPaaS (Application Platform As a Service)
De manière générale l’Open Source est peu présent sur ce segment de marché.
Les promesses du Low Code/Less Code sont concentrées sur :
La Facilité :
Des applications unifiées qui sont construites sur un mode de conception identique avec un rendu qui se veut uniforme.
- Des applications nativement responsives
- Des outils visuels pour la construction des applications
- Une montée en compétence réduite
- Un partage mieux compris entre les différents acteurs IT et non IT
La Vélocité :
- La capacité à délivrer plus rapidement des applications et une meilleure réponse au time to market
- Un travail collaboratif natif
- Des évolutions plus fréquentes
- Des déploiements plus facile avec des chaines DevOps intégrées
- Des équipes concentrées sur les objectifs métiers
La Robustesse :
- Des architectures pré définies et éprouvées par la multiplication des applications qu’elles supportent
- Une infrastructure à la demande
- Des Services transverse mutualisés tels que la sécurité qui peuvent s’adapter aux contraintes avec un minimum d’impact sur les applications.
- Des montées en charge facilitées sur les applications
La typologie des applications éligibles à cette approche doit être déterminée en fonction de critères propres à chacune des entreprises. Cependant, l’introduction du Low Code/Less Code a aussi des impacts sur l’organisation de l’entreprise :
- Rester encore plus en phase avec les demandes métier
- Trouver le bon équilibre entre Plus d’innovation et Moins de maintenance sur les systèmes Legacy
- Ne pas laisser ce type d’application dans le périmètre du shadow IT
- Trouver un bon équilibre dans la répartition des ressources sur ce type d’application
- Intégrer le processus de choix de ce type de solution dans la culture digitale de l’entreprise
- Faire adhérer les développeurs à ce type de plateforme
Le choix de ce type d’approche nécessite quelques point d’attention pour permettre de franchir le pas, en particulier :
- Offrir suffisamment de souplesse pour répondre aux uses cases métiers
- Permettre une courbe d’apprentissage rapide au regard des outils et différentes aides mise à disposition
- Etre transparent sur les solutions techniques mises en œuvres pour couvrir l’ensemble des fonctionnalités mise en œuvre
- Disposer de systèmes d’échanges pour communiquer avec le SI Interne ou dans un cloud hybride
- Disposer d’un pricing adapté pour une adoption progressive de la solution
- Permettre la réversibilité des données et des applications
- Assurer un travail collaboratif associé à un pipeline de déploiement efficace
- Garantir une sécurité compréhensible et auditable
Les perspectives d’adoption sur ce nouveau marché semblent en plein essor. D’après le GARTNER :
- En 2016, ce marché représentait 2,5 Milliards de $.
- Il est estimé qu’en 2020 ce marché atteindra 15 Milliards de $.
Source Gartner
Gartner estime qu’en 2024, plus de 65% des applications seront développées à partir de solutions Low Code, ainsi que ¾ des grandes entreprises utiliseront au moins 4 outils Low code.
En conclusion, les solutions Low Code/Less Code peuvent permettre de réaliser des applications qui ne justifient pas un développement classique sous réserve de vérifier l’éligibilité à ce type de solutions. C’est un moyen temporaire ou définitif qui participe aux interactions entre les différents composants du SI, en remplaçant les traitements manuels pour permettre d’automatiser des processus métiers nécessitant un mode collaboratif sur du traitement de données. Les limites de l’exercice sont liées aux niveaux d’exigences attendus par l’application.