DigitalCorner

Les nouvelles technologies vues par les consultants Wavestone

Le développement low code remplacera-t-il le développement traditionnel ?

Avec un chiffre d’affaires de plus de treize milliards de dollars1, les plateformes low code se sont récemment créées une place dans le monde de la programmation. Elles permettent d’implémenter des applications en écrivant un minimum de lignes de code. Il existe également des plateformes qui ne nécessitent pas d’écriture de code appelées « plateformes no code ». Généralement faciles d’utilisation, elles permettent à des personnes n’ayant pas de connaissances en programmation, les « Citizen Developer », de développer leurs produits et/ou d’augmenter la productivité des programmeurs. Les intérêts pour les entreprises sont donc multiples : pallier le manque de compétences techniques, développer des applications plus rapidement pour faire des économies de ressources ou encore favoriser l’implication des équipes métier dans la construction d’outils informatiques. D’après une étude faite par Gartner2, d’ici 2024, 65% des applications seront développées en low code.

Les principales spécificités des plateformes low code sont les suivantes :

  • Des interfaces intuitives, «user friendly» avec la présence de nombreuses fonctionnalités sous forme de modules à configurer prêts à l’emploi
  • Un support de maintenance dont l’entreprise peut bénéficier pendant et après la phase de développement
  • La possibilité donnée aux clients de la plupart des plateformes low code de gérer et d’administrer leurs applications dans un cloud

Cependant, en dépit des nombreux avantages qu’elles présentent, les plateformes low code peuvent poser des problèmes de sécurité et d’optimisation du code (rapidité d’exécution, optimisation de la mémoire, consommation énergétique). De plus, les plateformes low code ne sont pas adaptées pour certains cas d’usages complexes.

Il convient donc de se demander dans quels cas d’usages l’utilisation de plateformes low code est préférable à un développement traditionnel ?

Les plateformes low code :  quelles solutions ?

Selon une étude faite par l’éditeur de solution OutSystems3, plateforme low code leader dans le classement Gartner4, 69% des entreprises déclarent utiliser le No/Low-code pour accélérer la transformation numérique et l’innovation, 55% d’entre elles pour augmenter la vitesse de développement et 38% ont indiqué qu’elles souhaitaient réduire le recours à des compétences techniques difficiles à trouver.

Les trois cas d’usage majoritaires des plateformes low code sont les CRM (Gestion de la relation client), les ERP (Progiciel de gestion intégré) et le remplacement d’applications existantes développables par les méthodes low code. En ce qui concerne la répartition entre ces trois cas d’usages, une autre étude du fournisseur OutSystems3 montre que 50% des entreprises utilisent les plateformes low code pour développer des applications ou des portails Web destinés aux relations avec les partenaires et clients, 49% d’entre elles déclarent utiliser ces plateformes afin d’effectuer l’onboarding et la gestion des employés et 31% déclarent créer des solutions visant à étendre ou à remplacer leurs plateformes existantes.

Il y a différentes opportunités liées à l’utilisation des plateformes low code. Elles offrent un socle harmonisé, sécurisé et validé par la DSI sur lequel les collaborateurs peuvent s’appuyer pour prendre des initiatives et proposer de nouvelles applications, ce qui permet de minimiser le shadow IT*. Le développement d’applications se démocratise en s’ouvrant aux Citizen Developer. Également, grâce à la facilité d’implémentation, d’accès (cloud) et aux nombreux modules pré-implémentés, les développeurs professionnels peuvent augmenter leur productivité. Le citizen developer n’étant pas une ressource technique dédiée à la mise en place d’une application, les ressources liées à l’implémentation sont réduites et la qualité/conformité des applications délivrées est assurée par le profil métier du citizen developer. En somme, le temps consacré à la programmation technique est converti à l’introduction de facteurs métiers menant à une optimisation organisationnelle. Les changements et évolutions sont possibles plus aisément grâce à une implémentation plus souple. De manière générale, l’exploitation de plateformes low code peut permettre de délivrer des applications bien plus rapidement et en recrutant un minimum de ressources techniques (voire aucune pour un développement no code).

Pour comprendre de l’impact économique qu’engendre l’exploitation réussie d’une plateforme low code, on peut citer par exemple la plateforme Power Apps développée par Microsoft, qui selon le Total Economic Impact™ de Forrester permettrait en moyenne une réduction de coût de développement de 74% avec un retour sur investissement (ROI) de 188% en moins de 6 mois, ou bien la plateforme Mendix qui permettrait une réduction de coût de 94% avec un ROI de 203% en moins de 3 mois.

Il y a différents types de plateformes qui permettent de répondre à des problématiques variées. On a tout d’abord celles orientées pour des cas d’usages généralistes :

