Monter une filière No-Code - Retours d’expérience dans la data avec Data Fusion - Part I/III

Cet article est le premier d’une série de 3 qui traitent d’un retour d'expérience autour de l’organisation d’une filière No-Code dans la data et avec l’outil Data Fusion de Google.

Introduction

Précédemment, nous évoquions le fait que dans un monde où les compétences IT sont rares et chères, lorsqu’on veut innover, tester vite et que l’on a besoin d’IT, l’outillage en No-Code est un atout. Ce dernier nécessite des compétences raisonnables en IT et permet aux innovateurs/collaborateurs - les fameux ‘citizen developers’ - de tester vite des concepts tout en ayant accès à des facilités de déploiement sur étagère.

Pour autant, rien de magique, les outils No-Code aussi simples soient-ils restent des outils informatiques dont la maîtrise passe par un minimum de connaissance en design et en concepts informatiques. Tomber dans les chausse-trappes pour des employés néophytes est assez fréquent. Par ailleurs, les outils No-Code ont besoin de rapidement faire jouer la carte du Low-Code pour ajuster les fonctionnalités ou compenser un manque isolé des plateformes. Par du conseil ou par le développement de plugins, on peut permettre aux collaborateurs d’accélérer leurs pratiques ou de les débloquer dans leurs initiatives No-Code. (https://blog.octo.com/no-code-ou-low-code-pour-une-application-de-gestion-developpee-avec-airtable-zapier-that-is-the-question/).

Certes, les besoins restent ponctuels, temporaires et ne nécessitent pas de mobiliser une équipe de développement complète mais plutôt une petit équipe réactive et experte qui vient ponctuellement en soutien aux employés.

Au final, c’est ce qui caractérise une filière No-Code : un ou des outils No-Code proposés aux ‘citizen developers’, du conseil et du support IT par l’intermédiaire d’une petite cellule support au sein de la DSI. DSI qui a bien son rôle à jouer en conseillant et en cadrant les usages. En mettant à disposition des ressources pour accompagner et supporter les ‘citizen developers’ ces derniers vont s'approprier les outils No-Code et devenir de plus en plus autonomes.

La filière est là pour éviter désillusions des outils qu’on croit magiques et faire rencontrer le succès aux ‘citizen developers’ : nous illustrerons ici avec un retour d’expérience en succès d’une filière No-Code dans le monde de la data autour de l’outil Data Fusion (https://cloud.google.com/data-fusion ).

En résumé : accompagner les collaborateurs pour qu’ils s’approprient correctement les outils et deviennent le plus autonomes possibles est donc tout l’enjeu d’une telle filière.

Accompagner les ‘citizen developers’ pour qu’ils deviennent de plus en plus autonomes

Description du projet avec Data Fusion

Le projet a été développé pour le compte d’une grosse entreprise française spécialisée dans la gestion de services collectifs. L’entreprise est fortement décentralisée, avec des Business Units (BU) relativement indépendantes. Avec des besoins en gestion de données grandissants, il a fallu mettre à disposition une solution générique, intégrée dans le cloud de Google (GCP) permettant à chaque BU d’ingérer, traiter, stocker puis visualiser ses données de façon autonome. La solution repose principalement sur l’outil de GCP Data Fusion qui est un outil No-Code permettant de créer des flux de données grâce à une interface graphique.

L’utilisation d’un outil No-Code a été justifiée par la forte disparité dans les capacités techniques des différentes BUs. Data Fusion a été choisi pour implémenter des flux exploratoires non critiques.

Quelques métriques

  • En un an ~20 BUs embarquées

  • Nombre de flux en production par BU : de 1 à ~100

  • Temps de déploiement d’une implémentation : <1 mois

  • Pour chaque BU, 1 à 2 personnes ont été formées à l’outil Data Fusion

  • Temps pour devenir autonome après déploiement (hors cas particulier) : entre 2 semaines et 2 mois

  • Une cellule support de 3 personnes est venue guider et soutenir cette démarche dans la durée en accompagnant les fameux “Citizens Developers” (voir Chapitre Cadre d’usage) dans la mise en place puis la gestion de leurs flux avec Data Fusion.

Data Fusion, qu’est-ce que c’est ?

Data Fusion est un outil inclus dans GCP permettant de créer et déployer des pipelines de données ETL/ELT (Extract Transform Load/Extract Load Transform) sans code grâce à une interface graphique de type "pointer-cliquer". Les pipelines de données créés via Data Fusion sont transformés en code Spark, et exécutés sur un cluster Dataproc afin d’obtenir un ETL/ELT rapide et scalable capable de traiter de gros volumes de données.

Cadre d’usage du No-Code

Rappels et convictions

Le No-Code s’adresse aux ‘citizens developers’ dont les compétences en informatique sont modestes

Focus filière data

Aujourd’hui, le traitement et la gestion des données requiert des compétences de développement très spécifiques, notamment lorsque l’on parle de gros volumes de données. C’est ce qu’on appelle le Data Engineering. Le Data Engineer doit être capable de produire du code permettant de collecter, stocker, transformer et exposer les données. Dans un contexte de gros volumes de données, il devra souvent concevoir un code “scalable”, prendre en compte la parallélisation des traitements, réfléchir à la meilleure façon de stocker ses données etc…
Cependant, les Data Engineers sont rares et chers. L’utilisation d’outils No-Code dans le monde de la Data peut permettre, dans certains cas où la conception est moins complexe, à des profils moins spécialisés mais formés, d’être quasi-autonomes sur la gestion de leurs données, quel que soit leur volume, leur nature ou leur débit.

Le ‘citizen developer’ veut tester un concept simple dans un budget très contraint

Une cellule support pour quoi faire ?

Les missions de la cellule

  • Expliquer & définir le cadre d'usage généraliste : le “Pour qui et le pour quoi”

  • Proposer un catalogue d’outils, une sélection avec un cadre d'usage, en explicitant ce que l'outil sait faire et ce qu'il ne sait pas faire (ou qu'on n'autorise pas à faire)

  • Organiser des démos pour mettre le pied à l'étrier aux utilisateurs débutants

  • Exposer et maintenir une FAQ

  • Mettre à disposition des comptes utilisateur

  • Gérer la facturation à l’usage des solutions

  • Organiser des formations (internes ou externalisées) sur un outil choisi en particulier. Cela permet ainsi d’accélérer et de cadrer les usages qui pourraient en être faits dans le contexte de l'entreprise

  • Mettre en place une hotline et au delà pour

    • Niv 1

      • Offrir ponctuellement des d'experts IT afin d’éviter de tomber dans les chausses trappes des outils ou de rester coincés dessus trop longtemps

      • Faire une démo sur les fonctionnalités des outils

      • Pointer vers les ressources à disposition en interne ou en externe

    • Niv 2

      • Identifier / reproduire / valider un bug sur une plateforme No-Code donnée

      • Reporter un bug à l'éditeur

    • Niv 3

      • Développer des plugins, modules, extensions custom, corriger un bug (ex. Cas des solutions OS)

      • Relation éditeur étendue;

        • Reporter un bug puis en faire son suivi et négocier sa résolution

        • Négocier les tarifs avec l’éditeur et ce pour s’adapter à l’augmentation des usages - à date les éditeurs de plateformes No/Low-Code n’ont pas encore mauvaise réputation sur ce sujet, le marché restant encore ouvert

  • Monitorer les usages et administrer les applications pour suivre leurs usages en recensant celles qui sont en cours, celles qui sont inactives et celles qui sont potentiellement en train de passer à l'échelle. Faire un suivi des coûts engendrés par les usages (voire refacturer les coûts aux équipes utilisatrices).

Une cellule support pour aider et supporter les “citizen developers”

Focus filière data

Avec les problématiques liées aux larges volumes de données, certaines missions de la cellule support sont d’autant plus importantes :

  • Sensibilisation à la gestion des données sensibles/privées

    • La cellule support n’est pas garante de l’utilisation qui est faite des données, mais elle a pour devoir de sensibiliser les utilisateurs aux notions de RGPD et de protection des données.
  • Support pour la conception du stockage des données

    • Certains choix comme l’outil de stockage, la méthode d’indexation de données sont très importants et doivent être bien réfléchis pour correspondre à l'utilisation qui sera faite des données. De mauvais choix peuvent entraîner d’importants problèmes de performances ou de coûts très élevés par exemple.

Et ensuite ?

Dans le tout prochain article nous traiterons des limites de l’approche No-Code, des difficultés ainsi que des parades mises en place par la cellule support. En particulier, nous ferons un focus sur l’utilisation de l’outil Data Fusion dans le contexte de notre projet.