code cowboy dans l'équipe

15

Comment traitez-vous avec un membre de votre équipe qui est plus âgé que vous et qui saute toujours sur les projets des autres et les termine la nuit ou le week-end? Elle semble travailler 80 heures par semaine, qu'il y ait une urgence ou non et il est quelque peu difficile de prédire quelle partie de votre liste de tâches elle va frapper ensuite. Parfois, des jours de votre travail sont perdus parce que le lundi matin, vous trouvez un check-in pour terminer le projet sur lequel vous avez passé la majeure partie de la semaine précédente.

Aux personnes qui demandent de la qualité: Habituellement, c'est assez bon, mais: il y a aussi beaucoup de refactoring du code impliqué, y compris du code `` détenu '' par d'autres membres de l'équipe, sans égard à la couverture du test, avec les résultats évidents.

MK01
la source
51
Que diriez-vous de me donner ses détails, et je verrai ce que je peux faire pour que mon entreprise la braconne.
Kevin D
7
@ MK01, mais quelque chose comme: "Nous aimons les contributions que vous avez faites, mais nous aimerions discuter des moyens de segmenter clairement le travail. Si nous pouvons tirer parti de votre codage avec celui du reste de l'équipe, nous peut probablement le faire encore plus rapidement que nous ne le sommes actuellement. " Une grande clé est la suivante: lui faire sentir que c'est elle qui a eu l'idée.
riwalk
7
Détendez-vous et attendez jusqu'à ce qu'ils s'épuisent.
Steven Evers
9
On dirait que vous pouvez prévoir plus de temps SO le lundi matin.
JeffO
3
Ce que vous ne nous avez pas dit, c'est la qualité de son code. Prempte-t-elle d'autres personnes avec des solutions de même qualité, supérieure ou inférieure?
David Thornley

Réponses:

17

Il s'agit probablement en partie d'un problème de transparence; elle n'essaye probablement pas de perdre votre temps. Je parlerais à la direction de clarifier les tâches sur lesquelles les gens travaillent, afin qu'elle puisse plus facilement se rendre compte que quelqu'un a déjà investi du temps dans cette tâche et voir quelles tâches ne sont pas réclamées, concentrant ses efforts sur celles-ci à la place.

Je ne la confronterais pas directement à ce sujet. Je parlerais avec votre gestionnaire, afin qu'un certain processus puisse être mis en place. Bien que le problème soit probablement le plus visible avec elle, je parie qu'il y a d'autres coéquipiers qui font la même chose (en commençant accidentellement sur des projets sur lesquels quelqu'un d'autre travaille déjà) à une échelle moindre. Je pense que votre manager est le mieux placé pour guider ce nouveau processus, même si vous devriez probablement lui donner quelques idées sur lesquelles travailler. Si travailler avec votre manager ne fonctionne pas, alors vous devriez passer directement à la conversation avec elle - mais je commencerais par le manager.

Notre équipe a résolu ce problème en mettant des notes autocollantes avec tout le travail qui devait être fait sur un tableau blanc. Chaque membre de l'équipe avait une étiquette avec son nom dessus, et déplacerait le pense-bête qu'ils travaillaient dans la colonne "en cours" et l'étiqueterait avec leur nom. Si une autre personne voulait l'aider dans cette tâche, elle devait en discuter et la négocier avec la personne qui l'avait revendiquée. Un système similaire pourrait aider beaucoup avec vos problèmes.

Ethel Evans
la source
17

En supposant qu'elle soit vraiment efficace, et "prise de tous les métiers" ...

Adoptez son style. Libérez- la. Et - l'isoler.

Aussi...

Soyez explicite avec les responsabilités que vous confiez.
Assurez-vous que votre équipe apprend d'elle (par exemple, la programmation par paires fonctionne très bien).
N'allez pas «tout-en-un» - testez-la et assurez-vous d'avoir un plan de sauvegarde si les choses empirent.

La pire chose que vous puissiez faire est de bousiller sa motivation.


Je le dis de ma propre expérience. Je ne suis peut-être pas aussi efficace que je le souhaiterais, mais je peux certainement aller de l'interface utilisateur à la persistance et je pratique certainement le codage de cow-boy (qui est sûrement une épée à double tranchant).

Je me suis retrouvé plongé seul dans un projet assez désespéré (j'ai rendu les choses encore plus amusantes - j'ai proposé de tout réécrire et j'ai été accepté), les choses vont bien et je l'adore. Il n'y a personne à blâmer pour les erreurs, sauf moi-même. Il n'y a personne à pleurnicher quand je décide spontanément de refaçonner un peu de tout.

En fait - cette liberté est la seule raison pour laquelle je travaille toujours ici.

Arnis Lapsa
la source
9

Je suppose qu'il y a de pires problèmes à avoir. Bien que le travail que vous (ou d'autres membres de votre équipe) devez faire ait de l'importance, et il semble que les résultats de son travail éliminent efficacement la contribution d'une personne à l'équipe.

