Bonjour à tous!
Je n'ai pas écrit depuis longtemps et j'ai oublié comment faire, mais je veux partager des informations qui peuvent être utiles à beaucoup. Après tout, ils me harcèlent constamment avec des questions, comme:
- "Cela vaut-il la peine de travailler à distance?"
- "Comment avez-vous organisé le travail à distance pour votre équipe?"
- "Il est difficile pour nous de travailler avec des développeurs distants ..."
Le message est sorti plus longtemps que prévu - j'ai essayé de décrire tous les points que vous devez prendre en compte. Dans cet article, je montrerai différentes structures de commandes à distance, comment et pourquoi les commandes à distance fonctionnent différemment lorsqu'elles sont debout et lorsqu'elles ne fonctionnent pas à distance, et enfin je donnerai de vrais exemples. Merci d'avoir lu.
Et un ... deux ... trois ... Allons-y!

Différentes structures de commandes à distance
Les commandes à distance signifient différentes choses:
● Équipes satellites
○ Plusieurs équipes siègent dans différents bureaux.
● Employés distants
○ Presque tout le monde est au bureau et seuls quelques gars travaillent à distance.
● Des équipes entièrement réparties
○ Tout est distant.
● Par le principe de la «télécommande d'abord»
○ En fait, ils sont entièrement distribués,
○ mais quelqu'un travaille au bureau.
○ Essayez de communiquer pour que les employés distants soient au courant de tout.
Par commandes à distance, j'entends des commandes à distance entièrement distribuées et valides. Le reste, je considère les hybrides.
Pourquoi est-il si important de voir la différence?
C'est juste que ce sont des types d'équipes complètement différents avec des besoins différents.
Exigences de processus
Les équipes distantes ont environ cinq fois plus d'exigences de processus que les équipes de bureau.
Par exemple,

- J'adore les réunions.
Oui, personne n'aime les réunions. Mais pour les équipes distantes, c'est un plaisir particulièrement coûteux, complexe et fastidieux.
Comment une équipe distante de cinq personnes se réunit-elle:
- Nous annonçons la réunion à l'avance.
- Nous enregistrons tout, car tout le monde n'est pas venu.
- Nous arrivons à l'heure.
- Nous écrivons une assignation.
- Nous essayons de ne pas tarder.
- Ensuite, nous écrivons quelque chose en Slack, etc.
Au bureau, en équipe de cinq, vous vous levez simplement et vous dites: "Tout est là, il y a une conversation." Bien que s'il y ait 20 à 25 personnes dans le bureau, vous devez encore bricoler. En attendant ...

- Dire est facile.
Dans une équipe distante, vous ne pouvez pas simplement vous lever et parler à tout le monde. Eh bien, pas question. Quelqu'un est hors ligne, quelqu'un dort, quelqu'un a des problèmes au travail.
Les réunions ne sont qu'un bon exemple, mais nous parlons de toute communication ou travail d'équipe. Dans les équipes distantes, les processus sont cinq fois plus compliqués.
Il faut systématiser l'interaction et les attentes.
J'appelle les processus pas un travail difficile avec un tas de papiers, où chaque action doit être confirmée par un sceau. Je veux dire une interaction systématique et des attentes compréhensibles.
Par exemple, chaque matin, nous célébrons ou faisons toujours une tâche avant d'en faire une autre. Avec de telles règles compréhensibles, les gens savent à quoi s'attendre et évitent toute communication inutile.
Je ne veux pas vous décevoir, mais ... après tout, c'est du travail, et vous devez vous comporter comme si vous aviez plus de compagnie que vous ne l'êtes vraiment. Vous avez besoin de règles strictes. Des problèmes de communication se produiront tout le temps - et en grand nombre.
Les gens se plaignent souvent de ces problèmes de communication lorsqu'ils pensent à transférer des équipes vers un site distant ou à engager des développeurs distants. Et ils décident des hybrides ...
C'est très difficile avec des hybrides
Imaginez que vous faites partie de l'équipe assise sur un site distant. Vous avez des exigences de processus complètement différentes. Et tu souffres.
Il est difficile d'être un renégat dans l'équipe du bureau - vous avez cinq fois plus d'exigences, et vous oubliez d'appeler à des discussions, tout se décide sans vous, vous n'avez aucune idée de quoi et pourquoi. En général, la vie est douloureuse.
Les bureaux satellites ont également des problèmes. Il y a cinq fois plus d'exigences de communication entre les bureaux, et dans les bureaux eux-mêmes, les gens travaillent comme d'habitude. À moins que les bureaux fonctionnent presque indépendamment les uns des autres, la communication entre eux en souffrira.
Il est difficile de créer des processus pour les besoins de communication dans de telles équipes. C'est généralement contraire à la nature humaine. Je vais dans la cuisine pour boire de l'eau et discuter avec quelqu'un entre les deux. Et dans Slack, je n’écrirai rien à ce sujet, parce que ... eh bien, parce que je suis en ruine! Je suis ou où?

