Quelques informations générales:
Je fais du logiciel standard (applications de bureau).
Le problème:
Je dirige un groupe de 10 développeurs + designers (essentiellement tous du type de travailleurs du savoir) et je leur laisse une grande marge de manœuvre pour faire leur travail. Je n'applique pas les heures de bureau et je ne les colle pas à leurs chaises pendant 8 heures par jour, je ne regarde pas par-dessus leurs épaules, je n'applique pas le code vestimentaire, etc.
Cependant , Je fais
- Définir la feuille de route pour mon produit en cours de développement en utilisant Redmine. Et je définis les tâches qui devraient figurer dans chaque feuille de route. La date d'une feuille de route est fixe (généralement sur une base mensuelle) et généralement, un sprint par feuille de route.
- Ensuite, j'attribue les tâches aux développeurs et je demande pour fournir une estimation pour chaque tâche. Après avoir examiné leur estimation, je vais soit supprimer, soit ajouter plus de tâches pour un sprint particulier afin qu'ils ne s'engagent pas trop et ne puissent pas livrer à la fin.
- Je leur demande d'indiquer le temps consacré quotidiennement à une tâche spécifique et le pourcentage d'avancement afin que je puisse suivre les progrès.
- Je passerais en revue leur progresse au début de chaque semaine pour voir si j'ai besoin de déplacer certaines tâches vers le prochain sprint.
Voilà, pas de stand-up, pas de suivi quotidien, etc. J'ai pleinement confiance en mes développeurs sont honnêtes dans leur estimation du temps et le temps de travail / rapport d'avancement.
En tant que développeur moi-même, je comprends la tendance des développeurs à surestimer leur capacité et la possibilité très réelle (quasi-certitude en fait) que les projets logiciels retardent à moins d'être empêchés par des forces surnaturelles, c'est pourquoi je ne le fais pas les tenir strictement responsables de leur incapacité à exécuter toutes les tâches qu'ils commettent au début d'un sprint.
Tout sonne plutôt bien du point de vue du développeur, n'est-ce pas? Je ne suis pas le gestionnaire des cheveux pointus comme décrit dans cette question! Cela devrait garantir les meilleures relations de travail entre les employeurs et les travailleurs du savoir, non?
La réalité est que certains développeurs ont du mal à
- Effectuer toutes les tâches défini dans une feuille de route.
- Ne pas fournir d'estimation du temps pour toutes les tâches qui leur sont assignées, malgré mes interrogations répétées
- Ne pas indiquer de manière cohérente le temps travaillé sur un tâche. Ils mettront à jour la tâche redmine, mais c'est à ce moment-là qu'ils en auront terminé. Habituellement, ils sont en retard dans la fin d'une tâche - ce qui se produit toujours dans le développement de logiciels.
- Et malgré des sondages répétés, ils ne parviennent toujours pas à remplir de manière cohérente le temps de travail quotidien.
- Habituellement, ils ne peuvent accomplir que 50 à 60% des tâches prédéfinies pour un sprint.
- Je leur parle quand je les vois échouer 2) - 4), mais ils continuent à répéter les mêmes erreurs.
J'aurais pu imaginer le pire et supposer que leur incapacité à accomplir toutes les tâches et à fournir des progrès quotidiens de manière cohérente comme un signe qu'ils sont relâchement. Au moins, c'est mon sentiment viscéral. Mais je veux être un patron plus éclairé; Je veux leur donner le bénéfice du doute. Alors que je révise leur feuille de temps sur Redmine tous les jours, mon cœur se serre si la feuille de temps n'est pas mise à jour. Mais quand même, j'aimerais croire que les développeurs font leur travail et qu'ils oublient juste de mettre à jour la feuille de temps (c'est-à-dire que je leur fais confiance , je veux!) . Néanmoins, l'incapacité des programmeurs à m'indiquer clairement leurs progrès (ou leur absence) met à rude épreuve ma part émotionnelle.
Que dois-je faire dans ce cas? D'une part, je comprends que le temps passé sur une tâche / la capacité à terminer toutes les tâches pendant un sprint ne correspond pas vraiment au vrai rendement d'un créateur. Mais d'un autre côté, j'aurais besoin d'un moyen de vraiment comprendre le véritable résultat du créateur et de le récompenser de manière appropriée.
Comment mesurer le résultat du créateur qui ne remplit pas la feuille de temps ?
Clarification
La raison pour laquelle je leur demande d'indiquer le temps passé est pour leur propre bien, afin qu'ils puissent aller mieux et mieux au moment de l'estimation en comparant leur temps estimé et leur temps passé. Mais, disons s'ils sont trop occupés pour faire des efforts pour améliorer leur capacité d'estimation, puisque les données sont là, nous pouvons utiliser les plugins Redmine pour nous permettre de mieux prédire quand le logiciel se terminera (pensez à EBS dans fogbugz) .Ce n'est pas dans le but de les contrôler.
Deuxièmement, Redmine permet d'indiquer la progression (% fait), c'est pourquoi je voudrais que mes développeurs mettent à jour les progrès réalisés. Je voudrais qu'ils indiquent le temps restant pour une tâche, mais ce n'est pas vraiment possible via le système actuel.
Troisièmement, quant à pourquoi je veux qu'ils remplissent une feuille de temps et estiment la progression ? La raison en est que notre logiciel doit avoir une feuille de route, afin que nous sachions quand nous pouvons livrer quoi. Nous devons être responsables envers nos clients et nos clients et par responsable, je veux dire, nous devons être en mesure de leur dire que la fonctionnalité qu'ils ont demandée peut être mise en œuvre à quelle date .
Quatrièmement, lorsque je parle de récompense après avoir terminé un projet, je ne parle pas d'utiliser un bâton monétaire pour les faire avancer vers mon objectif , mais je veux plutôt savoir quels développeurs sont les plus compétents et peuvent donc être promus, etc. Je sais qu'il est assez difficile de faire fonctionner correctement tout le système de récompense sans affecter le moral de l'entreprise, mais vous devez avoir un système pour reconnaître le bien ceux des mauvais. À tout le moins, j'ai besoin de savoir comment payer tout le monde équitablement . Si vous traitez tout le monde de la même manière (les bons et les mauvais, les travailleurs et les paresseux), bientôt les bons sentiront que leur contribution n'est pas appréciée et ils partiront tout simplement.