Mener au changement
lundi 03 juillet 2023
Aujourdâhui je vais vous partager quelque chose de diffĂ©rent de dâhabitude. Vous nâaurez pas dâexemple de code ni de prĂ©sentation dâune librairie qui vous veut du bien. JâespĂšre que vous en retirerez quand mĂȘme quelque chose que vous pourrez appliquer dĂšs demain dans votre boulot.
Je vais vous parler de mon expĂ©rience Ă SINGULART. Plus particuliĂšrement je vais me concentrer sur ce qui sâest passĂ© ces deux derniĂšres annĂ©es qui a permis de faire Ă©voluer la codebase, donner plus dâautonomie Ă lâĂ©quipe front et amĂ©liorer notre efficacitĂ© au quotidien.
Pour mieux comprendre le contexte, SINGULART est une galerie dâart en ligne, une espĂšce de marketplace pour des artistes curatĂ©s (= sĂ©lectionnĂ©s). Cela rend le domaine mĂ©tier particulier, mais au niveau du code on est trĂšs proche dâun e-commerce relativement classique.
Je parlerai plus en dĂ©tail de mon rĂŽle et de ce que jâai constatĂ© au quotidien. Ce qui a marchĂ© ou nâa pas marchĂ©. Il sâagit principalement dâun retour dâexpĂ©rience et des leçons que jâen ai tirĂ©. Cependant, gardons en tĂȘte que chaque situation est diffĂ©rente et que tout ne sera pas forcĂ©ment applicable Ă la vĂŽtre. NâhĂ©sitez donc pas Ă piocher et Ă lâadapter Ă votre contexte.
De plus, rien nâest possible en restant seul dans son coin. Câest un travail dâĂ©quipe Ă tous les niveaux et mĂȘme si je parle de mon expĂ©rience, câest le cumul de plein de facteurs qui ont rendu cela possible .
Situation initiale
Je dĂ©barque Ă SINGULART en avril 2021, en tant que premier dĂ©veloppeur purement front-end (mĂȘme si je me considĂšre comme un full-stack sur pas mal de sujets đ). Un an plus tĂŽt, lâentreprise a fait une levĂ©e de fond de 10M ⏠et en novembre 2021 fera une levĂ©e de 60MâŹ. La taille de lâĂ©quipe tech, elle, a mis beaucoup de temps Ă grandir comparĂ© au reste de lâentreprise. Lors de mes entretiens, pour environ 80 personnes il y avait 3-4 dĂ©veloppeurs.
Une grande majoritĂ© de lâintĂ©gration avant mon arrivĂ©e est faite en HTML/Less par le graphiste freelance qui est prĂ©sent depuis le dĂ©but de lâaventure. LâintĂ©gration nâest pas sa spĂ©cialitĂ© mais ça permet de bien avancer le travail. Câest ensuite repris par les dĂ©veloppeurs back/full-stack. A cette occasion, le code est transformĂ© en Twig pour y ajouter les variables qui vont bien et gĂ©nĂ©rer les pages au sein de Symfony. On ajoute une petite couche de jQuery lĂ oĂč on en a besoin et ça part en prod.
Cette mĂ©thode a trĂšs bien fonctionnĂ© pendant 3 ans, notamment parce que ça permettait dâavancer sur les projets, tester des nouvelles choses et Ă©volutions rapidement. Câest certainement une des raisons du succĂšs. Cela dit, chaque Ă©tape du projet a ses propres complexitĂ©s.
Notamment lâobjectif aprĂšs la levĂ©e de fond est de faire monter lâĂ©quipe technique Ă ~30 personnes en deux ans. Cependant, avec une telle croissance ça commence Ă avoir ses dĂ©savantages :
- Si on ne connaĂźt pas bien le scope du projet, il est difficile de savoir quelle modification impacte quelle page. Et tant de nouvelles tĂȘtes, pas grand monde connaĂźt le scope du projet.
- TrÚs peu de réutilisation possible avec du code copié/collé entre les pages : sans bien connaßtre le projet, il est difficile de savoir comment réutiliser sans casser ce qui se passe à cÎté
- Dâun point de vue purement technique, ce nâest pas trĂšs vendeur, on doit rĂ©apprendre pas mal de bonnes pratiques qui nous avaient poussĂ©s Ă utiliser des frameworks plus modernes
0. Comprendre oĂč on met les pieds
Je suis donc arrivĂ© dans cette Ă©quipe en tant que 5Ăšme dĂ©veloppeur. Je nâai pas Ă©tĂ© recrutĂ© en tant que Lead ni Staff (mon rĂŽle actuel), mais en tant que Senior. Bien quâon mâait recrutĂ© pour mes compĂ©tences et que je sois habituĂ© au domaine du e-commerce, je ne connaissais pas le contexte du projet et ne connaissais pas vraiment le modĂšle start-up. De plus, SINGULART Ă©tait dans une phase oĂč il fallait continuer de livrer des nouvelles choses avec beaucoup de choses Ă tester et une levĂ©e de fond Ă prĂ©parer. Ce quâil a Ă©tĂ© urgent de ne pas faire Ă©tait de proposer un plan en 15 Ă©tapes pour arriver Ă une stack moderne.
Mes premiĂšres contributions rentraient donc dans le cadre quâon avait dĂ©jĂ en place en me contentant de commencer Ă extraire des petits composants ici et lĂ . Ces composants ont dâailleurs fini eux aussi par ĂȘtre refactorĂ© mais mâont permis de comprendre comment appliquer la philosophie de composant Ă une stack en Twig/Less/jQuery (un prochain article de blog certainement).
En commençant petit, le but Ă©tait de commencer Ă me familiariser avec lâĂ©quipe et comprendre oĂč Ă©taient les enjeux. Je suis un fervent croyant du fait quâavec nâimporte quelle stack on peut faire des choses de qualitĂ©. Il me fallait donc diffĂ©rencier ce qui mĂ©ritait un peu de neuf de ce quâon pouvait garder.
1. Etablir la confiance
LâĂ©tape suivante Ă©tait de construire un socle de collaboration. Rien ne peut fonctionner si chaque personne de lâĂ©quipe oeuvre dans son sens. Et cela passe donc par commencer Ă sâaligner ensemble afin dâavoir confiance dans le jugement de chacun·e. Ce nâest pas une Ă©tape qui a Ă©tĂ© rĂ©lĂ©chie et planifiĂ©e comme telle. Cependant, avec le recul, je pense que câest ce qui mâa permis de façonner une forme de confiance dans ce que je pouvais apporter Ă lâĂ©quipe et lâentreprise.
Notamment une des actions les plus efficaces a Ă©tĂ© de prendre 10 minutes toutes les semaines lors de la rĂ©union de veille hebdomadaire pour prĂ©senter des sujets front. LĂ encore, mon but nâĂ©tait pas de prĂ©senter le dernier framework Ă la mode â ça nâaurait pas passionnĂ© grand monde avec une Ă©quipe essentiellement constituĂ©e de full-stack orientĂ©s back. Je me suis contentĂ© dâextraire les commentaires que je pouvais faire dans les PRs pour que ça bĂ©nĂ©ficie au plus grand nombre et surtout que ce soit faisable/adoptable dĂšs le lendemain.
Le scope de ces présentations était trÚs varié :
- petits sujets tel que la prĂ©sentation des unitĂ©s en CSS (px, em, rem, ch, etc.), lâutilisation de
inherit
, ou des transitions - rédaction et présentation de certaines pages de documentation (ex: les différentes méthodes de chargement des images déjà en place telles que lazyload, preload, redimensionnement, etc.)
- à des présentations de bonnes pratiques que je commence à vouloir pousser et qui ne représentent pas beaucoup de friction (BEM, Atomic Design)
Parfois, elles Ă©taient trop succinctes et ont fait Ă©mergĂ© plus dâincomprĂ©hensions quâautre chose (đ inherit
).
Mais quelle que soit votre situation et votre niveau dans lâentreprise câest quelque chose qui vous sera bĂ©nĂ©fique et qui sera apprĂ©ciĂ© de vos collĂšgues : vous ĂȘtes obligé·e·s de vuglariser vos pensĂ©es, diffĂ©rencier ce qui est important de ce qui ne lâest pas et commencer Ă prĂȘcher pour ce qui vous semble ĂȘtre la bonne direction. Cela Ă©tablira aussi des conversations avec dâautres et gĂ©nĂ©ralement vous en apprendrez autant voire plus que les personnes en face de vous.
Ce qui mâa le plus aidĂ© pour ĂȘtre Ă lâaise sur ce genre de prĂ©sentations, ce sont :
- les sĂ©ances de pair : comprendre comment lâautre fonctionne et apprendre Ă expliquer un concept en quelques mots
- ce blog : faire le tri entre le dĂ©tail et lâimportant, visualiser le cheminement de la pensĂ©e pour ne pas perdre lâautre en cours de route
- les pages de documentation (notamment quand jâĂ©tais Ă Front-Commerce) : rĂ©aliser que chaque information nĂ©cessite son propre format (un Guide ne sâĂ©crit pas de la mĂȘme façon quâune doc dâAPI)
- les confĂ©rences en meetup : pour comprendre lâimportance des slides et des dĂ©mos pour capter lâattention des gens
Câest dâautant plus vrai quâĂ mes premiers essais, tout cela me prenait un temps dĂ©raisonnablement long. Mais Ă force de pratique, je peux maintenant improviser la plupart des prĂ©sentations techniques ou Ă©crire certains articles ou pages de documentation dâune traite.
Ainsi, en faisant ces prĂ©sentations Ă SINGULART, ça mâa donnĂ© une visibilitĂ© au sein de lâentreprise et mâa permis dâĂ©tablir un Ă©change avec tous les devs (au dĂ©but on nâĂ©tait pas beaucoup mais on est rapidement montĂ© Ă une vingtaine de personnes rĂ©parties en 4 Ă©quipes). Quand il fallait commencer Ă se pencher sur des sujets front plus complexes, les gens ont commencĂ© Ă venir vers moi parce quâĂ leur yeux jâĂ©tais le sachant. En vrai câest juste quâon rĂ©flĂ©chissait ensemble et je nâavais pas forcĂ©ment la rĂ©ponse Ă toutes les questions, mais câest ce qui fait que jâai pu emmagasiner un maximum de contexte.
2. Collaboration inter-équipe
Pendant les premiers mois nous ĂȘtions tous dans la mĂȘme Ă©quipe. Mais dĂšs que lâĂ©quipe a commencĂ© Ă grossir, il y a eu une sĂ©paration en 2 puis 4 squads diffĂ©rentes (a.k.a. Ă©quipes ou Product/Feature Team). Au maximum nous Ă©tions 6 dĂ©veloppeurs purement front, et une petite dizaine de full-stack Ă travailler de temps Ă temps sur le front.
DĂšs quâil y a eu 2 squads, nous avons commencĂ© Ă avoir besoin de nous synchroniser entre fronts. CâĂ©tait dâautant plus nĂ©cessaire quâon commençait Ă extraire des composants quâon allait rĂ©utiliser entre nous. Si personne nâĂ©tait au courant du composant, câĂ©tait comme sâil nâexistait pas. Alors il fallait quâon se parle :
- des nouvelles choses quâon mettait en place dans la codebase qui pouvait ĂȘtre utile aux autres
- des problĂ©matiques quâon avait au quotidien avec peut ĂȘtre un composant/outil qui mĂ©ritait dâĂ©merger ou un manque de synchronisation sur certaines pratiques de code
- des éléments de veille tech
Nous nâavons pas eu besoin dâattendre une Guilde, un Chapter ou tout autre terme pour dĂ©signer une Ă©quipe transverse : nous nous sommes créés un channel Slack pour initier les discussions entre front. Pour vous donner un exemple, les premiĂšres discussions Ă©taient autour du systĂšme de colonnage et la mise en place de classes atomiques pour la gestion des marges. Ca nâa pas besoin dâĂȘtre rĂ©volutionnaire pour ĂȘtre utile.
Plus tard, nous avons dĂ©cidĂ© dâorganiser un crĂ©neau hebdomadaire de 30min, ensuite Ă©tendu Ă 1h, pour faire le point et sâassurer quâon Ă©tait toujours sur la mĂȘme longueur dâonde. Ce crĂ©neau aurait mĂ©ritĂ© dâexister dĂšs le dĂ©but, quitte Ă lâĂ©courter si on nâavait rien Ă se dire.
Dâun point de vue Ă©quipe câĂ©tait un temps qui permettait surtout de prendre la tempĂ©rature et de traiter les frustrations avant quâelles ne deviennent trop grandes. Ainsi mĂȘme si on nâa jamais Ă©tabli de Roadmap sur 12 mois, on avait toujours une idĂ©e du focus pour les 2 prochains mois, au dĂ©but de maniĂšre implicite, puis de maniĂšre explicite avec une vraie Roadmap prĂ©sentĂ©e aux autres Ă©quipes.
Ce qui a fait du bien pour faciliter cette collaboration câest la mise en place de Guildes. Nous avions conscience que le travail produit avait tendance Ă cannibaliser beaucoup de travail tech, ce qui nâallait pas forcĂ©ment dans la rĂ©solution de la dette technique. En officialisant les Guildes, nous avions dĂ©sormais du temps dĂ©diĂ© Ă lâamĂ©lioration de la stack, la mise en place dâoutils ou lâextraction de composants.
Enfin, le plus gros avantage Ă mon sens Ă©tait que cette collaboration transverse permette Ă chacun et chacune dans sa squad de devenir rĂ©fĂ©rent front. Ce nâest pas forcĂ©ment Ă©vident selon les niveaux dâexpĂ©rience des personnes, mais cela a permis a minima de mettre en place des relais. CâĂ©tait notamment trĂšs important afin que chaque changement ne vienne pas de moi, mais de lâĂ©quipe au complet. Je nâai ainsi jamais ressenti le besoin de forcer un changement aurpĂšs des devs car lâĂ©quipe en avait entendu parler avant mĂȘme quâil arrive.
A noter cependant que les fronts ne sont pas les seuls responsables de lâinterface du site. Beaucoup de ce travail et beaucoup des mĂȘmes problĂ©matiques se retrouvent dans le travail des Designers. Nous avons donc aussi mis en place un temps de discussion pour parler spĂ©cifiquement Design System et comment amĂ©liorer notre collaboration avec elleux. Câest dâailleurs quelque chose que nous aurions certainement dĂ» faire plus tĂŽt : il ne peut sortir que du positif dâune collaboration Ă©troite entre Design et Tech sans nĂ©cessairement avoir tout le temps le Produit (dĂ©jĂ dĂ©bordĂ©) dans lâĂ©quation.
3. Mettre à disposition les outils avec un bon rapport coût/impact
Un autre Ă©lĂ©ment qui a permis dâinitaliser lâautonomie de lâĂ©quipe front Ă©tait la mise en place dâoutils qui nous aideraient au quotidien mais qui ne seraient pas trĂšs couteux Ă mettre en place.
eslint
 : repérer des erreurs le plus tÎt possiblewebpack-dev-server
 : accélérer les temps de compilation en localprettier
 : ne plus jamais avoir besoin de faire des retours de code style dans les PRsjest
 : des tests unitaires sur des fonctions simplesstorybook
 : initialiser une documentation vivante des composants