On retrouve ensuite les plateformes spécialisées et orientées pour des cas d’usages précis :

Le développement traditionnel : indispensable pour des cas d’usage complexes ?

Malgré tous les avantages du développement low code, celui-ci n’est pas adapté lorsque l’on souhaite développer des cas d’usages complexes, c’est-à-dire développer des applications demandant une personnalisation très poussée, une haute sécurité des données, ou nécessitant des fonctionnalités non disponibles sur la plateforme low code.

En effet, la sécurité de l’application développée via une plateforme low code dépend du fournisseur, et la propriété de l’application revient à l’éditeur de la plateforme. Pour le développement de certaines applications critiques, la sécurité et/ou la propriété de l’application souhaitée excluent l’utilisation d’une plateforme low code.

De plus, la dépendance technologique forte de l’application avec la plateforme low code peut représenter un risque pour la DSI. Par exemple la migration d’une application développée avec une solution low code peut être rendue très difficile voire impossible car il n’y a pas d’accès au code source. De la même manière, une mise à jour de la plateforme rendant obsolète une application développée dessus est un problème à envisager.  Au contraire, avec un développement traditionnel le niveau de sécurité est asservi à l’entreprise, et il dépend de la capacité des développeurs à respecter certaines normes. La propriété de l’application reste également celle de l’entreprise. Enfin, le maintien et les évolutions de l’application sont directement sous la responsabilité de l’entreprise et des programmeurs.

Pour le cas d’une application à haute performance, le développement low code peut être limité aux fonctionnalités et modules que la plateforme propose et ces derniers peuvent ne pas être suffisamment efficaces et précis. Alors que le développement traditionnel, en plus de permettre un développement en théorie sans limites techniques, permet aussi d’avoir une optimisation de l’application supérieure, car le programmeur peut directement implémenter chaque partie du code nécessaire pour une tâche spécifique et essentielle afin de la rendre la plus efficace possible.

Cependant, dans le cadre d’un développement traditionnel, le coût et le temps de conception, de déploiement et de maintien de l’application sont conséquents. Chaque choix technologique devra être validé par la DSI. De même, une personne n’ayant pas les compétences techniques requises ne peut pas prendre part au développement de l’application, ce qui nécessite de mettre en place une organisation pour que l’équipe technique collabore avec l’équipe qui porte le besoin.

Alors existe-t-il une solution pour bénéficier à la fois des avantages des plateformes low code et de ceux d’un développement traditionnel ?

Mixer les deux types de développement, une solution viable ?

Il existe une solution pour profiter des avantages économiques et de productivité des plateformes low code tout en gardant la capacité de personnalisation du développement traditionnel : créer une application centrale avec une plateforme low code accueillant toutes les fonctionnalités visuelles et relativement simples d’implémentation, et en parallèle, développer en code traditionnel des fonctionnalités plus complexes et spécifiques qui seront ensuite appelées directement dans la plateforme low code sous forme d’API. Cela permettrait de profiter des bénéfices économiques liés à l’utilisation des plateformes low code tout en gardant une mainmise sur la sécurité et l’efficacité de l’application pour certaines tâches critiques. Certaines plateformes comme Zoho5 par exemple, proposent des API prédéfinies généralement pour les passerelles de paiement, Google Suite, les connexions aux réseaux sociaux (comme Facebook ou Twitter), les applications de facturation et de comptabilité, les bases de données externes, etc.

Une autre solution serait de segmenter les besoins au sein de l’entreprise afin de développer les applications selon la méthode traditionnelle ou low code en fonction des cas d’usages. Cela implique le cadrage du besoin avant chaque projet pour vérifier quelle solution serait la plus adaptée des deux. Il faut aussi que vérifier que le nombre d’applications à développer par les méthodes low code soit suffisamment important pour rentabiliser la souscription à la plateforme choisie et avoir un ROI conséquent.

En conclusion

Finalement, l’utilisation des plateformes low code est un bon compromis surtout si les exigences en termes d’efficacité et de sécurité ne sont pas élevées. En revanche, si les cas d’usages se complexifient, un développement traditionnel devient incontournable et la présence de développeurs reste indispensable. L’association entre le développement traditionnel et le développement low code, que ce soit dans l’application en elle-même ou par la segmentation des différents besoins de l’entreprise, est une solution viable. Même si les limites liées à l’utilisation de plateformes low code n’en font pas des technologies à utiliser seules, pour rester concurrentiel adopter une solution low code est un véritable atout très recommandé.

Lexique

* Shadow IT : utilisation de technologies matérielles et logicielles par les employés de l’entreprise sans l’accord de la DSI.

Bibliographie

Crédits : Logan PROTAS, Thomas GALLOIS, Elies BOURENANE, practice DET

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *