Le succĂšs, câest se promener dâĂ©checs en Ă©checs tout en restant motivĂ©.
Dans ce blog, nous allons voir les difficultés courantes rencontrées par les tech leads.
Ătre tech lead nâest pas le mĂȘme rĂŽle que dĂ©veloppeur et câest une erreur courante que de se reposer uniquement sur le dĂ©veloppement bien que ça soit, en gĂ©nĂ©ral, une des forces du tech lead.
Si le tech lead dĂ©veloppe 100% de son temps, il nĂ©gligera les autres aspects de son mĂ©tier et cela peut mettre Ă risque lâĂ©quipe et le projet.
Par le passĂ©, nouvellement arrivĂ© dans une Ă©quipe en tant que tech lead, jâai eu Ă me focaliser sur le dĂ©veloppement parce que câest ce que le management attendait de moi.
En effet, lâĂ©quipe avait du mal Ă livrer lâengagement pris Ă chaque dĂ©but de sprint. Et je me suis mis Ă ne faire que du dĂ©veloppement de fonctionnalitĂ©s, ce qui a eu pour effet de me ralentir dans lâidentification et la rĂ©solution des problĂšmes techniques et humains que lâĂ©quipe rencontraient.
Jâaurai dĂ» focaliser, dĂšs le dĂ©but, sur lâamĂ©lioration des façons de faire de lâĂ©quipe. Ces façons de faire Ă©taient la cause principale des problĂšmes de qualitĂ© et de productivitĂ© de notre Ă©quipe.
Lorsque, je me suis rendu compte de mon erreur, jâai pu mettre en place les mesures pour amĂ©liorer la qualitĂ© et la rapiditĂ© de nos livraisons ce qui a eu pour effet de nous aider Ă tenir nos engagements de sprint.
Souvent, les tech leads sont de bons dĂ©veloppeurs, ce qui fait que certains nĂ©gligent lâaspect humain dâune Ă©quipe parce quâils pensent que lâaspect technique est suffisant pour rĂ©soudre tous les problĂšmes.
Bien au contraire, Ă mon sens, lâaspect humain est le plus important pour le bon fonctionnement dâune Ă©quipe. Un conflit humain qui survient dans une Ă©quipe peut dĂ©truire la productivitĂ© de cette Ă©quipe.
Par le fait, le conflit humain entrave le flot de dĂ©cisions/travail qui permet Ă lâĂ©quipe dâaller dans le mĂȘme sens ce qui impacte nĂ©gativement la productivitĂ© dâune Ă©quipe voir la dĂ©truit complĂ©tement.
Le tech lead ne doit jamais décider seul des choses sinon son équipe perdra en engagement et donc en productivité.
De par son expĂ©rience, le tech lead est gĂ©nĂ©ralement une personne trĂšs expĂ©rimentĂ©e, si ce nâest la plus expĂ©rimentĂ©e dans une Ă©quipe, mais ce nâest pas toujours le cas et quand bien mĂȘme ça le serait, il faut amener lâĂ©quipe Ă prendre les dĂ©cisions ensemble.
Lorsque les membres dâune Ă©quipe ne se sentent pas Ă©coutĂ©s, ils ne se sentent pas valorisĂ©s et ne vont donc plus avoir la mĂȘme mobilisation quant Ă la rĂ©ussite de lâĂ©quipe et du projet.
Dans certains cas, les membres de lâĂ©quipes qui ne se sentent pas Ă©coutĂ©s par le tech lead vont mĂȘme faire en sorte de tendre des piĂšges au tech lead, comme :
ne pas remonter des problĂšmes Ă©ventuels (techniques, humains, organisationnelâŠâ)
amener une partie de lâĂ©quipe Ă aller contre le tech lead
amener le management à outrepasser les décisions du tech lead
Bref, en tant que tech lead, il ne vaut mieux pas avoir ce genre de difficultés à gérer.
Donc autant gĂ©rer ce genre de choses en amontâŠâ
Une Ă©quipe autonome permet au tech lead de travailler sur lâaspect facilitateur de son mĂ©tier mais il faut Ă©viter de penser que lâĂ©quipe nâa pas besoin de guide.
Une Ă©quipe sans guide est comme une voiture sans conducteur (luttez contre le geek en vous et oubliez la voiture autonome dans ce casâŠâ). La voiture ne peut pas aller dans la bonne direction si le conducteur nâest pas lĂ pour tenir le volant. Le volant permet au conducteur dâĂ©viter les obstacles lorsquâils surviennent.
Un tech lead câest un conducteur qui doit Ă©viter Ă son Ă©quipe dâĂȘtre arrĂȘtĂ©e par un obstacle. Une Ă©quipe peut-ĂȘtre autonome sur les aspects :
développement
livraison
contrÎle qualité
âŠâ
Mais nâest en gĂ©nĂ©ral pas dans la capacitĂ© Ă :
défendre un périmÚtre réaliste
lutter contre les décisions politiques dangereuses (ex: livrer sans qualité)
trouver de nouveau membre pour la bonne marche de lâĂ©quipe
âŠâ
Si lâĂ©quipe est autonome dans les processus de rĂ©alisations, le tech lead peut plus facilement travailler les aspects externes au projet.
Par contre, il faut quâil regarde, de temps en temps dans le rĂ©troviseur pour sâassurer que lâĂ©quipe va toujours dans la bonne direction. Et câest promis, jâarrĂȘte les mĂ©taphores avec les voitures pour la suite. Sans guidage clair, la productivitĂ© de lâĂ©quipe nâest plus optimale.
Le concept est un peu vague donc je vais donner un exemple concret. Lorsque lâĂ©quipe se questionne sur des choix dĂ©terminants comme :
tabulation vs espace
gradle vs maven
javascript vs typescript
MalgrĂšs la plaisanterie, je veux montrer que toute discussion dâĂ©quipe doit se terminer assez rapidement pour le bien du projet.
Sinon ce genre de discussion a pour effet de crĂ©er, Ă minima 2 camps (il y a des cas oĂč il a plus que 2 solutions), les pours et les contres et cela impacte la bonne marche du projet.
Les longues tergiversations sur le choix dâune solution ou dâun chemin doivent ĂȘtre tranchĂ©es rapidement quitte Ă revenir sur le sujet lorsque de nouveaux Ă©lĂ©ments sont mis Ă la connaissance de lâĂ©quipe.
Le tech lead est responsable de lâĂ©quipe. Il est donc responsable de la bonne marche de celle-ci. Lorsquâun membre de lâĂ©quipe ne fait pas son travail comme il faut, il ne sert Ă rien dâaccuser ce membre de tous les problĂšmes.
Dans tous les cas, passer du temps Ă se plaindre ne permet pas de les adresser et gaspille de lâĂ©nergie qui nâest pas utilisĂ© Ă amĂ©liorer les choses.
Jâaborderai les solutions pour Ă©viter ces erreurs dans un autre post. Stay tuned.