GoodBarber aux AppDays 2016: Feature Template, Open Product ...

Mathieu, Dominique, Jérôme et Muriel ont fait le déplacement. Comme à chaque fois, nous avons été plus que ravis d’échanger avec les autres participants de cette édition, et évidemment de rencontrer nos clients sur place, qui nous ont fait des feedbacks sur notre produit. Mention spéciale pour Olivier Waubant de l’Atelier des Applis ainsi que Julie et Gregory de happyngood .
Le Feature Templating

Au cours de l’aventure GoodBarber, nous avons été confrontés à différentes problématiques liées au passage du développement d’apps dans le cadre de prestations de service, à un développement plus industrialisé qui a donné naissance à GoodBarber comme vous le connaissez aujourd’hui.
Pendant notre conférence, nous sommes revenus sur le cheminement que nous avons suivi pour gérer cette transition avec un enjeu principal en tête: conserver un haut niveau de performance, en minimisant la complexité et le cout en maintenance quand le nombre de projets en production augmente de façon constante.
- Deux applications distinctes ont souvent plus de similitudes qu’on ne le croit.
- Plus on a d’applications en production, plus la maintenance devient complexe dans le temps.
Une fois ces constats posés, il nous est apparu comme évident que nos efforts devaient se concentrer sur un investissement de départ. Que pouvons-faire aujourd'hui qui nous évitera un travail important demain ?
La logique instinctive que nous suivions jusqu’alors était de créer un coeur d’application spécifique à chaque projet mettant en musique des modules génériques réutilisables.
L’idée aura été d’inverser cette logique en créant un coeur d’app générique, commun à l’ensemble de nos projets. Sur ce noyau générique, des briques spécifiques (réutilisables ou non) viendraient se greffer pour répondre au besoin des clients. Voilà la nouvelle approche !
Nous avons bâti notre philosophie sur un compromis entre deux tendances extrêmes:
1/ L'utilisation de micro composants, permettant de proposer une palette commerciale très large mais nécessitant d'effectuer le travail de mise en commun de chacun de ces modules à chaque projet.
2/ La création du projet sous forme de "moule", où l'application est un seul et unique composant, permettant de gagner énormément de temps de développement, mais réduisant considérablement l'offre commerciale.
Notre ligne directrice réside dans l'idée de créer des composants de taille moyenne indépendants et responsable d’une fonctionnalité donnée.
Ce parti pris amène un certain nombre de contraintes au départ du projet, mais permet d’optimiser de façon conséquente la phase de maintenance.
Pour conserver la stabilité de nos projets, nous avons pris la décision de paramétrer ces composants non pas grâce à des lignes code, mais avec des paramètres descriptifs.
L’investissement de départ consiste donc à évaluer l’ensemble des scenarii possibles d’utilisation d’une fonctionnalité, afin d’y intégrer les paramètres de customisation nécéssaires.
On obtient donc un assemblage de briques testées de façon unitaire facilitant ainsi leur mise en commun.
Si vous souhaitez en savoir plus sur notre façon d’utiliser le Feature Templating voici la totalité de la conférence ici:
GoodBarber OpenProduct, on en est où?

Sur la papier, GBOP est une bonne idée mais en pratique, nous avons fait le constat que nous mettions trop de contrainte sur les développeurs. La façon dont GBOP avaient été pensé leur impose de développer nativement pour iOS, Android et le web. Ca représente une charge lourde ! De plus, tous les développeurs nous ont indiqué que ne plus pouvoir utiliser le back office de leur app pour déclencher les compilations était une perte de fluidité importante pour vendre des projets à leurs clients. En effet, dès qu'il y a un fork du moteur GoodBarber, la compilation du projet doit s'effectuer en dehors de l'environnement GB.
Nous avons donc décidé de repenser GoodBarber Open Product, et de lui appliquer en quelques sorte la philosophie "Feature Template" que nous avons évoquée plus haut. L'idée est de conserver un coeur natif très générique, maintenu par GoodBarber, et évoluant indépendamment des interconnexions qu'il entretient avec d'autres modules. Parmi ces modules, pourront figurer des briques développées par les développeurs en Angular JS. Il sera possible d'enrichir vos applications en utilisant un seul et même langage.
Nous pensons que c'est une meilleur approche pour permettre à des tiers d'enrichir le périmètre fonctionnel de GoodBarber. Nous devons maintenant trouver le temps pour effectuer les adaptations nécessaires afin que ça fonctionne. On a envie de le faire, soyez rassurés, et dès qu'on le peut, on y consacre un moment pour faire avancer ce projet.
See you soon
A bientôt !
Design

