Gestion d'une équipe distribuée en mode multi-projet (revue et reportage vidéo)



Les 23 et 24 septembre, la Saint TeamLead Conf 2019 s'est tenue à Saint-Pétersbourg. Flant y a pris une part active: Igor Tsupko (notre directeur de l'inconnu) a tenu une réunion où les participants ont compris comment trouver et révéler des connaissances secrètes au sein de l'organisation, et Sergey Goncharuk (chef de projet) a fait une présentation «Gérer une équipe distribuée dans multi-projection. " Par tradition, nous publions une revue du rapport et de sa vidéo (~ 37 minutes).

«Équipe distribuée» et «multi-projets»


Sous une équipe répartie, différentes entreprises comprennent des choses très différentes - par exemple, un réseau d'agences ou un bureau et des travailleurs à distance ... Mais dans notre cas, il n'y a pas de bureau au sens «réel».



Maintenant, nous avons plus de 80 employés qui vivent dans plus de 20 villes de Russie et au-delà. La plupart d'entre nous se voient «en direct» seulement 2 jours par an, à l'anniversaire de «Flanta».

Le reste du temps, nous vivons à Moscou, Samara, Tyumen, Nizhny Novgorod ou dans toute autre ville, nous travaillons avec le chant des oiseaux ou l'odeur du café. Au lieu de louer une place, nous investissons de l'argent dans quelque chose de vraiment utile. Et comme tout le monde travaille à distance, nous n'avons pas de division en «succursales» ou «castes».

Et le plus important - nous embauchons les meilleurs, malgré toutes les frontières! C'est ce que signifie "distribution" dans notre compréhension.



Voyons maintenant le multi-design, mais pour commencer, il est important de plonger un peu dans l'appareil Flanta.

Nous sommes une société d'ingénierie, nous avons de nombreux ingénieurs. Cinq à sept ingénieurs sous la direction du chef d'équipe et du manager composent l'équipe. Il existe plusieurs équipes de ce type, et chaque équipe a son propre ensemble de projets.



Pour nous, un projet est une infrastructure client pour un produit ou une équipe de développement. Autrement dit, le projet a des limites claires, mais il n'y a aucune restriction sur la croissance et le développement!



Chaque projet a ses propres besoins, qui doivent en quelque sorte être transmis à l'équipe.
Cela est fait par le manager. Ce sont les bases du «multi-design».

Maintenant que nous avons une compréhension commune des termes du titre du rapport, la question est: que faut-il faire pour que, dans de telles conditions, tout ne fonctionne pas seulement, mais fonctionne bien?

Le chef d'équipe est responsable de la résolution de ce problème. Être «traducteur» du client à l'ingénierie est l'une de ses compétences clés. La seconde est l'organisation d'une communication constructive au sein de l'équipe et avec les clients. Et la troisième compétence de base est de trouver un équilibre entre le flux de travail et les capacités réelles des ingénieurs:



Nous analyserons chaque compétence plus en détail.

1. Attentes en matière de diffusion


Même le même client peut avoir des attentes contradictoires. Par exemple, l’entreprise d’un client exige que la production génératrice d’argent soit stable. Et en plus, il était constamment réapprovisionné avec de nouvelles fonctionnalités qui aident à augmenter les revenus.
Eh bien, si un accident se produit (l'entreprise est prête pour que l'accident se produise), il sera éliminé dès que possible. Cela semble très prévisible, non?

Mais ce client a aussi des développeurs. Et il se trouve que leurs attentes sont complètement différentes! Pour les développeurs de développement, la production est plus importante (après tout, les entreprises font également pression sur eux), et ils s'attendent également à ce que toutes leurs demandes soient entendues et formulées dès maintenant (généralement cela est décrit par la phrase "après tout, il y a 5 minutes de travail").

La seule chose qui unit à la fois les entreprises et les développeurs dans les exigences est que les deux s'attendent à ce que les tâches planifiées soient effectuées avec précision et dans les délais.



