Scroll Top

Réduire les coûts de migration grâce à la mutualisation

Début 2023, Coop IT Easy a lancé une analyse pour la migration des supermarchés coopératifs de la v12 à la v16, suivant le plan d’alors qui était de migrer les structures clientes tous les 3-4 ans si possible.

Cette analyse a été coordonnée avec le groupe de travail komunigi (supermarchés participatifs) et avait deux objectifs : 

  • Fournir des estimations de temps (travail mutualisé et travail propre à chaque instance) et un budget pour chaque structure
  • Proposer un planning de travail en 2023-2024

Le modèle économique de Coop IT Easy reposait alors sur la facturation en régie des prestations, notamment du travail de portage du code et de migration des bases de données. La volonté de cofinancer les migrations selon cette approche s’est heurtée au coût important de la migration en v16 et à l’incapacité à la financer dans des délais réalistes pour la plupart des organisations.

pistes suivies

solutions

Pour rendre le coût de migration soutenable et permettre financièrement à Coop IT Easy de commencer le travail, quatre solutions ont été mises en place : 

  • Éliminer les modules remplaçables et diminuer la ”dette technique”
  • Mutualiser le portage entre un maximum de clients et clientes
  • Changer de modèle de financement à travers les abonnements
  • Améliorer nos outils de migrations
A. Éliminer les modules remplaçables et diminuer la dette technique

La “dette technique” désigne la charge (et donc le coût) nécessaire pour maintenir et faire évoluer le code utilisé : si on développe du code personnalisé, si nos modules sont trop complexes, mal découpés, ou dépendent de lignes de code de mauvaise qualité, alors on augmente notre dette technique, ce qui se représentera un coût de plus en plus significatif pour l’avenir (on devra périodiquement payer cette “dette”).

  • Plus on mutualise des modules entre nous et avec l’OCA (Odoo Community Association), plus on réduit la dette technique
  • Meilleure est la qualité de nos modules, plus on réduit la dette technique

Le projet komunigi, mené l’année dernière, visait notamment à généraliser notre code et à en améliorer la qualité pour le partager avec l’OCA. Ce projet a contribué à réduire significativement notre dette technique.

Cette approche correspond aussi à l’axe “déconstruction” imaginé en début d’année : éliminer tous les modules qui ne soient pas irremplaçables, notamment : 

  • Les modules en version 12 inutiles une fois en version 16 car la fonctionnalité est devenue standard (exemple : gérer l’arrondi d’espèce)
  • Les modules personnalisés qui peuvent être remplacés par des modules OCA, équivalents ou plus génériques (exemple : un module d’import d’extraits bancaires Crelan qui peut être remplacé par un module OCA générique d’imports de fichiers .csv)
  • Les modules inutilisés ou qui n’apportent presque aucune plus-value (exemple : un module RH qui ajoute une page de configuration vide) 

Et en pratique ?

Les analystes de Coop IT Easy passent les modules installés en revue, pour chaque base de données. Les modules précédemment identifiés comme inutiles sont désinstallés en test, et lorsqu’il y a des doutes sur l’usage d’une fonctionnalité, la question est posée directement à la personne contact dans la structure. Pour certains modules, on propose proactivement des solutions de remplacement.

C’est dans ce cadre que des sujets sont amenés en réunion komunigi et sur la mailing list, lorsque des questions concernent plusieurs supermarchés coopératifs (pour les autres clients, ce sont surtout des questions individuelles). Cela va parfois plus loin que de simples désinstallations, par exemple au sujet du calcul des marges et de la mise à jour des prix, où une convergence avec le flux du GRAP est possible.

Note : L’axe “reconstruction” initialement envisagé, qui visait à identifier une solution minimale à migrer en priorité, n’a pas été poursuivi pour plusieurs raisons. D’abord, il a vite été clair que les différentes structures avaient des besoins de base très différents. Ensuite, le temps nécessaire pour cela et l’investissement actif d’une personne de chaque structure semblait disproportionné. Enfin ça ne semblait pas constituer une solution satisfaisante à terme ni une vraie réponse au problème rencontré : migrer les fonctionnalités utiles et utilisées par les clientes et clients.

B. Mutualiser le portage entre un maximum de clients et clientes

Dans un premier temps, l’analyse avait été menée uniquement pour les supermarchés et épiceries coopératives et structures assimilées, on arrivait à un budget moyen de 9000 € par structure (en supposant que tout le monde participe). On a progressivement ajouté d’autres clients, pour en arriver à un budget moyen de 6500 € par structure (en supposant que tout le monde participe).

En parallèle, on a identifié des modules à exclure du travail. Certains clients nous ont aussi quittés, ce qui a parfois diminué la charge totale de code à porter. La communauté a également bien travaillé dans l’intervalle pour porter des modules (notamment les bases de la comptabilité) et nous avons pu contribuer à écrire des scripts de migration tout en étant rémunéré·es pour ce travail par d’autres intégrateurs.

Voici une illustration de la diminution de la charge de travail ces derniers mois : 

Nous avons aussi commencé à porter activement des modules, travail qui continuera dans les mois qui viennent.

C. Changer de modèle de financement à travers les abonnements

Le modèle d’abonnement a été imaginé pour répondre à plusieurs problématiques rencontrées par Coop IT Easy et nos clientes et clients. L’abonnement aux services de Coop IT Easy est divisé en trois tranches : 

  • Hébergement
  • Support
  • Maintenance (y compris les migrations)

Le passage aux abonnements a été, pour nous, une réponse évidente au défi de la migration et a été très bénéfique pour nous débloquer dans ce travail : 

  • La tranche “maintenance” des abonnements a permis de poursuivre l’analyse du début d’année, investir dans les outils de migration et commencer le portage du code.
  • Les abonnements ont permis de sortir d’une logique purement transactionnelle et d’investir du temps dans le projet de migration au service de l’ensemble des organisations ayant souscrit l’abonnement.
  • La tarification des abonnements a permis de rendre transparents et prévisibles les coûts liés à l’utilisation d’Odoo Community pour les clientes et les clients, en y incluant les provisions nécessaires pour les migrations.
D. Améliorer nos outils de migration

Le passage aux outils OpenUpgrade, avec des membres de la communauté OCA, nous permet d’être plus efficaces et de collaborer avec nos partenaires du GRAP et d’Akretion, ainsi que d’être reconnu·es dans la communauté en valorisant nos compétences en termes de migration.

L’outil Odoo OpenUpgrade Wizard nous permet de suivre l’avancement du portage et des scripts de migration par la communauté et de standardiser et automatiser une partie du processus de migration. Du côté fonctionnel, des outils d’analyse sur tableur ont été affinés pour manipuler les données issues d’Odoo OpenUpgrade Wizard et centraliser les informations accumulées sur les modules installés sur les bases de données de chaque structure cliente.

Par ailleurs, l’équipe infrastructure de Coop IT Easy planche sur un système de mise à niveau continue “odoo continuous upgrade”, pour automatiser davantage le travail de migration à l’avenir.