Je suppose qu'elle ne se rend pas compte de l'effet qu'elle a sur l'équipe; au contraire, les contributions qu'elle apporte la font probablement se sentir précieuse pour l'équipe.

La solution (à mon humble avis): l'affronter directement. Bien sûr, soyez diplomate et appréciez les contributions et les sacrifices qu'elle fait (80 heures est une semaine de travail au-delà de la folie, et ne pourrait pas se produire sans un sacrifice assez scandaleux dans sa vie personnelle).

Mais c'est sa responsabilité de se comporter de manière à ne pas aliéner ses collègues - juniors ou autres. Et tous les membres de l'équipe méritent de sentir que leurs efforts ont du sens - après tout, pourquoi voudrait-on aller travailler tous les jours si leur présence n'a pas de sens?

Tim Claason
la source
Vous savez, après avoir regardé le profil de OP sur SO / SE, je suis amené à regarder l'autre côté de la médaille.Si c'était le senior qui le faisait intentionnellement ou non, c'est définitivement mauvais pour les raisons mentionnées par Tim. Également en raison du point fondamental de ne pas laisser les juniors grandir / se développer.Seuls lorsque les juniors deviennent suffisamment meilleurs pour vous remplacer, le spectacle peut continuer même sans votre présence. Donc +1
Aditya P
9

Pensez à lui donner beaucoup plus de travail pour qu'elle n'ait pas à chercher le vôtre!


la source
6

Est-il possible qu'elle "saute et termine" parce que le reste de l'équipe avance trop lentement, ou parce que le patron lui a demandé de le faire?

Dans quelle mesure cela dérange-t-il d'être contourné, et dans quelle mesure est-il simplement «affiché» par un codeur plus prolifique (pas nécessairement meilleur)?

Steven A. Lowe
la source
4

Sait-elle que d'autres personnes trouvent cela ennuyeux? Je suggérerais de lui en parler avec tact, en disant que vous préféreriez terminer vos projets. Si cela ne fonctionne pas, ou si vous êtes mal à l'aise d'en parler avec quelqu'un de plus âgé que vous, c'est une affaire de gestion. Si vous ne terminez pas de projets parce qu'elle l'est, il peut sembler que vous vous relâchez si le gestionnaire ne connaît pas la situation.

En outre, comme d'autres l'ont également dit, regardez comment elle travaille pour vous améliorer. Regardez ses enregistrements pour voir comment elle a résolu votre problème - c'était peut-être une solution intelligente que vous n'auriez pas pensé à vous. Gardez à l'esprit que les développeurs seniors connaissent la base de code beaucoup plus intimement que vous. Les choses qui leur semblent triviales peuvent en fait être difficiles à découvrir pour les nouveaux développeurs.

Michael K
la source
7
Quiconque travaille 80 semaines par semaine dans la programmation de préférence sera probablement un peu à court de compétences sociales.
David Thornley
4

Comment traitez-vous avec un membre de votre équipe qui est plus âgé que vous et qui saute toujours sur les projets des autres et les termine la nuit ou le week-end?

Travailler plus vite?

Elle semble travailler 80 heures par semaine, qu'il y ait une urgence ou non et il est quelque peu difficile de prédire quelle partie de votre liste de tâches elle va frapper ensuite.

Par définition, si c'est sur votre liste de tâches - ce n'est pas fait. Si elle le termine, rayez-le de votre liste de tâches.

Parfois, des jours de votre travail sont perdus parce que le lundi matin, vous trouvez un check-in pour terminer le projet sur lequel vous avez passé la majeure partie de la semaine précédente.

Cela s'appelle normalement le travail d'équipe - à moins que vous n'aimiez pas la direction qu'elle a prise, quel est le problème?

Aux personnes qui demandent de la qualité: Habituellement, c'est assez bon, mais: il y a aussi beaucoup de refactoring du code impliqué, y compris du code `` détenu '' par d'autres membres de l'équipe, sans égard à la couverture du test, avec les résultats évidents.

"Possédé" et le code ne vont pas ensemble. Si vous avez du mal à suivre, demandez-lui de vous l'expliquer. Demandez-lui de vous encadrer, car il semble qu'elle soit très productive. Tirez parti de la relation et travaillez ensemble.

En ce qui concerne la couverture des tests, si c'est une norme dans votre organisation, faites-en part à votre responsable / gestionnaire. Rapide, mais de mauvaise qualité, le travail ne sert à personne. Cependant, si elle est 10 fois plus productive que vous - vous pourriez finir par faire le gros travail de nettoyage après elle. Si tel est le cas, investissez encore plus dans une relation avec elle.

Mark Brackett
la source
Elle sonne comme membre de l' équipe idéale ... Elle fait clairement ce qu'elle a travaillé sur / fini, elle aide tous les membres de l'équipe, etc ..
Présage
3
  • Apprenez d'elle et essayez d'améliorer votre vitesse de travail.
  • Il est possible que votre travail soit à la traîne.
  • Il se peut qu'il se passe plus de choses dans les coulisses ou au-dessus de vos connaissances en raison des attentes de la direction de sa part lorsqu'elle est senior.
  • Vous pourriez penser qu'elle n'a peut-être rien de mieux à faire, souvent c'est peu probable.
  • Vous n'êtes peut-être pas au courant de l'urgence.
  • Cela pourrait être un indice de votre performance par la direction ou par la personne âgée.