"Je ne suis pas si paresseux." Je m'en fiche.
Par défaut - à distance ou au bureau?
J'ai essayé tous ces modèles. Personnellement, je vous conseille d'éviter les hybrides et de rechercher des équipes entièrement distribuées - ou d'abandonner complètement la télécommande et de vous asseoir au bureau. Les deux approches fonctionnent.
Si vous avez besoin d'un petit bureau, ne laissez pas le gros de l'équipe s'y asseoir et ne laissez pas les employés distants être exclus des discussions.
Dans de telles situations, si l'équipe par défaut travaille à distance, un petit bureau fera l'affaire.
Demandez-vous:
- Pourquoi avez-vous décidé de créer une équipe distante?
- Les avantages valent-ils l'effort?
- Si oui, qu'est-ce qui devra changer?
- À quelle fréquence vous rencontrerez-vous en personne?
- Si vous avez besoin d'un petit bureau, comment vous connecter avec des employés distants?
○ Exemple. Cela vous dérange-t-il si toutes les personnes au bureau en conférence téléphonique sont assis devant leur ordinateur portable?
Pourquoi travailler à distance?
Beaucoup parlent d'épargne. Comme, udalenka est moins cher. Parfois, cela est vrai, surtout si vous êtes habitué aux salaires dans la Silicon Valley. Mais les étrangers s'attendent à un salaire de classe mondiale. Vous serez surpris de ce que les gens attendent de vous. Vous rêvez d'externalisation à bas prix? Alors l'udalenka n'est pas pour vous.

- Bonjour, donne une bouteille de ton meilleur vin.
"Vous avez 1 600 $."
- Alors, s'il te plait sois gentil avec moi, le plus huit-baksovy.
L'embauche d'employés à distance offre quatre avantages: vous embauchez les meilleures personnes, où qu'elles (ou vous) soyez; augmenter la qualité de vie; gérer votre productivité; vous avez un faible roulement de personnel.
"Nous avons une startup cool, tout le monde veut nous voir!" Quelqu'un le veut. Quelqu'un ne l'est pas. Et ces derniers sont un groupe de personnes qui vous manquent.
D’un autre côté, avec la bonne approche, même les génies de la Silicon Valley peuvent être attirés: «Salut, n’as-tu pas pensé à quitter San Francisco? Ce numéro ne fonctionnera pas avec Google, et nous sommes une autre affaire! Vous travaillerez avec des gars du monde entier sur un projet intéressant où vous le souhaitez. Eh bien , discutons-en ? »
Pour moi, il ne s'agit pas de dépenses, de spécialistes sympas et d'optimisation de la qualité de vie et de votre productivité. L'essentiel est la rétention du personnel. Savez-vous combien de temps les gens travaillent dans des équipes distantes? Beaucoup plus longtemps qu'au bureau.
Itérations vs Innovations
Vous vous rendrez rapidement compte que dans Hangout ou Slack, beaucoup de nuances humaines sont perdues. Ce sont des nuances importantes, surtout si vous avez un projet créatif.
Supposons que vous changez la direction du développement. Pendant longtemps, vous dites avec enthousiasme ce que l'équipe devrait faire, et en réponse: «Désolé, vous avez quelque chose avec Internet. Qu'est-ce que tu viens de dire maintenant?

