Pixel-Shot - stock.adobe.com
Low-Code/No-code : les points à aborder avant de lancer un projet
Le Low Code/No Code démocratise le développement d’applications. Mais pas n’importe comment et pas sans prendre plusieurs précautions importantes. Le Directeur R&D de Forterro Western Europe nous rappelle lesquelles.
La promesse initiale du Low Code/No Code est de permettre à des personnes ayant peu ou pas de connaissances en développement de créer rapidement des applications opérationnelles. Les solutions qui se réclament de cette mouvance sont aujourd’hui très variées dans les réponses qu’elles apportent.
On peut en distinguer trois grandes catégories :
- les plateformes liées à l’apprentissage du développement,
- celles ayant pour objectif la customisation ou l’interconnexion de logiciels,
- et celles dont l’objectif est de permettre la création d’une application complète en partant de zéro.
Une limitation commune à ces trois types d’outils reste l’étendue, finie, des briques mises à disposition des utilisateurs. Paradoxalement, vous pouvez créer votre propre application, adaptée à vos besoins spécifiques, mais rapidement vous retrouver contraints par les limites de la plateforme (ou par les vôtres comme nous allons le voir).
Cette approche peut également séduire par la possibilité de confier le travail de développement à des équipes métier. Mais alors il ne faut pas sous-estimer la montée en compétence nécessaire pour réellement maîtriser la plateforme Low-Code/No-Code et avoir la capacité de répondre au besoin initial.
Il faut également garder à l’esprit que le développement ne commence ni ne s’arrête au code. Les compétences autour de l’analyse, de l’expérience utilisateur, de l’assurance qualité et des mécanismes d’exploitation font partie intégrante du processus de création logiciel.
Quelles menaces posent les limites du low code ?
Un inconvénient souvent constaté est ce que l’on peut nommer « le syndrome Excel » : une multiplication de micro-outils qui deviennent nécessaires et qui se complexifient sans fin jusqu’à devenir inmaintenables, à l’image des feuilles Excel remplies de formules et de macros que plus personne ne maîtrise.
Un autre effet pervers que l’on constate est l’engrenage que peuvent représenter ces outils. Au départ, ils sont développés avec beaucoup de bonne volonté. Pour aider, l’auteur (dont ce n’est pas le métier) se retrouve à devoir les maintenir et les faire évoluer, bien au-delà de l’objectif initial.
La cible de ces plateformes étant par essence des non-experts, cela implique souvent que le code généré n’est pas maîtrisé, et donc des risques associés.
Être en alerte et réagir à la divulgation d’une faille, s’assurer de la confidentialité des données et du respect du RGPD, maîtriser les mécanismes d’authentification et d’autorisation sont autant d’exemples de domaines, parmi d’autres, que les équipes de développement doivent constamment garder à l’esprit.
Intérêt du low-code : quand est-il pertinent (sans être une solution miracle) ?
Il y a évidemment des cas d’usage où le Low Code/No Code est tout à fait pertinent.
Il peut par exemple constituer une initiation au développement en autonomie. Dans le cadre d’une phase de maquettage, à mi-chemin entre des wireframes et un prototype, cette approche peut permettre de matérialiser et valider un concept.
Une des applications qui paraît la plus intéressante est la customisation d’un logiciel existant : pour peu que ce dernier ait été conçu dans cette optique, l’approche low-code/No-code constitue alors un intermédiaire intéressant entre la simple configuration et la nécessité d’intervenir à un niveau beaucoup plus bas dans le code, rendant également le client ou son prestataire plus autonome.
Cependant, si l’objectif est par exemple de créer son propre ERP, une entreprise se trouvera rapidement contrainte, ou devra faire appel à des profils développeurs, spécialistes de la plateforme choisie. Ce qui contrevient à l’idée de départ, ces profils étant d’autant plus rares sur le marché.
Avant de lancer un projet low-code/no-code, il convient également de se poser la question de la pérennité des plateformes, de la captivité induite, de la capacité de montée en charge, de la disponibilité ou du support en cas d’incident.
Le Low Code/No Code a donc un intérêt. Mais il n’est pas une solution miracle. Il faut bien choisir son outil, en comprendre les limites, les dangers qu’elles posent, et les compétences nécessaires pour les « citizen developers ». Car, quel que soit l’outil, le développement logiciel est et reste un métier !