Regardons l'image dans son ensemble ... Oui, elle est pleine de paragraphes qui s'excluent mutuellement!

  • L'ajout de nouvelles fonctionnalités ajoute toujours de nouveaux points de défaillance. Babah! Et la production est instable après la sortie de vendredi.
  • Nos ingénieurs ont exécuté le plus rapidement possible pendant la journée tout ce que les développeurs demandaient, et les tâches planifiées sont restées intactes à cause de cela.
  • Ou voici l'histoire: à quel environnement de stabilité accorder plus d'attention? Nous avons stabilisé le développement en allouant des ressources à cela, mais après un autre déploiement, la production a commencé à chuter!
  • Un cas fréquent: la production est tombée en panne et toute l'équipe est allée la réparer. Dans le même temps, bien sûr, il n'y a pas de progrès sur les tâches planifiées, et même les développeurs indiens sont déjà passés au chat en russe dans le chat, car ils ne peuvent pas attendre une réponse.



Et nous comprenons que les exigences elles-mêmes sont contradictoires, ce qui signifie qu'il est impossible de les transmettre directement.

2. Communications


Il y a vraiment des problèmes dans les attentes de diffusion. Eh bien, peut-être qu'au moins avec les communications, tout est plus facile?

Pour communiquer entre eux et avec les clients, nous utilisons Slack pour le texte et Google Meet pour les réunions et les occasions où c'est plus facile à dire qu'à écrire. Mais dans un chat, nous recevons souvent des messages qui n'ont pas de sens utile ou contiennent tellement d'erreurs qu'il est difficile d'en reconnaître le sens!



Pourquoi faisons-nous attention à cela? Le fait est que, par exemple, ce n'est qu'en juillet 2019 que nous avons reçu 1993 demandes de clients de Slack, nécessitant une réponse obligatoire. Et, bien sûr, avec la croissance du nombre de clients, il y a une tendance constante à la croissance du nombre de ces demandes. En juillet, nous avons consacré environ 165 heures d'ingénierie à la réaction à de tels appels. Mais pour chaque appel, il fallait aussi faire quelque chose!

Nous sommes très désolés lorsque le temps des ingénieurs, qui pourraient être investis dans des tâches planifiées, la réaction à d'autres appels ou même pour réparer des accidents, est perdu.

Le problème avec les salles de chat est évident, mais la vidéoconférence n'a probablement aucun problème?

Nous avons dit ci-dessus que nous utilisons Google Meet pour les rassemblements quotidiens par équipe, et le reste du temps, nous effectuons les tâches que nous avons triées lors du rassemblement. Chaque jour, nous passons environ une heure en rallye. Nous essayons de consacrer au moins sept heures par jour au travail direct, c'est-à-dire qu'il reste 6 heures pour effectuer les tâches. Mais nos tâches sont très différentes dans la durée.



Il s'avère donc que dans une heure du rallye, nous pourrions terminer plusieurs petits, mais probablement important pour les tâches de nos clients. Et nous devons comprendre si les réunions de surveillance sont vraiment nécessaires ou est-il préférable d'aller travailler cette fois-ci?

Si vous essayez de rapprocher les problèmes de communication, nous constatons que le chat génère des interruptions inutiles et des rallyes réguliers «grignotent» le temps de travail.



Des communications efficaces ne s'alignent pas d'elles-mêmes.

3. Planification


Eh bien, nous devons résoudre les problèmes de communication et de diffusion, mais dans la planification, probablement, il n'y a pas d'embûches? Voyons cela.

Chaque jour, un grand nombre de nouvelles tâches sont créées. J'aimerais que nous clôturions les tâches aussi vite qu'elles se développent. Mais dans la vie, un idéal est rarement réalisable. Premièrement, parfois quelque chose se casse dans l'infrastructure. Deuxièmement, il y a toujours quelques petites choses qui sont plus faciles à faire tout de suite. Troisièmement, il y a des tâches que nous avons convenu de résoudre lors d'un rallye d'équipe:



