Organisation produit, cloud et DevOps

Eric Devantay, Migros Online: «La migration dans le cloud va encore augmenter l’indépendance de nos ingénieurs»

A la tête de l’informatique de Migros Online, Eric Devantay explique en interview comment le magasin en ligne organise ses développement et ses opérations avec des équipes cross-fonctionnelles très autonomes. Il aborde également la prochaine migration vers un environnement cloud et son impact en termes de compétences DevOps.

Eric Devantay est Chief Technology Officer de Migros Online. (Photo: ICTjournal)
Eric Devantay est Chief Technology Officer de Migros Online. (Photo: ICTjournal)

Quels sont les principaux domaines d’activité IT de Migros Online?

Notre cœur de métier c’est tout ce qui touche au supermarché digital et à la logistique. Nous nous occupons à ce titre de migros.ch, mais aussi de l’app Migros et de sa fonction de self-scanning pour les commerces physiques. Nous avons deux principaux domaines d’activité étroitement liés: le digital et la logistique. D’abord il faut capturer la commande en offrant la meilleure expérience possible et une grande simplicité. Je rêve qu’un jour nous puissions faire que, grâce à l’IA, une famille n’ait besoin que de cinq minutes pour faire ses courses hebdomadaires. Ensuite, il faut que la livraison soit aussi efficace que possible. Nous gérons entièrement ce processus avec nos équipes de logistique et de développement et travaillons notamment à l’automatisation avancée de nos dépôts. Ces deux composantes - l’expérience d’achat et la logistique - sont très connectées. 

Pouvez-vous donner un exemple de cette intégration entre expérience d’achat et logistique?

Si nous voulons réduire l’impact écologique des livraisons, il nous faut éviter de livrer des boîtes à moitié vides. Et cela passe par une bonne information à l’utilisateur, auquel nous pouvons le cas échéant proposer de compléter sa commande. C’est la raison d’être de Migros Online que d’intégrer ces deux parties. Sans quoi on fait de la sous-optimisation avec le risque de proposer des produits ou des fonctionnalités compliquant davantage la préparation de commande.

Les équipes sont très autonomes et décident de la manière dont elles vont obtenir des informations, tester et itérer.

Quelle est la dépendance de votre informatique à l’égard de l’IT du groupe?

Nous avons une grande autonomie dans les domaines qui touchent à notre cœur de métier. Nous avons en revanche la responsabilité d’expliquer nos choix et de les justifier. Nous partageons aussi régulièrement des connaissances et expériences avec Migros dans le domaine de l’architecture. Pour les autres domaines IT, nous voulons nous appuyer davantage sur le groupe. Je pense typiquement aux équipements de nos datacenters, au réseau, ou aux services de sécurité. Autant de domaines où les équipes de Migros disposent de bien plus de compétences et de capacités. 

ORGANISATION PRODUIT

Vous avez évoqué des projets touchant tant l’emploi de l’IA pour les paniers d’achat que la logistique. Comment organisez-vous ces développements?

Nous avons neuf équipes pour le supermarché digital et trois pour la logistique. Ainsi, par exemple, une équipe va se concentrer sur l’affichage des produits, une autre de la préparation du panier (éventuellement automatisée), et une autre du passage en caisse - le checkout. Ces équipes cross-fonctionnelles développent leur produit de façon très itérative, avec beaucoup d’A/B testing et d’utilisation de données. Elles sont aussi très autonomes et décident de la manière dont elles vont obtenir des informations, tester et itérer - elles peuvent par exemple décider elles-mêmes de conduire une enquête auprès des clients. 

De qui sont composées ces équipes?

Chaque équipe compte une dizaine de personnes avec un duo de tête: un product manager, qui donne la vision - le quoi -, et un chef technique qui s’occupe du comment. Dans chaque équipe on trouve aussi un spécialiste UX, des ingénieurs et un data scientist, qui va notamment analyser l’impact concret des changements envisagés. A côté des équipes, nous avons le service client, le marketing, le category management et la logistique, qui sont consultés régulièrement en tant qu’experts de leur domaine. 

Nous évitons qu'une équipe utilise une nouvelle technologie pour son seul besoin, sans se soucier des impacts. C'est donnant-donnant.

Comment assurez-vous une certaine cohérence entre ce qui est développé, par exemple en matière de stack technologique?