L'innovation est meilleure lors des réunions face à face où même l'employé le plus discret et discret peut prendre un marqueur et expliquer quelque chose.
Et lorsque vous avez déjà accepté quelque chose, tout le monde s'assoit sur ses tâches, et il est plus facile de le faire à distance.
- Itérations - loin
- Innovation - en personne
Même si vous travaillez à distance, convenez de la fréquence à laquelle vous devez vous rencontrer. Je recommande de rencontrer une fois par trimestre ou deux fois par an toute l'équipe. Et laissez les équipes de projets individuels se réunir si nécessaire.
La solitude
Beaucoup se plaignent qu'il est seul sur un site distant. Personnellement, je n'ai pas de tels problèmes, mais je l'ai vu avec des amis et je comprends pourquoi les gens s'inquiètent.
Le chef d'entreprise doit s'assurer que chacun est en bonne santé et heureux. Voici ce qui nous a aidés:
- Nous ne travaillons pas à la maison, mais dans des bureaux loués conjointement (dans le coworking, vous êtes distrait tout le temps).
- Nous ne rencontrons pas d'amis du travail.
- Nous nous rencontrons régulièrement en personne.
Optimisation pour l'itération - optimisation pour un seul joueur

Dans les équipes distantes, tout doit être organisé pour que les gens puissent travailler de manière aussi autonome que possible. Cela ne signifie pas que vous devez laisser les employés seuls. Donnez-leur simplement la possibilité de travailler seuls si nécessaire.
Seul, les gens prennent des décisions rapidement et l'équipe ralentit souvent. Pour obtenir le résultat, vous devez travailler dans les deux sens, mais essayez d'éviter les formalités administratives de l'équipe si ce n'est pas absolument nécessaire.
Demandez-vous:
- Comment définir une stratégie pour que les gens la comprennent et prennent des décisions dans l'esprit de cette stratégie?
- Comment définir des objectifs pour que les gens les comprennent et se concentrent sur eux?
- Comment établir une hiérarchie de décisions pour ne résoudre que les problèmes les plus importants?
- Comment inspirer confiance aux gens? (fonctionne plus rapidement avec elle)
- Quand pouvez-vous vous passer de vous et quand devez-vous intervenir?
- Comment vous assurer de ne participer qu'à chaque dixième décision et d'annuler uniquement à chaque centième?
- "Comment organiser l'environnement et les processus pour qu'ils fonctionnent même en cas d'urgence?"
Si vous avez embauché des gars intelligents et talentueux, pourquoi ne pas simplement leur donner la liberté d'action? Qu'est-ce qui manque? Avez-vous embauché les mauvais? Pourriez-vous identifier clairement les objectifs? Êtes-vous personnellement incertain des éléments stratégiques? Il vaut mieux résoudre ces problèmes une fois pour toutes que d’en faire face à chaque fois.
Posez ces questions non seulement pour l'ensemble de l'entreprise, mais aussi pour chaque secteur individuel.
Creuser plus profondément: gérer les équipes de développement à distance