Et il arrive parfois qu'en raison d'accidents et de tiraillements sur les bagatelles, il soit impossible de se rendre à ceux prévus! Dans le même temps, de nouvelles tâches n'arrêtent pas d'arriver - tous les délais promis sont dépassés.

Notre recette




Mais pour tous les problèmes de traduction des attentes, de communication et de planification, de méthode de bourrage des cônes, nous avons réussi à obtenir, il nous semble, la bonne réponse.



L'un des principaux processus opérationnels qui affectent les trois compétences clés est la réunion d'équipe. Et nous avions l'hypothèse que si nous rendons une réunion d'équipe efficace, nous pouvons atteindre 80% du résultat avec vingt pour cent de l'effort? Nous avons testé cette théorie.

Comme vous vous en souvenez, nous avons une équipe au service de notre ensemble de projets. Et elle a une certaine liste d'exigences de ces projets. Mais chaque exigence, en règle générale, n'est qu'une dans une chaîne de tâches interdépendantes. Et donc dans chaque projet! Et avant d'entreprendre une nouvelle tâche, nous devons comprendre si nous avons terminé l'étape précédente?



Hier, la tâche A-1 a été exécutée par Egor, la tâche B-1 - Semyon et la tâche B-1 - Jeanne. Mais comment pouvons-nous plonger tous les ingénieurs dans tous les projets si profondément que Yegor réussit à faire face à la tâche B, et Semyon avec deux petites tâches A et B. "Pourquoi toutes ces difficultés?" - demandez-vous. Oui, le fait est que Zhanna ne remplira pas les tâches prévues en vacances aujourd'hui!



Notre objectif est beaucoup de tâches similaires. En moyenne, nous recevons environ 25 nouvelles tâches pour chaque équipe chaque jour ouvrable. Et comme il y a beaucoup de tâches, les connexions entre elles sont confuses et on ne sait pas si toutes les tâches de la veille ont été accomplies. Afin de démêler tout cela, nous avons besoin d'un rallye d'équipe, et chaque jour ouvrable, sinon nous ne pourrons pas gérer ce flux.

Compte tenu du volume du flux, il convient de se préparer à l'avance pour le rallye. Lors de la formation, sans ingénieurs, nous ne pourrons pas comprendre quelles tâches ont été complètement accomplies et lesquelles ne l'ont pas été. Et, bien sûr, nous ne pourrons pas transférer les connaissances d'un ingénieur à l'autre. Mais nous pouvons sans équivoque déterminer les priorités pour entreprendre de nouvelles tâches.

Hiérarchisation des tâches


Sur quoi nous basons-nous pour hiérarchiser les tâches? Premièrement, nous avons des accords stratégiques avec le client sur les objectifs à atteindre. Deuxièmement, une fois par semaine, nous mettons à jour les plans tactiques pour une réunion en ligne avec le client. Les besoins du client en préparation sont pris en charge par le gestionnaire, et la nécessité technique et la procédure pour effectuer telle ou telle tâche est le chef d'équipe. C'est vrai, sur la base de la parité des opinions du chef d'équipe et du manager , une liste de tâches pour la journée est formée.



Culture des réunions d'équipe


Dès que nous avons déterminé la liste des tâches de la journée afin de clarifier ce qui a été fait et de plonger nos collègues dans les détails, nous commençons une réunion d'équipe au cours de laquelle chaque ingénieur doit dire en détail ce qu'il a fait hier, et toute l'équipe devrait entendre et, surtout, comprendre les changements qui ont eu lieu. Mais c'est plus facile à dire qu'à faire.

Nous avons présenté un certain nombre de caractéristiques culturelles du rallye, ce qui nous a permis d'atteindre le résultat souhaité:



Au début du rallye, pendant que tout le monde se rassemble, nous passons 10-15 minutes à parler de la vie. À propos des nouvelles et des événements non liés au travail, des passe-temps des collègues. Donc, des ingénieurs qui sont dans des villes différentes et qui ne se voient presque jamais devenir amis ou même amis. Et ces 10 à 15 minutes par jour aident l'équipe à être plus unie .

Après la conversation de consolidation d'équipe, nous passons à la partie substantielle. Revenons un peu en arrière.