Quoi qu'il en soit, il est préférable de commencer par vous évaluer vous-même. Comme vos efforts pour "traiter" avec elle pourraient ne pas bien fonctionner avec la direction.

Aditya P
la source
3

Elle obtient clairement sa satisfaction de résoudre des problèmes et d'être le héros - ce qui est bien, mais vous devez (enfin son chef d'équipe, mais vous en attendant) trouver un moyen d'exploiter cela.

Les éléments clés me sautent aux yeux:

  • Elle a le talent pour faire le travail plus rapidement que les autres (vous n'impliquiez rien sur le fait que son code soit mauvais)

Alors exploitez-le. Dans votre prochain projet, offrez-lui d'avance du travail à faire. De cette façon, vous savez ce qu'elle prévoit de faire. Si sa satisfaction vient de la résolution de problèmes, elle sera probablement aussi heureuse si vous la lui offrez que si elle le fait en arrière-plan.

Peut-être allez-vous mieux, formalisez-le, alors qu'une équipe met en place un travail à gagner pour tous ceux qui veulent faire plus - de cette façon, l'élément du vol a disparu et tout le monde gagne.

Stephen Bailey
la source
1
Si vous lisez les livres DeMarco, vous verrez qu'il y a environ un rapport de 10: 1 entre la quantité que les bons et les moins bons développeurs peuvent produire. La dernière chose que vous voulez faire est de paralyser la valeur aberrante qui en fait plus que les autres, vous devez exploiter cette énergie et la diriger là où elle fera le plus de bien.
quick_now
2

Démarrez l'équipe en faisant la programmation par paires.

Tout d'abord, la programmation par paires est épuisante, en particulier pour les développeurs introvertis qui aiment travailler tout le week-end par eux-mêmes. Ses week-ends deviendront précieux pour la détente, comme ils devraient l'être.

Deuxièmement, elle transmettra des connaissances (tant que davantage de développeurs novices conduiront) et diffusera ainsi ses capacités étonnantes au reste de l'équipe.

Troisièmement, elle réduira le risque énorme qu'elle porte actuellement en votre nom, de sorte que plus d'un membre de l'équipe sache ce qu'elle sait.

Quatrièmement, elle - et le reste de l'équipe - auront une meilleure idée de ce sur quoi on travaille. Si vous pouvez combiner cela en complétant des fonctionnalités entières ensemble en équipe, il y aura moins de travail en cours et moins de chances de duplication du travail avant l'enregistrement.

Cinquièmement, elle apprendra à jouer en équipe . Il est tout à fait possible que la démotivation qu'elle provoque, ainsi que la duplication du travail des autres membres de l'équipe, coûte plus cher qu'elle n'en produit. Productivité! = Efficacité.

Sixièmement, la qualité du code augmente généralement lorsque les développeurs s'associent. Un bel effet secondaire.

Lunivore
la source
1

Sait-elle quel travail les gens font et leurs progrès? La direction pourrait-elle lui fournir des directives afin qu'elle ne reproduise pas le travail d'autres personnes? Je serais tenté de suggérer d'avoir une conversation 1: 1 avant de faire appel à la direction, car elle n'est peut-être qu'une bourreau de travail qui pourrait utiliser la direction de savoir quelles choses pourraient être importantes que d'autres ne font pas, ce qui pourrait être très utile pour elle. faire.

Quant à votre travail gaspillé, regardez-le sous d'autres perspectives. Que pouvez-vous apprendre de ce que vous avez fait? Quelles parties n'avez-vous pas terminées et comment les a-t-elle faites? Juste parce que quelqu'un d'autre peut s'attribuer le mérite d'avoir accompli quelque chose, ne pensez pas que tout le sang, la sueur et les larmes ne servent à rien.

JB King
la source
0

Le cow-boy semble enthousiaste. J'approcherais la direction pour qu'ils puissent lui donner une tonne de travail à faire et vous laisser faire les vôtres. Cependant, vous pourriez peut-être apprendre une chose ou deux du cow-boy. Je ne dis pas que 80 semaines de travail devraient être la norme (c'est évidemment une exagération), mais mettre des heures supplémentaires au travail est assez normal dans un grand environnement d'entreprise.

Brian
la source
5
Mettre de longues heures de programmation est généralement contre-productif à long terme.
David Thornley
@David: Pas si vous êtes libéré un vendredi sur deux :)
Brian
2
@ 0A0D: C'est de l'horaire flexible, pas de "mettre des heures supplémentaires au travail"
Carson63000
3
@OAOD: Tout magasin dans lequel des personnes effectuent régulièrement des heures supplémentaires non rémunérées est un magasin de sueur.
bit-twiddler
@ bit-twiddler: Jamais entendu parler des employés?
Brian