Je suis un chef d'équipe avec plus de 5 développeurs. J'ai un développeur (appelons-le A ) qui est un bon programmeur, qui écrit un bon code propre, facile à comprendre. Cependant, il est un peu difficile à gérer, et parfois je me demande s'il est vraiment peu performant ou non.
- Notre société demande aux développeurs d’indiquer l’avancement des travaux dans le système de suivi des bogues que nous utilisons, non pas pour surveiller les programmeurs, mais pour tenir les intervenants au courant des progrès. Le fait est que A met à jour uniquement la progression d’une tâche à la fin (peut-être 3 semaines après le début du travail), ce qui laisse tout le monde se demander ce qui se passe au milieu de la semaine du développement. Il ne changerait pas ses habitudes malgré les sondages répétés. (Ça va, les développeurs détestent la paperasse, moi aussi)
- Depuis 2 ou 3 mois, il est en congé assez souvent à cause de divers événements - soit il est malade, soit il doit assister à de nombreux événements personnels, etc.
- Nous définissons des sprints ou des feuilles de route pour chaque mois. Et au début du sprint, nous discuterons de la quantité de travail que chaque développeur doit effectuer dans un sprint et les développeurs ont la possibilité de définir la durée nécessaire à chaque tâche . Il ne sera généralement pas en mesure de les compléter. (Ce n'est pas grave, les développeurs ne respectent pas régulièrement les délais non dus à leur faute).
- Je suis basé à Singapour. Je ne sais pas si ça compte. Oui, les Asiatiques sont connus pour être réticents, mais est-ce important?
Si seulement un ou deux des événements ci-dessus se produisent, je ne penserai pas que A est sous-performant, mais ils se produisent tous ensemble. J'ai donc le sentiment que A est sous-performant et peut-être - Dieu nous en préserve - nous relâchons.
Ceci est juste un sentiment basé sur mes années d'expérience en tant que programmeur. Mais je peux me tromper.
Il est notoirement difficile de mesurer le travail d'un programmeur, étant donné que les deux tâches ne sont pas toutes identiques et qu'il manque un objectif standard pour mesurer l'engagement d'un programmeur envers votre entreprise. Il est carrément impossible de dire si le programmeur fait son travail ou s’est relâché. Tout ce que vous pouvez faire, est de faire confiance eux-- oui, faire confiance et donner leur autonomie est la meilleure façon pour les programmeurs au travail, je sais que, donc ne commencez pas à une conférence sur la raison pour laquelle vous avez besoin de faire confiance à vos programmeurs, je vous remercie tous les beaucoup - mais s'ils abusent de votre confiance, pouvez-vous savoir?
Résultat:
J'ai une conversation franche avec lui concernant ma perception de sa performance. Il était indigné quand j'ai suggéré que j'avais le sentiment qu'il ne performait pas à son meilleur niveau. Il a estimé que c'était un sentiment complètement injuste. J'ai alors répondu que c'était mon sentiment et je ne savais pas si mon sentiment était juste ou non. Il n'aurait rien de tout cela et a mis fin à la discussion immédiatement.
Avant de partir, il a déclaré qu'il "tenterait de donner davantage à la société" sur un ton très froid. Sa réaction m'a surpris. Je suis sûr que je l'ai offensé à certains égards. Pas vraiment sûr que ce soit la bonne chose à faire pour que je sois si franc avec lui, cependant.
Ma question est la suivante: comment savoir si vos programmeurs sont sous-performants? Il y a sûrement des chefs d'expérience qui connaissent mieux que moi à ce sujet?
Notes supplémentaires:
- Je déteste la microgestion. Donc, tout ce que nous avons pour notre processus logiciel est Sprint (où les tâches sont classées par ordre de priorité et attribuées, et à la fin du mois, un examen de la quantité de travail effectué). Les développeurs auraient besoin de mettre à jour les tâches au fur et à mesure de leur quotidien.
- Il n'y a pas de réunion informelle, ou quoi que ce soit du genre. Principalement parce que nous avons la liberté de travailler à domicile et que tout le monde chérit cette liberté.
- Bien que ce soit moi qui fixe la date limite, mais les développeurs fournissent l'estimation pour chaque tâche et je déciderai - en fonction de l'estimation - des tâches correspondant à un sprint particulier. S'ils ne peuvent pas terminer les tâches à la fin du sprint, je les pousserai au suivant. Donc théoriquement, on ne peut faire que 1 ou 2 tâches pendant tout le sprint et ensuite pousser les 99 tâches restantes au prochain sprint et tout ira bien tant que cela sera justifié - sous la forme de mises à jour quotidiennes sur l'avancement des travaux