Par exemple, supposons que je choisisse d'utiliser une bibliothèque pour accomplir une tâche. Je vais devoir le lui justifier, ce qui est bien en soi, mais il y a une résistance inhabituellement élevée même si je peux justifier son utilisation. En général, je n'ai pas l'impression de disposer de ma propre autonomie de décision , ce qui, à mon avis, devrait être accordé; au lieu de cela, je sens que je ne suis fondamentalement que son assistant.
Dans une équipe / entreprise, vous n'avez pas votre autonomie pour la prise de décision; du moins pas pour des décisions de haut niveau comme choisir une nouvelle technologie, une nouvelle bibliothèque, décider de l'architecture, ...
Lorsque vous travaillez sur un projet en équipe, vous devez être remplaçable . Vous pourriez être malade / heurté par un bus à tout moment, et un autre collègue devrait être en mesure d'intervenir et de continuer là où vous étiez.
Plus ce collègue est familier avec votre travail, mieux c'est, c'est pourquoi il est important que:
- vous utilisiez les mêmes bibliothèques tierces que n'importe qui d'autre dans l'entreprise,
- vous structurez votre projet de la même manière que tout autre projet dans le entreprise,
- ...
Bien sûr, il y a de la place pour l'exploration. Une nouvelle bibliothèque tierce, une nouvelle structure, etc ... peuvent améliorer le statu quo, mais elles sont perturbatrices et leurs avantages devraient donc largement compenser leurs coûts. Cela doit être une décision consciente de la part du département / division / entreprise . Ce n'est pas à vous de le faire, même si vous pouvez le défendre.
Nous devons approuver les pull requests de l'autre, par conséquent, si je fais quelque chose qu'il n'aime pas, il a la possibilité de le rejeter purement et simplement jusqu'à ce que je le modifie pour répondre à ses suggestions. Si je dois faire passer cette fonctionnalité, je dois soit rester sur ma position et passer beaucoup de temps à la justifier, soit simplement la changer pour ce qu'il suggère et poursuivre ma vie. un peu un rocher et un endroit dur
Si vous me le permettez, je pense qu'il y a un problème de méthode de travail ici.
La conception de haut niveau doit être discutée avant de commencer le travail; c'est juste une perte de temps de travailler pendant une semaine sur quelque chose, de le présenter pour approbation et de le faire rejeter avec la raison "Attendez, avez-vous envisagé l'interaction avec X? Cela ne fonctionnera jamais!".
Cela signifie que avant de commencer le travail, vous devez vous mettre d’accord en équipe sur une direction générale. Et si quelque chose survient à mi-chemin et nécessite un changement radical, vous devez vous mettre d'accord en équipe sur la direction à prendre à partir de là.
Remarque: j'ai vu des gens plaider pour l'approbation de leur PR parce qu'ils avait beaucoup travaillé, malgré les objections sur sa qualité ou sa conception. Cela fait mal de voir vos efforts rejetés ... c'est pourquoi il est préférable de discuter des choses à l'avance.
Donc, en supposant que:
- vous avoir l'approbation de la direction pour les technologies, les bibliothèques tierces et la conception de projet,
- vous avez convenu au préalable de la direction générale de la pull request.
Ensuite, la discussion sur le La demande d'extraction elle-même doit être centrée sur:
- le polissage des cas de bord,
- le nettoyage de l'implémentation,
- la clarification des bits obscurs.
Une fois dans une lune bleue, vous pouvez recevoir un commentaire du type "Oh merde, nous avons oublié de tenir compte du cas X". Ça arrive. C'est une erreur d'équipe.
Bien entendu, cela ne résout pas comme par magie votre problème de propriété. Votre collègue peut encore être intraitable lors de la discussion initiale sur la direction générale de la pull request.
En général, que l'on soit propriétaire ou non n'a pas d'importance, vous voulez un consensus .
Votre premier objectif devrait donc être de comprendre pourquoi votre collègue est difficile:
- a-t-il une vision différente?
- est est-il idéaliste?
- est-il un maniaque du contrôle?
- ne fait-il pas confiance à vos compétences?
- ...
et essayez de résoudre le problème avec lui.
Vous devez vous aligner sur la vision de haut niveau du projet, gagner sa confiance en vos compétences, ...
Si tout le reste échoue, en dernier recours 1 , vous voudrez peut-être impliquer votre responsable et lui faire répartir les responsabilités. Vous avez mentionné vous et il avait des compétences différentes, vous devriez donc être en mesure de répartir les responsabilités en 3 domaines: son domaine, votre domaine et un espace commun. Dans votre région, son opinion serait purement informative (et vice versa).
1 Et enfin, la confrontation rend les gens aigris.