Dopé par la crise du coronavirus, le low-code fait de plus en plus d’émules dans le monde de l’IT. Grâce à sa facilité d’utilisation, il représente une vraie révolution en matière de time-to-market. En revanche, en coulisses, cette approche du codage fait grincer des dents bons nombres de développeurs. Ces derniers l’imaginent telle une épée de Damoclès, annonciatrice de la fin de leur carrière. Pourtant, les faits démontrent une toute autre réalité !

Chez IT-Development, la majeure partie de notre solution ClickOnSite V2 repose sur une stratégie low-code. Innovant à cette époque, ce choix n’a en rien entaché le rôle primordial des développeurs web. François Pouilloux, CTO chez IT-Development (ITD) depuis 2013, nous explique comment ce parti-pris a conduit nos équipes Core à repousser leurs limites de savoir-faire et de savoir-être.

 

Le low-code, quèsaco ?

Traditionnellement, la réalisation d’applications métier spécifiques demande de grandes compétences techniques (architecture logicielle, conception, programmation, bases de données, systèmes, réseaux, …). Les outils modernes de développement (frameworks) permettent d’industrialiser et fiabiliser les fonctions et services de base d’une application. Mais il reste délicat et long d’orchestrer le mélange entre la partie technique et fonctionnelle des applications, tant d’un point de vue humain que logiciel.

Les approches low-code tentent donc d’apporter une réponse pour simplifier et accélérer la livraison de solutions, conformes aux besoins des utilisateurs. Comment ? En proposant aux équipes métier un environnement technique et des “briques” élémentaires. Elles peuvent alors les assembler (généralement visuellement) pour construire un modèle de données et de traitements, directement déployable et exécutable par les utilisateurs. Ainsi, les applications deviennent facilement et rapidement paramétrables par des spécialistes métier. Nul besoin de mobiliser des connaissances pointues en développement. Ces applications peuvent être personnalisées à l’infini. Et, d’un point de vue business, la mise sur le marché s’effectue jusqu’à 4 à 5 fois plus vite. Le fournisseur de solutions peut de ce fait plus facilement multiplier les projets. Enfin, pour les clients, le niveau de risque est minimisé et le retour sur investissement plus rapide.

 

S’appuyer sur le low-code pour répondre aux besoins spécifiques des télécoms

Ce concept vertueux a été mis en oeuvre par les fondateurs d’ITD il y a déjà de nombreuses années. Dès 2014, le logiciel ClickOnSite a été totalement repensé et recréé pour pouvoir être entièrement paramétrable, sans passer par du développement. Au fil des années, couplé à une nouvelle organisation agile, cet investissement a porté ses fruits. Nos équipes ont donné naissance à une solution technique ultra flexible et personnalisable selon les problématiques spécifiques de chaque opérateurs de réseaux mobiles (MNO) ou towercos.

 

Quand la généralisation devient le maître-mot

Toutefois, il n’est pas évident de fournir des outils simples et génériques sans forcément savoir comment et pourquoi ils vont être utilisés… Pas de modèle de données métier, pas de traitement, pas d’interface utilisateur… tout est à imaginer de façon générique et élémentaire. Un challenge que nous avons relevé en grande partie grâce aux concepts de bases de données “peu structurées” (noSQL et graphe), et de modélisation de processus avec BPMN. Pour cela, nous nous sommes appuyés sur des composants et des concepts largement issus des logiciels libres pour repenser notre façon de construire et de déployer notre solution.

Plus loin encore, le choix du low-code nous a poussé à revoir globalement notre approche du développement.
Habituellement, en tant que développeur, nous créons du code spécifique pour chaque client. Avec le low-code, les développeurs n’interviennent que sur du code générique. La personnalisation est directement gérée par le Business Analyst qui implémente chaque module selon les demandes de son client. L’équipe de développement n’est donc plus que partiellement garante de l’expérience utilisateur et des performances finales. C’est aussi et essentiellement aux Business Analysts d’endosser cette importante responsabilité, en s’appuyant sur les conseils du Product Owner (P.O). C’est pourquoi, cela doit être pris en compte par le P.O. et les développeurs. Ils doivent faire un effort supplémentaire d’abstraction et de généralisation pour anticiper les besoins des Business Analysts et les guider vers les bonnes pratiques.

En transposant dans le domaine du bâtiment, cela revient à fabriquer des briques sans savoir si elles seront utilisées pour une maison traditionnelle ou un immeuble supra moderne… Et les concevoir pour qu’elles soient correctement utilisées dans les deux cas.

 

Savoir étendre ses compétences techniques

Pour cette raison, chez ITD, le low-code n’a pas conduit à diminuer la taille de l’équipe de développement. Au contraire ! Nous avons été amenés à former nos collaborateurs et à recruter des profils toujours plus qualifiés, capables d’amener la valeur ajoutée nécessaire.
Et les compétences “dures” (langages et outils) sur le CV ne suffisent pas ! Il faut être capable de prendre de la hauteur et se remettre en question. Il faut maîtriser les composants de ClickOnSite de bout en bout. Suivre les évolutions technologiques. Puis finalement, savoir mobiliser ses compétences pour les faire grandir.
Et pour cela, le management doit être capable d’allouer du temps pour l’élargissement de ce savoir.

 

Les soft skills : l’autre pilier du développeur low-code chez ITD

Cependant, il serait faux de penser que l’expertise technique est l’unique atout de nos développeurs low-code. Sans quoi, quelles seraient les chances pour un jeune diplômé d’accéder à ce type de poste ? Alors, misez sur les soft skills ! Il faut savoir écouter, structurer sa pensée, synthétiser, être créatif… Des qualités qu’on peut trouver chez un jeune développeur et qui seront utiles dans un contexte low-code. Nous l’avons dit précédemment, le low-code éloigne le développeur de l’utilisateur final. Mais même s’il n’est pas en relation directe avec le client, le développeur doit rester attentif à ses attentes. Il doit sortir de sa bulle, être à la fois altruiste et humble. En tant que détenteur du savoir technique, il est au service des autres. Pour cette raison, il doit quotidiennement éprouver son sens de la communication avec les différentes entités de l’entreprise : Product Owner, Business Analysts, Commerciaux, etc.

En résumé, je pense qu’une approche low-code complique souvent la vie du développeur. Néanmoins, cela le pousse à être exigeant, persévérant et rigoureux. Grâce à lui, de nouvelles portes s’ouvrent à lui : aussi bien en termes d’épanouissement personnel que d’évolution professionnelle.