Rappelez-vous cette illustration? Le fait est que ni Semyon ni Yegor ne savent quelles tâches et quels projets ils réaliseront aujourd'hui avant le début du rallye. Pour plusieurs raisons: vacances, voyages d'affaires, maladie, service, etc. - la tâche peut changer les interprètes chaque jour jusqu'à ce qu'elle soit complètement résolue. Et chaque ingénieur comprend qu'aujourd'hui une tâche peut lui être assignée, c'est-à-dire que tous les ingénieurs sont déjà initialement intéressés à approfondir les détails de chaque tâche .

Lors du rallye, nous analysons les blocages survenus par toute l'équipe. Nous insistons pour que toute l'équipe participe à la résolution du problème du locuteur. Nous motivons donc à plonger dans des tâches et à les résoudre ensemble .

Si l'équipe travaille au bureau, la communication informelle se produit souvent «à la glacière». Mais dans une équipe distribuée, le besoin d'une telle communication existe. C'est pourquoi, lors d'une discussion de tâches, la conversation fuit souvent quelque part dans la mauvaise direction. Mais nous arrêtons toute distraction. Comment exactement? Nous parvenons à le faire assez facilement: après tout, il y a un temps spécialement alloué pour les conversations abstraites, et maintenant c'est le temps de travail. Par conséquent, même l'oral habituel «passons à l'essentiel» suffit à tout le monde pour revenir à l'agenda des affaires. En arrêtant les distractions dans le processus d'analyse des tâches, nous mettons en place l'équipe pour travailler .

Nous essayons de contrôler le temps de rapport de chaque ingénieur. Parfois, pour plonger dans les détails, nous avons besoin d'une histoire longue et détaillée sur la tâche. Cependant, dans la plupart des cas, nous essayons de ne pas étirer le rallye .

Rassemblements efficaces - une solution miracle?


Grâce à la préparation du rallye sur la base de la parité des opinions du chef d'équipe et du manager et de nos caractéristiques culturelles du rallye, nous les avons vraiment rendus efficaces. Mais avez-vous réussi à fermer 80% de toutes les compétences? Pas vraiment.



Nous avons fait du bon travail avec les attentes de la diffusion, mais il y avait toujours des problèmes avec les messages de chat non informatifs dans les communications, et il y avait des interruptions dans la planification qui nous empêchaient de faire efficacement les tâches planifiées.

Oui, mais les messages de chat non informatifs sont également des interruptions. Et nous devons trouver un mécanisme qui nous aidera à gérer efficacement les interruptions de toutes sortes.

Lutter contre les interruptions


Nous avons pensé, que faire si nous avons une personne distincte qui «couvrira» avec nous une équipe travaillant sur les tâches planifiées à partir du flux d'interruption?



L'idée n'est pas nouvelle et généralement bonne, mais qui exactement le fera? Nous avons envisagé deux options: trouver et embaucher un tel service ou faire appel à des ingénieurs existants. La recherche de nouvelles personnes a nécessité du temps et des ressources financières, et les ingénieurs existants ont déjà été «testés au combat» et plongés dans tous les projets de l'équipe. Par conséquent, l'option d'embaucher de nouvelles personnes a été rejetée.

Reste à se prononcer sur la manière d'organiser un tel service auprès des ingénieurs actuels. Ici, la solution était apparente: ils ont simplement appliqué les tâches selon un calendrier, avec une rotation d'ingénieurs de l'équipe. Nous gardons l'horaire de service dans Google Calendar, et configurons des notifications dans Slack sur les personnes en service aujourd'hui.



Il semblerait que tout va bien maintenant? Hourra? Non, en fait, le problème persiste. Rappelez-vous, un peu plus tôt, nous avons dit que dans Slack seul, nous obtenons près de 2 000 visites par mois, soit environ 16 visites par jour pour chaque équipe. Mais en plus de Slack, le préposé devra traiter les messages des systèmes de surveillance, et le jour où il:

  • 112 - de Prométhée;
  • 16 - de l'okmètre;
  • 25 - à partir de systèmes de surveillance externes blackbox;
  • 14 - à partir de divers scripts personnalisés;
  • et même 2 appels téléphoniques de clients.

