24. septembre 2020 de Dr. Christian Straube
L’utilisation réussie du low-code n’a rien d’évident
Le low-code est un paradigme dans le développement moderne de logiciels. Son objectif est de rendre le développement d’applications accessible à des personnes ayant peu ou pas d’expérience professionnelle en ingénierie (les « Citizen Developers »). Il convient d’utiliser plus efficacement les ressources souvent rares des développeurs et de consacrer la majeure partie du temps de travail à la mise en œuvre des fonctionnalités plutôt qu’aux bases techniques. En outre, la coopération entre les services de l’entreprise pour le développement de logiciels est considérablement renforcée et les équipes doivent pouvoir se concentrer encore plus sur la création d’avantages pour les clients et les utilisateurs.
Pour atteindre ces objectifs, le low-code se concentre sur les quatre éléments de base suivants :
Les quatre éléments, ainsi que les concepts et méthodes correspondants, existent déjà depuis un certain temps et sont utilisés séparément – par exemple le développement guidé par modèle ou CASE (Computer Aided Software Engineering). Toutefois, les plateformes low-code combinent désormais ces éléments de base de manière nouvelle, c’est-à-dire dans un environnement homogène et parfaitement intégré. Cela crée de nouveaux potentiels :
- Les longues initialisations des outils CASE et des traducteurs de modèles ne sont plus nécessaires.
- Les discrépances entre les concepts et les outils sont à peine ou plus du tout perceptibles au cours du développement.
- La séparation entre le développement et l’exploitation est considérablement réduite.
- Les outils de modélisation graphique sont immédiatement utilisables et accèdent aux autres composants facilement et de manière transparente pour l’utilisateur.
Résultat : une application générée à partir des modèles peut ensuite être mise à disposition pour la production en quelques clics.
L’aspect « prêt à l’emploi » va au-delà de la plateforme elle-même. Certaines plateformes low-code s’accompagnent d’un écosystème complet pour le cycle de développement, comme les services backend préconçus, les magasins d’applications pour les extensions ou le support entièrement intégré pour la réutilisation des artefacts au sein d’une entreprise.
Le paradigme du low-code vise à résoudre les problèmes qui découlent des goulots d’étranglement des services informatiques et du développement simultané de la vitesse comme facteur central de réussite. Utilisé correctement, le low-code offre plusieurs avantages : une collaboration plus intensive et plus efficace entre les utilisateurs, les affaires commerciales et le service informatique, un délai de mise sur le marché nettement plus court, une meilleure rentabilité, des exigences réduites en matière de capacité informatique et une meilleure qualité du résultat final.
La figure suivante montre les problèmes et les objectifs du paradigme du low-code :
Le paradigme du low-code ou les plateformes low-code souhaitent obtenir les résultats suivants afin d’atteindre les objectifs fixés pour les problèmes correspondants :
Discussion plus efficace : Une discussion plus efficace est possible pour deux raisons
1. Les algorithmes sont définis visuellement et la logique commerciale (importante) peut ainsi faire directement l’objet de discussions, la plupart du temps sans autre préparation.
2. Les résultats sont immédiatement tangibles, ce qui signifie que la discussion ne doit pas être menée avec des artefacts théoriques et abstraits mais que l’on peut discuter directement du produit et apporter des changements ensemble.
Feedback plus precoce et plus rapide : Le processus de feedback present trois avantages.
1. Comme une première version exécutable est disponible très rapidement - au bout de quelques jours seulement en fonction de l’application et de la plateforme low-code - le feedback des utilisateurs peut être recueilli dès le début.
2. Selon la plateforme, un feedback peut même être donné directement au sein de l’application, pour ensuite être réinjecté dans le processus de développement.
3. Certaines plateformes low-code fournissent des informations (anonymisées) sur le comportement de l’application et des utilisateurs, indiquant par exemple quelles fonctionnalités sont fréquemment utilisées ou quelles parties de l’application pourraient être améliorées. Ces informations sont directement transmises et peuvent donc être mises en œuvre rapidement et remises à disposition des utilisateurs sous forme d’améliorations.
Suppression des obstacles
Le paradigme du low-code vise à rapprocher le service informatique et la gestion et à intégrer les domaines spécialisés dans l’équipe de développement en tant que « Citizen Developers ». Le travail est ainsi mieux réparti et, grâce à la définition visuelle commune, il y a beaucoup moins de « jargon technique » qui exclut certains groupes.
Integration plus rapide
En utilisant des normes industrielles et en mettant à disposition des interfaces système pouvant être configurées graphiquement puis utilisées facilement sur la plateforme low-code, l’intégration est souvent possible très rapidement. Cela est particulièrement pertinent pour deux raisons : d’une part, il faut presque toujours accéder aux stocks de données existants et, d’autre part, l’utilisation la plus longue possible des applications existantes est importante pour la protection des investissements.
Meilleure utilisation du temps des experts
Les plateformes low-code rendent obsolètes de nombreuses décisions relatives à l’architecture de l’application elle-même, ce qui élimine les discussions récurrentes et longues sur l’architecture de l’application ou le choix du framework. Cela rend non seulement la collaboration plus efficace mais améliore également la rentabilité, car il faut consacrer moins de temps aux discussions de fond sur le choix du framework ou aux décisions relatives à l’architecture. Au lieu de cela, toute l’équipe peut mieux saisir le problème du client et ainsi se concentrer beaucoup mieux sur l’activité principale, quel que soit le domaine concerné.
Reduction des couts de certification
Les exigences de sécurité et de qualité non fonctionnelles jouent un rôle dans presque toutes les applications. Toutefois, selon le projet, une certification supplémentaire peut être nécessaire, par exemple pour des raisons de sécurité ou conformément à des exigences réglementaires. Ces certifications, généralement coûteuses, ne doivent être effectuées qu’une seule fois, car elles peuvent s’appliquer à tous les projets ultérieurs grâce aux possibilités de réutilisation.
Moins d'efforts requis
D’une part, la réduction des efforts se rapporte au développement, puisque la possibilité de réutilisation pour la modélisation d’interfaces graphiques et la génération de code requiert beaucoup moins de travail manuel. D’autre part, de nombreux outils de déploiement et de surveillance prêts à l’emploi sont fournis pour la mise à disposition et l’exploitation des applications.
Taux d'erreur reduit
Le taux d’erreur peut être réduit grâce à trois aspects :
1. Les applications sont générées à partir des modèles créés graphiquement et les mécanismes de génération utilisés ont déjà fait l’objet de tests approfondis.
2. La plupart des erreurs de configuration peuvent être détectées par des contrôles de cohérence lors du déploiement en un clic.
3. Il est souvent possible de réutiliser des composants qui ont été testés lors d’une utilisation antérieure.
La figure suivante montre les relations entre les objectifs du low-code, les quatre éléments de base du low-code et les résultats envisagés :
Afin d’obtenir les résultats annoncés et donc de réaliser réellement tous les objectifs du low-code (voir figure 3), il ne suffit pas de choisir la bonne plateforme. Il faut également procéder à un certain nombre de préparatifs en termes de modèles de processus, de responsabilités, d’assurance qualité et d’intégration afin de ne pas être déçu par les promesses du low-code. Les risques suivants existent en particulier :
- La nouvelle méthode de travail doit être repensée et le changement qui en résulte est sous-estimé.
- Une forte dépendance à l’égard de la plateforme low-code entraîne un rejet.
- Des attentes irréalistes quant aux compétences requises pour le développement d’applications entraînent une frustration au sein de toute l’équipe.
- Des attentes irréalistes quant aux résultats possibles et aux applications développées mettent en danger les plans des projets et causent une déception.
- Les coûts non pris en compte lors du test d’aptitude initial faussent le calcul du retour sur investissement pour l’utilisation du low-code.
- La facilité d’utilisation de la plateforme low-code conduit à développer beaucoup plus d’applications que ce qui est réellement nécessaire, ce qui n’allège pas la charge de travail du service informatique mais lui impose au contraire une charge supplémentaire.
L’éventail des risques montre que la préparation et l’intégration du low-code dans l’entreprise doivent être envisagées de manière globale. La figure suivante résume les quatre domaines « Technologie », « Processus », « Culture » et « Organisation » ainsi que les aspects respectifs, qui représentent ensemble les critères de succès de l’utilisation du low-code dans l’entreprise.
Selon la situation de l’entreprise, les critères respectifs sont traités avec des priorités différentes. Néanmoins, tous les domaines doivent être abordés pour garantir l’utilisation efficace et réussie à long terme d’une plate-forme low-code.
Le paradigme du low-code offre de nombreux avantages. Même si, comme tous les autres outils, il ne s’agit pas d’une solution miracle, il peut résoudre certains problèmes dans l’entreprise. La philosophie de « démocratisation » du développement d’applications joue également un rôle, de même que le haut degré de maturité de nombreuses plateformes low-code disponibles. Bien que la liste des défis et des risques liés au low-code soit relativement longue, il est possible de les surmonter en relativement peu de temps grâce à une approche méthodique. L’utilisation du low-code dans l’entreprise doit donc être examinée dans tous les cas. Les ressources nécessaires à cette fin sont rapidement rentabilisées lorsque le low-code est utilisé avec succès.