Le blog des décideurs du digital sur toutes les tendances tech, architecture, organisation et produit

Comment Elon Musk nous a aidés à ne plus recoder 15 fois les mêmes fonctionnalités

Elon Musk utilise des fusées ré-utilisables pour éviter d'avoir à les jeter après chaque expédition. Selon lui, cela permet de diviser « par un facteur deux » le prix des lancements. Cette histoire a raisonné dans nos oreilles de développeurs. Nous avons décidé de créer Forge afin de ne plus recoder les mêmes fonctionnalités à chaque lancement de projet.

Lors d'un lancement de projet, les développeurs peuvent passer des jours sur des tâches qui n'apportent pas directement de valeur aux utilisateurs : mettre en place des environnements de développement, configurer l'intégration continue, développer des fonctionnalités non métiers (ex : authentification). Comment minimiser ce temps passé pour développer plus vite les fonctionnalités à forte valeur ajoutée ?

Nous nous sommes lancés le défi de créer notre propre générateur d'application web pour accélérer la création des produits de nos clients et permettre à nos équipes techniques de se concentrer uniquement sur les problématiques métiers.

Concrètement, Forge automatise les lancements de projets et donne aux développeurs une boite à outils dans laquelle ils peuvent choisir les fonctionnalités non métiers qu’ils vont installer sur leur prochaine application.

Les trois avantages de Forge lors de la création d'un projet : 

  • Accélérer le time to market
  • Améliorer la qualité de la base de code
  • Capitaliser sur des fonctionnalités déjà codées

Question généraeur

1. Accélérer le time to market

Le démarrage d'un nouveau projet peut prendre des heures. Grâce à Forge, en une ligne de commande nous générons un projet et en moins de 30 minutes nous avons une application full-stack lui permettant d'être "prod-ready".

Concrètement, en fournissant aux développeurs les environnements DevOps dès le début et en automatisant les gestes techniques habituels d'un début de projet (mise en place de l'intégration continue, connexion entre le back et front...), nous constatons qu'un projet web classique améliore radicalement son time to market.

Albéric Trancart, architecte-développeur chez Theodo : "Forge m'a énormément aidé car mon projet était très court (ndlr : 3 semaines), si j'avais dû tout refaire ca m'aurait pris 2 semaines de plus"

2. Améliorer la qualité de la base de code 

Pour accélérer le time to market sans faire de compromis sur la qualité, nous avons regrouper dans Forge les meilleurs outils du marché pour monitorer la performance, la qualité et la robustesse du code.

Par exemple avec Typescript, le développeur peut faire du "type-checking" statique afin de développer plus vite tout en évitant d'introduire des régressions lors du "refactoring". Typescript rend donc chaque application plus facilement maintenable et scalable.

Par ailleurs, pour permettre à l'équipe de délivrer rapidement du code de qualité sur le long terme, nous avons défini 30 standards techniques que nous mettons en place dès le début de nos projets. 

Quelques exemples :

  • Mon code est testé automatiquement
  • Je peux voir les logs de mon application
  • Je peux déployer en une ligne de commande 

3. Capitaliser sur des fonctionnalités déjà codées

Pour permettre aux développeurs de se concentrer sur les fonctionnalités métiers, nous permettons aux architectes de Theodo de récupérer des fonctionnalités déjà codées. 

Exemple concret du temps gagné sur un projet développé en ReactJS et API Platform grâce à Forge.

Capture d’écran 2019-09-30 à 11.00.46

Notre vision pour Forge

Forge doit être être la boite à outils qui permet de rassurer le développeur, d'aller plus vite sans faire de compromis sur la qualité et d'assurer la satisfaction client dès le début du projet.

 

Capture d’écran 2019-09-29 à 21.57.38

Pour découvrir tous nos outils qui nous aident à délivrer des produits de qualité en un temps record

 

Topics: DevOps, Front End, Backend