Jâinsiste sur lâaspect pas trĂšs couteux. Sâil faut 4 jours pour mettre en place un outil, câest peut-ĂȘtre que vous pouvez viser plus petit. Sâil est impossible de le caler entre deux tĂąches, cela veut dire que ça devient un rĂ©el chantier Ă prioriser au mĂȘme titre que le reste. Il faut alors convaincre et dĂ©fendre son outil. Toutefois, sâil sâagit dâune petite tĂąche, on peut rapidement avoir de la valeur et ainsi nĂ©gocier plus de temps a posteriori pour atteindre le plein potentiel de lâoutil.
Par exemple, pour jest
nous avons une stack en Twig, Less & jQuery. Pas idĂ©al pour rĂ©diger des tests unitaires front-end. Ce nâest pas grave, la premiĂšre mise en place Ă©tait uniquement sur du JavaScript pur. Plus tard, jâai fait en sorte quâon puisse rĂ©ellement tester les composants Twig.
Sur eslint
, inutile de passer des jours à corriger le code qui est en prod depuis des années. On peut marquer les fichiers legacy en warning uniquement et forcer les erreurs uniquement sur les nouveaux fichiers.
Il y a encore dâautres outils qui nous seraient bĂ©nĂ©fiques (TypeScript, ViteâŠ), mais chaque chose en son temps, ils viendront petit Ă petit.
Pour vous donner une idĂ©e, si on compte uniquement la liste ci-dessus, ça nâa pas Ă©tĂ© du jour au lendemain. Il a fallu quasiment un an. Ca paraĂźt trĂšs long. Mais rĂ©trospectivement, je ne suis pas sĂ»r quâen allant plus vite ça nous aurait aidĂ©.
4. Construire étape par étape
En effet, un des plus grands piÚges pour moi est de vouloir mettre en place tout, tout de suite. Je savais le premier jour de mon arrivée à SINGULART que des tests unitaires nous seraient utiles, Storybook nous serait utile, etc.
Mais jâavais aussi conscience que chaque chantier mĂ©ritait son propre calendrier. A vouloir tout faire passer dâun coup :
- on bloque les avancĂ©es produit plus longtemps â ce qui peut runier la confiance durement acquise
- la derniĂšre brique ajoutĂ©e nâest pas maĂźtrisĂ©e par lâĂ©quipe avant de passer Ă la suivante et donc on en obtient que 20% de la valeur.
- on ne sait pas si on est allĂ© dans la bonne direction : il vaut mieux stabiliser notre Ă©difice avant dâajouter un nouvel Ă©tage
Les autres personnes de lâĂ©quipe vous dirons que jâai souvent ce rĂŽle de rabat-joie : ok on veut aller vers ça, mais câest quoi les Ă©tapesâŻ? Est-ce quâon a vraiment besoin de tout çaâŻ? On pourrait pas faire plus simple pour commencerâŻ? Dans lâextrĂȘme majoritĂ© des cas je suis trĂšs content de lâapparente lenteur quâon a mis en place. Ca nous a permis de continuer dâavancer sur le produit et notre socle est dâautant plus stable. Deux ans plus tard, on a conscience quâon vient de loin.
Par ailleurs, cela a permis dâosciller entre petits ajouts et grosses fonctionnalitĂ©s. En effet, je vous ai prĂ©sentĂ© plus haut uniquement les outils techniques, mais il y a aussi tout le penchant architecture :
- comment organiser nos composants�
- comment améliorer la communication back/front (= Symfony/Twig)�
- comment gĂ©rer lâasynchrone/ajaxâŻ?
GĂ©nĂ©ralement pour rĂ©pondre Ă ces questions, câĂ©tait un plus gros projet. Il fallait par exemple lister les problĂšmes qui nous barraient la route, expliquer comment on voulait les rĂ©soudre et aller chercher le feedback des autres dĂ©veloppeurs. Mais en ayant des premiĂšres victoires avec les petits projets, il Ă©tait plus facile dâavoir la confiance du leadership quand il sâagissait dâamener un plus gros changement. GĂ©nĂ©ralement il sâagissait plus de former la rĂ©flexion et partager nos plans quâune rĂ©elle remise en question de la pertinence du projet.
Ca nâa pas empĂȘchĂ© que lâadoption dâun projet ne soit pas au rendez-vous ou que nous ayons besoin dâitĂ©rer sur certaines solutions. Mais ça nous a permis dây aller petit Ă petit, dâĂ©chouer/rĂ©ussir que sur des petites parties.
5. Tout ne doit pas ĂȘtre une rĂ©ussite
Parce que oui, il y a eu des Ă©checs. Et câest peut-ĂȘtre la partie la plus importante : tout nâa pas besoin dâĂȘtre une flamboyante rĂ©ussite, ou correspondre parfaitement Ă la premiĂšre idĂ©e que vous vous ĂȘtiez faites.
Aujourdâhui encore, quand je travaille sur SINGULART, jâai conscience quâil y a encore beaucoup de choses Ă amĂ©liorer, mais on y arrive petit Ă petit. On continue notre bonhomme de chemin.
En y allant de maniĂšre incrĂ©mentale, cela permet de dĂ©marrer certains projet sous forme dâexpĂ©rimentations. Chaque PR ne doit pas ĂȘtre une dĂ©cision finale de comment nous ferons les choses. Profitez des petits projets pour expĂ©rimenter certaines approches, dĂ©grossir certaines techniques. Lâessentiel est que ça nâimpacte pas lourdement le reste de la code base et que ce soit facile Ă changer. Et cela vous permettra dâavoir des Ă©lĂ©ments concrets Ă prĂ©senter le jour oĂč vous voudrez gĂ©nĂ©raliser.
Par ailleurs, cela permet aussi de rĂ©cupĂ©rer uniquement ce dont vous avez besoin. Notre maniĂšre de dĂ©velopper aujourdâhui ressemble de plus en plus Ă ce que propose Hotwire (plus connu sous le nom de Stimulus/Turbo). Cependant, lâadoption de Hotwire reprĂ©sentait une marche trop haute pour nous Ă un instant T. Elle lâĂ©tait parce que je nâavais personnellement pas le temps nĂ©cessaire Ă accorder Ă son Ă©vangĂ©lisation et parce quâil Ă©tait plus simple de proposer un petit bout de code custom plutĂŽt que lâadoption dâun framework.
Je nâai pas encore le recul nĂ©cessaire aujourdâhui pour conclure et dire si câĂ©tait une bonne ou une mauvaise chose. Je sais en tout cas que câest le choix qui fait que je suis moins fier de notre stack aujourdâhui. Mais est-ce que pour autant câest un choix qui impacte nĂ©gativement nos collectionneurs et nos artistesâŻ? Je nâen suis pas sĂ»r.
En tout cas, cela veut simplement dire quâon a le droit de se tromper, de ne pas aller vers la vision initiale et de changer de route. Lâessentiel Ă©tant de continuer Ă avancer.
6. Célébrer les victoires
Mais quâest ce que ça veut dire avancerâŻ?
DâexpĂ©rience, le paroxisme dâun projet est Ă sa livraison : on a passĂ© quelques jours, voire quelques semaines, Ă faire avancer une vision, un outil, une solution et vient enfin la date fatidique de la mise en prod. Tout le monde est content, on vient de faire la prĂ©sentation et roule ma poule, on considĂšre que ce sera adoptĂ© dans les prochaines PRs.
Le problĂšme câest quâĂ cet instant on ne sait pas vraiment si ce quâon a fait est utile ou pas. On aura beau anticiper en Ă©tudiant en dĂ©tails les problĂšmes auxquels on fait face, si seule lae dev de la fonctionnalitĂ© sait comment ça marche, on ne les aura pas rĂ©solu.
Alors pour chaque changement il est impĂ©ratif de prendre le temps, quelques semaines plus tard, dâestimer lâimpact du changement. Ca passe parfois par des mesures : on a augmentĂ© la couverture de tests de 10%, et la pipeline nous a Ă©vitĂ© 13 bugs ce dernier mois. Mais la plupart du temps ce sera du ressenti avec des retours terrain : Est-ce que la nouvelle feature est utilisĂ©eâŻ? Est-ce quâen allant voir les devs qui lâont utilisĂ© iels ont eu des soucisâŻ? Se sentent-iels plus efficacesâŻ?
Le fait de comprendre lâimpact vous permettra de savoir dĂ©jĂ si oui ou non le sujet est traitĂ©. Mais câest aussi lâoccasion pour vous de communiquer :
- rappeler Ă tout le monde que cette fonctionnalitĂ© mise en place il y a 3 mois a aidĂ© 2 projets et donc sera peut ĂȘtre utile pour une autre Ă©quipe
- mettre en valeur lâimpact positif afin de montrer valoriser les personnes qui ont travaillĂ© dessus et valider la pertinence de nos changements
- consolider la confiance en montrant quâon ne travaille pas sur ces outils uniquement parce que câest rigolo ou pour rĂ©soudre la sacro sainte dette technique, mais bien pour avoir impact sur le produit
- et ne pas oublier de parler de ce qui nâa pas marchĂ© pour comprendre pourquoi, ne pas rĂ©pĂ©ter les mĂȘmes erreurs et faire bĂ©nĂ©ficier aux autres Ă©quipes de notre apprentissage
Conclusion
Bref, mener au changement nâest pas de tout repos et dĂ©pend de la coordination de plein de facteurs techniques mais surtout humains. Ce que ça veut dire aussi câest que ce que jâai vĂ©cu au sein de SINGULART peut fonctionner pour vous, ou peut-ĂȘtre pas. đ Câest dâautant plus vrai que tout nâest pas forcĂ©ment entre vos mains, certaines entreprises laisseront plus dâopportunitĂ©s que dâautres.
Cependant, je retrouve pas mal des Ă©lĂ©ments que jâai pu Ă©noncer dans cet article de Charity Majors, notamment la partie âquand je suis tech lead dans une nouvelle Ă©quipeâ.
En tout cas, si je pouvais résumer ma stratégie en quelques phrases :
- commencer en adoptant le cadre actuel afin de comprendre les tenants et aboutissants
- privilégier dans un premier temps de simples discussions pour générer de la confiance
- établir la communication avec les personnes qui seront directement impactées
- commencer avec des quick wins pour initier le mouvement
- y aller petit Ă petit pour ne pas se noyer
- accepter les échecs pour rester dans la bonne direction
- célébrer les victoires pour pouvoir continuer
Est-ce que jâaurais pu vous dire le jour de mon embauche que jâallais exĂ©cuter cette stratĂ©gieâŻ? Absoluement pas. Mais rĂ©trospectivement câest ce qui sâest dessinĂ© et ce qui semble nous avoir menĂ© oĂč nous en sommes aujourdâhui.
Est-ce que vous auriez fait diffĂ©remmentâŻ? Ătes vous plutĂŽt du genre Ă prĂ©voir une adoption incrĂ©mentale planifiĂ©e dĂšs le dĂ©partâŻ? Ca mâintĂ©resse de savoir comment vous approcheriez la situation. NâhĂ©sitez pas Ă venir mâen parler sur Mastodon, Twitter ou en ouvrant une issue sur GithHub.
Si vous voulez suivre mes publications, il paraĂźt que j'ai un feed RSS, Mastodon et un Twitter.
Si vous pensez à d'autres méthodes que vous voudriez que je mette en place (pigeon voyageur, avion en papier, etc.), n'hésitez pas à me les proposer :)