C’est une question que nous nous sommes posés: nous voulons que les gens puissent expérimenter, mais on ne peut pas avoir 10 stacks technologiques. Le nombre d’équipes allant grandissant, nous avons créé une équipe d’architecture, qui fonctionne comme une guilde et qui s’assure que les répondants-architecture de chaque équipe produit se voient et échangent régulièrement. Depuis le début 2022, nous avons par ailleurs mis en place un modèle de gouvernance donnant à chaque équipe le droit d’expérimenter une nouvelle technologie - par exemple, un nouveau framework javascript - mais avec deux obligations en retour. Premièrement le devoir d’annoncer en amont ce qu’ils vont expérimenter et de partager ensuite leur expérience avec les autres équipes. Et deuxièmement l’obligation d’amener la technologie à un niveau production avant son déploiement effectif - c’est -à-dire de penser au cycle de vie, aux opérations, à la performance, à la maintenance, etc. Nous évitons ainsi qu’une équipe utilise une nouvelle technologie pour son seul besoin, sans se soucier des impacts. C’est donnant-donnant.

Et ce modèle donnant-donnant fonctionne bien?

C’est du change management. Il a fallu quelques mois, mais aujourd’hui les gens jouent le jeu et apprécient ce modèle de gouvernance. Ceux qui souhaitaient expérimenter de la nouveauté se sont vite rendus compte de l’utilité qu’il y a à éviter par exemple que deux équipes fassent quasiment la même chose chacune de son côté. Les collaborateurs disposent d’ailleurs d’un après-midi par semaine pour se livrer à de telles expérimentations à des fins de formation continues. C’est aussi important compte tenu du challenge de retenir les bons ingénieurs: il faut qu’ils puissent tester et apprendre de nouvelles technologies, sinon ils iront ailleurs. 

Avez-vous des difficultés à trouver les bons ingénieurs?

En deux ans, nous sommes passés de 50 à 100 collaborateurs et il a été difficile de trouver les bonnes personnes. Aujourd’hui nous avons atteint une taille qui va rester stable et le challenge c’est plutôt trouver des spécialistes correspondant à nos attentes. Nous voulons bien sûr des personnes très compétentes, mais aussi des gens qui apprécient l’atmosphère conviviale à laquelle nous tenons. De plus, nous ne cherchons pas des ingénieurs qui se bornent à coder ce qu’on leur dit, mais des personnes qui sachent évoluer dans des équipes cross-fonctionnelles, qui participent, qui donnent leur avis. Ce sont beaucoup de critères, mais heureusement le marché du travail s’est beaucoup détendu ces derniers mois et nous avons actuellement de très bons candidats. 

Comment se fait la synchronisation entre les équipes? 

Nous avons un cadre qui est un cycle de 6 semaines. A la fin du cycle, nous consacrons une semaine à la synchronisation. D’une part, les équipes présentent les initiatives sur lesquelles elles ont travaillé, les résultats qu’elles ont obtenus, elles font parfois des démos. Et d’autre part, elles annoncent leurs initiatives techniques (cloud, mise à jour d’une technologie, etc.) et produit pour le prochain cycle et ce qu’elles entendent livrer concrètement. C’est notre CEO qui a mis ce système en place lorsqu’elle est arrivée et c’est vraiment génial: toute l’entreprise sait ce sur quoi travaille chacune des équipes les six prochaines semaines, tout est basé sur les outils Atlassian (Jira/Confluence) et c’est très transparent. Pour le reste, les équipes s’organisent entre elles pour livrer ce qu’elles ont annoncé et réserver les ressources dont elles ont besoin. Il n’y a pas de gouvernance centralisée, c’est très responsabilisant.

Sur cette base, les équipes se chargent d'organiser leur travail, de trouver leurs propres solutions et de mesurer l'impact de leurs initiatives, en toute autonomie.

Quelle est votre responsabilité en tant que chef IT?

Je suis responsable du comment et de faire en sorte que l’on fournisse du bon logiciel et que les opérations fonctionnent. Je compte des spécialistes - logistique, développement frontend, architecture, infrastructure DevOps - répartis dans les diverses équipes. Je suis aussi responsable que les équipes disposent des compétences requises et que les gens soient contents et puissent se développer dans leur travail. 

Et comment se réalise l’articulation du travail des équipes avec la stratégie de Migros Online?

