Le low-code au service de la digitalisation de l'après-Covid-19, entre mythes et réalités
Avec la crise sanitaire et la nécessité pour beaucoup d'entreprises de rattraper leur retard dans le numérique, l'approche low-code a suscité un vent d'espoir en vue de réduire les délais de mise en production de solutions digitales.
La crise provoquera des transformations dans tous les secteurs de l’économie. L’écosystème de l’ingénierie logicielle et de la "production des solutions digitales" sera certainement l’un des plus impactés.
Cette situation a permis de mettre en lumière une nouvelle génération d’outils et de plateformes de développement dite Low-code (LCADP : Low Code Application Development Platform) suscitant des espoirs de réduction significative des délais de réalisation, d'intégration et mise en production de solutions digitales.
Au-delà du Buzz et avant même le début de cette crise sanitaire, Le Gartner prévoyait déjà qu’à l’horizon 2024, le low-code serait responsable de plus de 65% de l'activité de développement d'applications et qu’ils gagneraient de plus en plus en termes de maturité et d’efficacité.
Faut-il y voir une solution miracle à tous les problèmes ? ou bien simplement un outil supplémentaire à utiliser dans les situations adéquates qui conviennent le mieux à sa démarche sous-jacente.
Le low-code pour simplifier le développent des applications digitales
Le développement low-code s’appuie nécessairement sur un type de plateforme qui permet la création rapide de solutions digitales, web ou mobile, à travers la configuration de fonctions plutôt que du codage de ces fonctions. Cette approche "blocs de construction lego" élimine le besoin de codage manuel et se concentre uniquement sur la configuration de fonctions préexistantes. Les plateformes les plus abouties offrent un couplage entre la définition des processus (outil BPM et workflow) et la création de formulaire de saisie et autres IHM.
Une plateforme low-code offre ainsi, la capacité de créer, modifier, adapter et déployer une ou plusieurs applications avec un minimum de codage et un maximum de configuration visuelle. La gestion des versions, de déploiement et le monitoring font souvent partie de la plateforme et permettent de mettre en œuvre nativement la démarche DevOps.
Le low-code des avantages …
Qu’il soit utilisé par un département ou généralisé au sein de l’entreprise, les avantages du développement du low-code sont nombreux. En premier lieu notons la productivité et l’économie en ressources de codage et la réduction considérable du temps de mise en production. Vient ensuite l’amélioration visible de la maintenabilité des applications. Plus besoin de se soucier de l’homogénéité des écrans ou du respect des bonnes pratiques de codage, puisqu’une très faible partie de l’application nécessiterait l’intervention de l’équipe de développement, le reste est gérée par la plateforme.
L’utilisation d’une plateforme low-code en mode SaaS évite à l’entreprise d’investir dans des serveurs physiques et des équipement réseaux, ou d'acheter des VM cloud et réduit le besoin de compétences techniques d’administration associées et de fournisseurs coûteux. La plateforme permet de gérer le cycle de vie des applications de bout en bout à partir d’un seul endroit.
…et des inconvénients
Cependant, il est souvent reproché à ces solutions low-code un certain manque de personnalisation. La rapidité de mise en œuvre et la simplicité des composants génériques sont souvent privilégiés au détriment de la flexibilité.
Cela rend l’ajout de certaines fonctionnalités supplémentaires impossible ou bien nécessitant du codage spécifique réduisant ainsi les avantages de l’approche et nécessitant l’intervention de développeurs expérimentés. Ce type d’experts deviennent ainsi des ressources rares à l’instar des spécialistes SAP ou Salesforce dans le monde de l'ERP.
L’absence de standardisation dans ce domaine, risque d’enfermer l’entreprise dans l’écosystème de la plateforme adoptée et de rendre impossible la migration du patrimoine applicatif réalisé vers une autre solution.
Les coûts des abonnements, que ce soit par utilisateur ou par application déployée, ne sont pas négligeable et peuvent constituer un frein à la croissance du secteur et à l’adoption généralisée par les PME.
Les types d’offre de plateforme low-code
La meilleure plateforme low-code dépendra entièrement du besoin et de votre projet. Certaines plateformes sont idéales pour créer des applications à usage interne ou B2B, d’autres visent à créer des applications centrées sur les besoins des clients de l’entreprise ou bien se spécialisent dans les apps mobiles.
Les solutions sont principalement des offres cloud sous forme de PaaS (Platform as a Service), certaines offrent un déploiement au choix dans le cloud et sur site :
- Les offres de pure player PaaS : Outsystems, Mendix (maintenant Simens), Appian, Salesfoce, ServiceNow, WaveMaker...
- Les fournisseurs de cloud : Microsoft avec PowerApps, Amazon avec Honeycode, Google avec App Maker…
- Les offres spécialisées : Backbase (solution omni canal pour le domaine bancaire), Predix de GE (une plateforme PaaS pour les projets IoT)…
Bien que l’année 2021, verra l’accélération de l’adoption de l’approche low-code, le sujet de la pérennité des ces plateformes reste d’actualité tant que le secteur n’a pas amorcé sa concertation et son cycle de sélection naturelle à travers les échecs et les abondons. Remarquons que certains acteurs, surtout les majeurs du cloud, sont là par opportunisme ou essentiellement pour défendre leurs positionnements cloud et pas forcément par conviction stratégique. Rappelons-nous les épisodes passées de cette quête de "génération instantanée d’application" et de ce rêve de se passer des développeurs, l’époque des générateurs d’app mobile en mode SaaS tel que le fameux "app generator", abandonné depuis par Google.
Identifier clairement le problème à résoudre
A trop vouloir se passer des développeurs et accélérer la phase de "développement", les entreprises oublient souvent que cette "activité de codage" ne représente généralement qu’une partie d’un projet de digitalisation, 40 à 60% du projet en fonction de sa taille et sa complexité.
La quête de l’outil miracle de génération d’applications ne doit pas cacher les autres causes réelles de la lenteur classique de mise en œuvre des projets de digitalisation. Les activités de spécification et de validation sont souvent la principale cause des échecs de projets de digitalisation. Elles nécessitent un grand effort d’abstraction et la capacité à se projeter sur les fonctionnalités utiles à valeur ajoutées et sur leurs usages au quotidien par les utilisateurs finaux.
Disposer d’un outillage low-code, sans agilité et sans maitrise du cycle de vie logiciel par les équipes, risquerait de provoquer des effets secondaires indésirables et n’est pas forcément synonyme d’accélération ni d’efficacité. Pour améliorer les chances de réussite, il est recommandé de débuter l’adoption du low-code par la digitalisation de processus générique avant de généraliser l’approche.
De l’importante de l’API management
La crise Covid-19 a été peut-être un révélateur, mais la vraie accélération viendra de la disponibilité, de la multiplicité et de la diversité des API au sein des "backends" des systèmes d’information ou des API externes. L’existence du "Citizen Développer", prophétisée par les vendeurs de plateformes low-code, en dépend.
Sans API, il ne pourra pas y avoir de généralisation de l’approche low-code au risque de polluer le SI avec une multitude de nouveaux ilots applicatifs isolés. Les équipes de développeurs auront la lourde tâche de créer les API nécessaire à la rationalisation de l’intégration au S.I. et de les exposer façon fluide à travers le portail de gestion des API en self-service.
En effet, les développeurs ne sont pas en voie de disparition, ils peuvent au contraire se concentrer sur les aspects techniques à haute valeur ajoutée au sein de projets (API, sécurité, R&D, …). De plus, les citizen developper, concepteurs non-techniques ne pourront pas réaliser certains développements très spécifiques et restent tributaires des outils fournit par les développeurs.
Comment choisir une plateforme de développement low-code ?
Assurez-vous d'avoir tout pesé, avant de choisir une solution de développement low-code, en considérer les éléments suivants :l
- Pensez à vos besoins métiers : Les plates-formes de développement low-code s'attaquent à des tâches métiers spécifiques pour résoudre de vrais problèmes au sein de l’organisation. Formaliser ces problématiques métier de manière stricte et définissez leurs priorités avant de se lancer dans l’aventure. Pensez aussi aux utilisateurs finaux des applications à développer et à leurs besoins spécifiques.
- Demandez-vous qui, dans vos équipes, va utiliser la plateforme pour développer et maintenir les applications ? Quel ensemble de compétences doit il posséder ? Dans quelle mesure l’organisation est prête à intégrer cette approche dans un cycle de vie logiciel cohérent et maitrisé ?
- La fonctionnalité multicanale étant vitale, assurez-vous que la plateforme sélectionnée offre cette fonctionnalité nativement.
- Vérifiez la roadmap et la pérennité de la plateforme et assurez-vous qu’elle est de niveau Entreprise et facilement évolutive avant de l’adopter.
Et surtout, gardez l’option de faire appel à des développeurs expérimentés ou à des spécialistes de la technologie comme stratégie de secours. Le plan B a sauvé de nombreuses situations.
Une tendance de fond et une mouvance en marche
Indépendamment de ces défis, le low-code continuera à évoluer et s'installer dans la durée au sein du SI, tant que le compromis entre la facilité d'utilisation et la flexibilité a été clairement assimilé.
La promesse est que, pour de nombreux projets, le low-code peut entraîner d'énormes économies de temps et d'investissements qui peuvent compenser le coût de la plateforme de plusieurs ordres de grandeur. Mais pour certains projets, le codage conventionnel peut être la meilleure approche. Si vous avez besoin d'une application digitale de haute qualité et unique vous conférent un avantage concurrentielle, tout en étant spécifique aux besoins de votre entreprise, le développement d'applications personnalisées sera toujours la meilleure option.