Erreurs courantes

Posted by Xavier Bouclet on November 12, 2019 · 8 mins read
Le succĂšs, c’est se promener d’échecs en Ă©checs tout en restant motivĂ©.
— Winston Churchill

Dans ce blog, nous allons voir les difficultés courantes rencontrées par les tech leads.

Développer à 100%

Ê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.

Ne pas gĂ©rer l’humain

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.

Être le seul Ă  dĂ©cider

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
​

Ne pas guider l’équipe

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.

Ne pas gĂ©rer les discussions de l’équipe

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.

Accuser les membres de l’équipe des problĂšmes

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.