Le management fixe le cap avec des objectifs et des résultats attendus (OKR), par exemple tel pourcentage de croissance au prochain trimestre. Sur cette base, les équipes se chargent d’organiser leur travail, de trouver leurs propres solutions et de mesurer l’impact de leurs initiatives, en toute autonomie. On évite ainsi les schémas passés avec une direction qui décide et des équipes qui exécutent. Nous avons par ailleurs également des OKR qui ne sont pas directement liés au business, comme la satisfaction des employés ou le fait d’être technologiquement armés pour l’avenir, ce qui donne de la place à l’expérimentation. Il ne faut pas oublier que sans technologie il n’y a pas de business de Migros Online, de la prise de commande à la livraison.

CLOUD & DEVOPS

Projetez-vous d’abandonner votre environnement on-premise?

Effectivement. Aujourd’hui, tout notre business - de l’e-shopping à la logistique - tourne avec des microservices sur notre propre PaaS Openshift avec du Kubernetes dans les datacenters de Migros à Zurich. Nos ingénieurs gèrent directement cette plateforme sur laquelle nous avons tout un stack permettant de déployer automatiquement, y compris dans l’environnement de production. Cette solution fonctionne bien, mais elle a ses limites. Lorsque les volumes augmentent rapidement, comme nous l’avons vécu durant la pandémie, il faut commander et installer le matériel et cela peut prendre beaucoup de temps. Sans compter que nous tenons à la satisfaction de nos ingénieurs et qu’il est difficile de leur expliquer ces lenteurs quand ils peuvent acheter instantanément des capacités avec leur carte de crédit quand ils sont à la maison. Nous comptons donc migrer progressivement dans le cloud et ne pas remplacer les équipements du datacenter qui arrivent en fin de vie.

Quand cette migration dans le cloud est-elle prévue et chez quel fournisseur?

Je pense que nous allons achever la migration fin 2023, mais nous évitons de fixer une date fictive qui mettrait les gens sous pression. Nous allons migrer sur Azure, sachant qu’une grande partie de nos bases de données sont Microsoft. Nous pouvons aussi bénéficier de l’expérience de gestion et du support Azure de Migros.

Nos ingénieurs systèmes très expérimentés évolueront vers la gestion de fonctions centralisées (cluster Kubernetes) et l'architecture cloud.

Quel est l’impact de cette future migration dans le cloud sur le travail et les compétences de vos équipes?

Nous accordons beaucoup d’importance aux opérations et à la façon dont les systèmes tournent. La migration vers le cloud a aussi pour objectif que nos développeurs gagnent en indépendance et augmentent leur sens d’ownership sur leurs services. Aujourd’hui, ils doivent notamment faire appel à nos ingénieurs systèmes pour la création et le monitoring des microservices. A l’avenir ils en auront la maîtrise et la responsabilité de bout en bout. Nous allons donc les faire monter en compétences DevOps et prévoyons divers niveaux d’expertise, allant de la création et au monitoring de microservices aux opérations sur les bases de données et jusqu’à la prise en charge d’un cluster Kubernetes. En parallèle, nous souhaitons offrir des opportunités de carrière intéressantes à nos ingénieurs systèmes très expérimentés qui évolueront vers la gestion de fonctions centralisées (cluster Kubernetes) et l’architecture cloud, et qui aideront à mettre en place la gouvernance du nouvel environnement. 

Cette évolution DevOps va-t-elle aller jusqu’à englober support, la sécurité, les coûts?

J’ai une petite équipe de service management, dont la tâche principale est d’automatiser le dispatching des tickets aux bonnes équipes. Les incidents devraient être neutralisés en amont: mon cheval de bataille, c’est le monitoring. Nos systèmes affichent aujourd’hui un excellente performance et disponibilité et je veux qu’il en aille de même avec le cloud. Je souhaite que 100% des systèmes cloud soient monitorés de manière optimale et que la totalité des incidents soient levés grâce à ce monitoring. S’agissant de la sécurité, nous avons la chance de compter sur le SOC du groupe Migros. Enfin la question de la gouvernance des coûts du cloud est bien identifiée. Cela va avec la responsabilité des équipes, de la même manière qu’elles doivent éviter la dette technique et les lignes de code ou appels superflus, elles devront éviter des coûts inutiles.

A props de Migros Online

  • Revenus 2021: CHF 330 mio (en hausse de +24,5%)
  • 1,6 million de commandes
  • 800 collaborateurs, dont une centaine pour l’IT
  • Plus de 80 microservices pour les systèmes logistiques et e-commerce
  • Plus de 20 changements déployés quotidiennement en production dans le domaine e-commerce et logistique, sans impact pour les opérations

Tags
Webcode
GR37QwS8