C'est 198 interruptions chaque jour de différentes sources! Mais en fait, il existe encore plus de sources:

  • Presque tous les clients ont un Prométhée;
  • et Okmeter est installé sur chaque client;
  • mais des scripts personnalisés, même un client peut en avoir autant que vous le souhaitez ...



Pour qu'un ingénieur de l'équipe puisse faire face à cela sans magie ni super pouvoirs, nous avons collecté des alertes de toutes les sources d'interruption en un seul endroit. Nous avons appelé cet outil Madison, et chaque message qu'il contient est un incident.

Mais Madison ne recueille que les incidents et garde une fortune à leur sujet. Mais nous devons comprendre quel type d'incident prendre en premier, c'est-à-dire effectuer le triage, avoir un ordre clair de traitement et d'escalade, afin qu'il puisse être facilement exécuté dans une situation stressante.

Nous avons également créé un tel instrument - appelé Polk:



Polk est le lieu de travail de l'ingénieur de service. Il permet au préposé de se concentrer uniquement sur les incidents, sans être distrait par les tâches planifiées, de recevoir les incidents de toutes les sources en un seul endroit, aide à déterminer la criticité d'un incident en fonction d'une gravité prédéfinie, dispose d'un ensemble de statuts clairement définis et d'un algorithme de traitement qui détermine le mouvement de ces statuts.

Caractéristiques techniques et culturelles du chat


Excellent: désormais, le préposé, équipé d'un outil aussi puissant, ferme vraiment l'équipe des interruptions. Mais même avec de tels outils, la montre est épuisante et les interruptions inutiles ne font qu'ajouter du carburant au feu.



Pour lutter contre les interruptions inutiles du chat, nous pouvons utiliser un petit ensemble d'outils techniques, mais la principale solution à ce problème réside définitivement dans le plan culturel.

D'un point de vue technique, chez Slack, nous avons partagé des informations sur les projets, créant un canal séparé pour la communication avec les représentants des clients, et pour chaque projet, un canal permettant aux ingénieurs de discuter des travaux à réaliser. Nous avons également écrit le bot @flant , lorsque Polk y accède, un incident est automatiquement créé et traité par le préposé.



En outre, nous avons recommandé aux clients d'utiliser @flant et @channel (un événement notifiant tous les membres du canal) et @here (un événement notifiant tous les membres du canal en ligne) à utiliser uniquement dans les cas rares et exceptionnels où vous ne pouvez vraiment pas vous en passer. (par exemple, lorsque le bot @flant pas disponible).

Le premier jour de notre coopération avec le client, nous publions des instructions détaillées sur l'interaction dans le canal. Et lors de la première réunion régulière, nous discuterons certainement de l'interaction, y compris la différence entre @channel , @here et @flant .

En particulier, nous nous concentrons sur le fait que l'appel à @flant pour nous, tout d'abord, est une action avec une réaction obligatoire, et @channel et @here pour la plupart de l'équipe n'est qu'une interruption, qui est également sans adresse et peut être ignorée tout en distrayant toute l'équipe de la résolution des tâches planifiées, y compris pour ce projet.



Mais de nouveaux collègues viennent sur le chat de clients qui ne connaissent pas le bot. D'autres oublient juste. Si cela se produit, nous rappelons doucement son existence.



Pour la communication entre ingénieurs, nous utilisons les mêmes règles pour @channel
et @here : ne les utilisez que si cela est absolument nécessaire. Et pourtant, nous insistons pour respecter la règle "Ne vous contentez pas de dire" bonjour "dans le chat - formulez immédiatement une pensée. Cette règle est une lecture incontournable pour tous les débutants. Ceux qui l'ont oublié s'en souviendront - si nécessaire, déployés.

Total: avec l'introduction des quarts et la correction des problèmes de communication dans le chat, nous avons fait face à la plupart des interruptions inutiles et à l'influence des interruptions sur l'exécution des tâches planifiées.


