3 conseils pour éviter l’ingénierie « réactive »
Comment créer des équipes proactives performantes.
Au fil des ans, j’ai remarqué que les équipes d’ingénierie ont tendance à se diviser en deux camps : réactif et proactif. Comme on peut le deviner, les équipes qui réussissent le mieux sont proactives. Ils identifient les problèmes potentiels avant qu’ils ne surviennent et mettent en place une série de plans d’urgence qui leur permettent de gérer les problèmes de manière presque transparente. Les équipes réactives peuvent réussir, mais elles éteignent toujours le dernier feu et sont trop occupées pour anticiper ce qui se passe juste au tournant. Ils passent leur cycle de développement dans un environnement stressant et réactif où ils sont toujours en retard. Dans l’article d’aujourd’hui, nous allons explorer plusieurs astuces pour abandonner les tendances et la réflexion réactives tout en adoptant une approche plus proactive de l’ingénierie.
Sommaire
Astuce #1 – Apprenez à prioriser les activités
Malheureusement, les êtres humains sont mauvais en matière de priorisation. En général, les êtres humains sont myopes et se concentrent sur le court terme, pas sur le long terme. La pensée à court terme a tendance à nous faire nous concentrer sur ce que nous croyons être des incendies. Le client qui interrompt notre journée en voulant quelque chose en ce moment ou le manager qui a soudainement l’impression que l’accent doit être mis sur une autre fonctionnalité. Le problème auquel nous sommes confrontés est que toutes les tâches ne sont pas créées égales et nous nous concentrons souvent sur les mauvaises et les priorisons !
Dwight Eisenhower, le 34e président des États-Unis, avait un processus décisionnel simple pour hiérarchiser les activités, connu sous le nom de matrice d’Eisenhower (popularisé par Stephen Covey). L’idée est que toutes les tâches et activités peuvent être classées comme urgentes ou non urgentes, et importantes ou non importantes. Ces quatre classifications créent ensuite les quatre quadrants d’une matrice qui aident à guider ce qui doit être fait avec chaque tâche, comme indiqué ci-dessous :
La matrice Eisenhower peut aider les ingénieurs et les managers à décider quelles activités doivent être prioritaires. Par exemple, si un client appelle avec un bogue majeur et que toute son entreprise a cessé de fonctionner jusqu’à ce qu’il soit corrigé, cela serait urgent et important et devrait être traité immédiatement. Si le client appelle avec une demande de modification de l’apparence d’un rapport, cela peut être important mais pas urgent. Le changement pourrait être placé dans le backlog de sprint, puis programmé à un moment raisonnable dans le futur.
Un autre exemple est qu’un client pourrait appeler avec un changement de configuration qui est nécessaire. Pour le client, c’est urgent mais pas forcément important. Dans ce cas, la mise à jour de la configuration peut être déléguée à un stagiaire ou à un ingénieur junior. Enfin, un ingénieur peut se rendre compte qu’avec une refactorisation du code, les performances du système pourraient être améliorées de 2 %. Cette amélioration peut ne pas être importante s’il y a beaucoup de puissance de traitement et ce n’est probablement pas urgent. Dans ce cas, l’équipe peut simplement décider de ne pas consacrer de temps à cette amélioration.
Les équipes réactives sont souvent plus en retard parce qu’elles ont du mal à prioriser les bonnes choses. J’ai déjà travaillé avec un client qui, quotidiennement, changeait de priorité. Un jour, la fonctionnalité A était urgente. Le lendemain, fonctionnalité B, et ainsi de suite. Une semaine plus tard, la fonctionnalité A était à nouveau urgente. Une fois que j’ai remarqué ce comportement, la clé pour les aider était de mettre en place des processus de priorisation et de planification appropriés. Les incendies quotidiens ont cessé et tout le monde est devenu beaucoup plus productif.
Astuce #2 – Il n’y a pas de meilleur moment que maintenant
Un comportement intéressant que j’ai remarqué chez les équipes réactives est qu’elles savent souvent ce qu’elles doivent et ne doivent pas faire, mais elles le repoussent. La chaleur semble être l’un d’entre eux et ils se bouclent et poussent fort pour passer à travers cela. Ils croient qu’une fois ce feu éteint, les choses iront mieux, mais leur nature réactive maintient le cycle réactif en marche. Les équipes réactives diront souvent des choses comme :
« Nous savons que nous devrions faire X, mais nous devons livrer A, puis nous reviendrons et le ferons correctement ».
« Nous devrions faire X, mais nous n’avons tout simplement pas le temps en ce moment ».
« Après cette livraison, nous passerons du temps à mettre A et B en place ».
Malheureusement, tout cela n’est qu’un vœu pieux. La seule façon de briser le cycle est de reconnaître que c’est maintenant le meilleur moment. Si un meilleur processus DevOps permet d’améliorer la qualité ou les délais de livraison, commencez dès maintenant, pas après la prochaine livraison. Que se passe-t-il après cette prochaine livraison ? Encore une livraison ! Dans son livre « Atomic Habits », James Clear dit que si vous vous améliorez de 1% par jour, alors au cours d’une année, vous vous serez amélioré de 37x ! Vous n’aurez peut-être pas besoin d’améliorer autant, mais commencer maintenant et apporter de petites améliorations quotidiennes entraînera des améliorations spectaculaires.
Astuce #3 – Développer la discipline d’équipe
Une définition de la discipline telle que définie par le dictionnaire Merriam-Webster est « s’entraîner ou se développer par l’instruction et exercer la maîtrise de soi ». Les équipes proactives sont disciplinées. Lorsqu’une balle courbe leur est lancée, ils ne réagissent pas, ils évaluent la situation, élaborent un plan, puis suivent le plan. Mieux encore, ils ont déjà envisagé la courbe potentielle et avaient mis en place un plan d’urgence qu’ils exécutent.
Dans l’industrie technologique, nous sommes tous pressés. Nous essayons d’être les premiers à commercialiser. Nous essayons de prendre une longueur d’avance sur la concurrence. Peut-être essayons-nous d’accéder au marché avant d’être à court de capital-risque. Peut-être sommes-nous simplement pressés de devenir riches. Dans une industrie qui, par nature, est pressée d’innover et d’accéder au marché, il est plus important que jamais que les équipes soient disciplinées. Pour peser soigneusement les activités sur lesquelles ils travaillent et comment ils exécutent ces activités.
Aussi étrange que cela puisse paraître, les équipes avec lesquelles j’ai travaillé qui réussissent le mieux sont disciplinées, réfléchies et proactives quant à la façon dont elles font les choses. De l’intérieur, on peut avoir l’impression que les choses avancent lentement. De l’extérieur, il peut être difficile de comprendre comment ils peuvent aller si vite et créer des produits aussi merveilleux.
conclusion
Les équipes d’ingénieurs qui réussissent sont proactives et disciplinées ; ils ne réagissent pas aux activités urgentes perçues. Il y a une différence entre les activités urgentes et importantes et les activités urgentes sans importance. Chaque fois qu’un incendie se déclare, ne réagissez pas immédiatement. Examinez attentivement et pesez les effets à plus long terme d’une réponse immédiate. Vous pourriez être surpris du nombre de choses urgentes qui s’avèrent ne pas être si importantes. Le simple fait d’attendre 24 heures peut fournir une perspective complètement nouvelle.
La question ultime que vous devez vous poser est de savoir si vous voulez toujours être réactif ou être proactif. Si vous voulez être proactif, planifiez à l’avance. Surveillez ce qui peut mal tourner et quels changements pourraient survenir et planifiez-les. Ensuite, lorsqu’ils se produisent, vous ne réagirez pas, mais vous pivoterez simplement vers l’un des plans. En principe, cela semble simple, mais vous constaterez qu’il faut de la discipline, de la patience et de la pratique pour y arriver. Les avantages peuvent cependant être dramatiques.