Voici quelques exemples pour les équipes de développement (il est facile de faire des analogies avec d'autres domaines):
Comment vous ou un membre de l'équipe:
- ... des ennuis seuls au milieu de la nuit?
- ... aider les nouveaux développeurs à apprendre par eux-mêmes?
- ... partager des conseils pour écrire du code?
- ... ne transforme pas les demandes de pool en un processus prolongé?
- ... ne pas rencontrer sans besoin particulier?
- ... laisser les développeurs prendre leurs propres décisions concernant les produits?
- ... éviter les pires scénarios?
- Et encore - comment augmenter la confiance? (travaille avec elle plus vite!)
Chez Product Hunt, nous avons longuement réfléchi et voici ce que nous avons pensé:
- Décrivez clairement les stratégies et les objectifs mondiaux.
- Laissez les développeurs être responsables de leurs équipes et de leurs projets.
- Laissez-les être responsables de leur produit et de leurs objectifs (la stratégie va de haut en bas et son exécution de bas en haut )
- Indiquez clairement dans quels cas l'avis de plusieurs personnes est nécessaire (par exemple, changements dans la pile, problèmes de sécurité, etc.).
- Vous devez avoir une documentation réfléchie pour les débutants et des conseils aux employés.
- Laissez les nouveaux employés améliorer cette documentation.
- Utilisez une formulation claire.
- Décrivez clairement les règles et les interdictions.
- N'implémentez pas de solutions jusqu'à ce que des problèmes surviennent (en particulier pour les processus ou l'infrastructure).
- Le vendredi, les employés peuvent faire tout ce qu'ils jugent utile (si le projet est désactivé) - corriger les défauts techniques, améliorer l'interface utilisateur, essayer une nouvelle bibliothèque, reconstruire l'infrastructure ...
- Enregistrez des vidéos au lieu de démonstrations en direct (par exemple pour les prototypes d'interface utilisateur).
- Obtenez une suite de tests fiable (mais pas énorme) (pour l'intégration des fonctions et les tests unitaires pour les parties à risque).
- Essayez d'utiliser plusieurs fois les composants standard, plutôt que de coller sur chaque pixel.
- Assurez-vous d'utiliser des linters pour chaque langue (même pour HTML / CSS).
- Activez la mise en forme automatique (pour ne pas discuter des styles de code).
- Activez le comptage de la complexité en linter (️ brillante idée).
- N'entrez pas dans la console de production si ce n'est pas un cas extrême (avec journaux et alertes).
- Laissez les conditions de production être facilement recréées en cours de développement (sans données supplémentaires).
- Les environnements de développement doivent être réinstallés en une seule étape.
- Sélectionnez une heure pour afficher les demandes de pool (première chose chaque matin).
- "+1" dans les demandes de pool est agréable, mais pas nécessaire.
- S'il y a des risques de sécurité, demandez «+1» (en utilisant danger.js ).
- Dans les commentaires, écrivez pourquoi, pas quoi
- etc. et ainsi de suite
Écrivez-moi si vous avez besoin de moi pour tout peindre en détail. En attendant, des détails peuvent être trouvés dans ma première présentation sur la façon dont nous avons travaillé chez Product Hunt: https://www.slideshare.net/andreasklinger/engineering-management-for-early-stage-startups-97402850
Si vous êtes trop paresseux pour lire beaucoup de lettres: idéalement, le développeur devrait comprendre par lui-même si tout est en ordre et quand il a besoin des critiques des collègues. Et laissez les détails être vérifiés automatiquement. Et surtout - traitez-les comme des adultes.
Ce ne sont pas seulement des problèmes d'équipes distantes
Tous ces problèmes ne concernent pas seulement les équipes distantes, et les solutions peuvent être utilisées de la même manière qu'au bureau. C'est juste que les équipes de bureau n'ont pas besoin de règles aussi strictes - elles peuvent toujours réparer quelque chose en cours de route. Peut-être que les développeurs ne sont pas satisfaits des réunions et des conversations, mais cela fonctionne et tout le monde le fait.
Au bureau, les problèmes avec les processus sont résolus par des réunions fréquentes et une interférence constante dans le travail des membres de l'équipe.
Les équipes distantes sont plus exigeantes sur les processus, les problèmes de gestion des employés surviennent donc plus tôt et sont plus frappants.

- Règle numéro 1: ne vous embêtez pas.
Puisqu'il est coûteux de se réunir, vous devez considérer la systématisation des processus.
Étant donné que les employés ne peuvent pas se tenir au-dessus de leur âme, il faut comprendre en quoi ils peuvent avoir entièrement confiance.
Étant donné que vous ne pouvez pas suivre chaque étape, vous devez déterminer la stratégie et les objectifs et traiter les développeurs comme des adultes capables de prendre des décisions.
Pensez-vous que vous n'êtes pas encore loin?
Vous pouvez bien sûr discuter de tous les avantages et inconvénients du travail à distance, mais soyons honnêtes.
Nous travaillons déjà comme ça. Nous vérifions le courrier le week-end, lisons des articles sur le chemin du travail et terminons les projets à domicile le soir. Vous travaillez déjà à distance, la seule question est la fréquence et le nombre d'outils nécessaires dont vous disposez.

Que vous travailliez sur un site distant ou non n'est plus une question. La question est de savoir combien.
Le travail à distance est une évolution logique du travail avec les technologies numériques . Et les méthodes de travail des équipes distantes peuvent s'appliquer à tous ceux qui travaillent dans l'espace numérique.
La fin

Faites-moi savoir si j'ai essayé en vain. Et si vous avez de l'expérience avec des équipes distantes, dites-nous comment améliorer l'article!
PS. Pendant de nombreuses années, je n'ai rien écrit sur le blog ... J'étais très nerveux et j'ai demandé des commentaires tout en écrivant. Plus d’une centaine de personnes ont offert de l’aide, je ne peux même pas mentionner tout le monde ici, et je suis ravi des commentaires. Une telle aide signifie beaucoup pour moi. Merci à tous.
Si vous souhaitez m'aider à rédiger des articles, abonnez - vous . Merci d'avance.