Procrastination et blocage


Nous avons vérifié comment nos indicateurs se sont améliorés après cela: en effet, ils se sont nettement améliorés, mais il y avait toujours un problème de planification.

Lorsque le rallye par équipe est terminé, il est temps de travailler. Mais souvent, les ingénieurs, en particulier ceux qui travaillent à distance, ont tendance à tergiverser. Ou, pendant le travail, rencontrez un problème et marchez en rond pour tenter de le résoudre.



Essayons de faire face à la procrastination. Comment le surmonter? Il y a trop de tâches dans Redmine (notre tracker de tâches) - vous devez vous concentrer sur celles qui seront en cours de travail aujourd'hui. Et même parmi eux, vous devez d'abord comprendre quelles tâches effectuer, c'est-à-dire déterminer les priorités. Et idéalement, si vous planifiez à peu près le temps que nous sommes prêts à consacrer à chaque tâche ...



Nous avons créé un outil qui aide à résoudre tout cela et l'avons nommé Ford:



C'est en cela que l'ingénieur reçoit une tâche pour la journée de travail sous forme de fiches rangées par ordre de priorité. Pour toutes les tâches planifiées, nous fixons le temps approximatif auquel l'ingénieur doit se conformer lors de leur résolution. L'ingénieur prend en compte le temps qu'il a passé à résoudre le problème. Et si le temps est à peu près le même, mais que le problème n'est pas résolu, c'est un marqueur que l'ingénieur a atteint une impasse.



Que peut-on faire avec ça? En plus de la priorité dans laquelle se trouvent les cartes,
nous avons également introduit des catégories prioritaires, les avons mises en évidence avec des couleurs:

  • La boîte grise est utilisée pour les tâches planifiées ordinaires;
  • Champ vert - pour les tâches qui doivent être démarrées dans la journée en cours uniquement si les tâches dans tous les autres domaines sont terminées;
  • Le champ jaune est pour les tâches qui se sont soudainement produites de façon imprévue pendant la journée;
  • Champ rouge - pour les tâches qui doivent être résolues avant la fin de la journée de travail en cours.

Si un ingénieur est bloqué par une tâche dans les champs gris et verts, il lui suffit de démarrer la tâche suivante et de démonter le verrou lors de la prochaine réunion d'équipe.



Mais il est évident que si un ingénieur est bloqué par des tâches dans les zones jaunes ou rouges, vous ne devez pas attendre la prochaine réunion: vous devez appeler l'aide de l'équipe sur le canal approprié pour que les ingénieurs communiquent sur le projet dans lequel la tâche est définie. Et, conformément à notre culture, les ingénieurs ou chefs d'équipe viendront certainement à la rescousse.



Il convient de mentionner que les capacités de Ford sont beaucoup plus étendues et nous n'avons touché que la «pointe de l'iceberg», que vous pouvez mettre en œuvre à l'aide d'autres outils ouverts.

Résumé


Il s'avère que pour lutter contre la procrastination et le blocage, nous utilisons Ford comme solution technique et règles simples dans la culture d'équipe.



Ces outils nous ont-ils aidés? Oui! Mais pour une raison quelconque, pas à 100%?

Le fait est que le monde change et avance. Et nous évoluons également dans ces conditions, recherchant l'idéal, mais, comme vous le savez, ce n'est pas possible.

Atteindre les idéaux et le rôle du manager


Toutes les grandes choses que l'humanité a créées au cours de toute la période de son existence ont été réalisées par des équipes de professionnels qui avaient des managers sympas.




Nous, Flant, nous sommes aussi une équipe de professionnels. Et ce serait cool s'il y avait plus de managers sympas dans notre équipe. Venez à nous pour travailler et aider à améliorer nos processus:



Vidéos et diapositives


Vidéo de la performance (~ 38 minutes):



Présentation du rapport:



PS


Lisez aussi dans notre blog:

Source: https://habr.com/ru/post/fr469453/


All Articles