10
votes

Comment mesurer efficacement les heures de travail du développeur?

J'ai quelques développeurs de logiciels travaillant pour mes projets et je voudrais leur fournir un moyen d'enregistrer du temps passé sur le développement réel.

Il y a une bonne volonté d'enregistrer les heures de développement, sans force, mais nous essayons d'éviter les techniques telles que les feuilles Excel s'inscrivent car c'est tellement inconfortable.

Je peux suivre SVN commettre, mais c'est peu fiable. Les développeurs contribuent également à soutenir différents projets pendant la journée, en supposant ainsi qu'ils travaillent sur un projet de toute la journée ne sont pas vraies.

J'ai vu des utilitaires qui se contemplent chaque heure pour confirmer le projet sur lequel vous travaillez, mais cela est gênant.

Une sorte d'actif-window-title-anaylzer pourrait vous aider (vous pouvez obtenir un nom de solution à partir de là dans le cas de Visual Studio) mais je n'ai aucune expérience avec une telle idée.

Si vous avez une expérience avec les programmeurs / concepteurs d'heures de travail, veuillez partager avec moi. Merci


1 commentaires

Cette question semble être hors tension car il s'agit des questions liées au travail et non d'un problème spécifique de code.


11 Réponses :


0
votes

Essayez dotproject ou XPLANNER


0 commentaires

0
votes

Un analyseur de fenêtre active ne vous donnera pas de résultats fiables, car vos développeurs échangeront des programmes (Outlook, Explorateur de fichiers, Contrôle de la version, Navigateur Internet, etc.). Votre analyseur proposé ne se connectera pas à ce moment-là, bien qu'il faudra probablement partie du temps de développement que le développeur met dans le projet (le développement logiciel n'est pas simplement codant dans VS tout le temps).


3 commentaires

Je passe beaucoup de temps sur le téléphone aussi. Il est difficile pour moi de quantifier cela, donc je devais juste deviner à la fin de la journée ... si je me souviens.


Oui, à la fin de la journée, on peut tolérer bien préciser les heures de travail pour chacun des projets. Quoi qu'il en soit, il devrait y avoir un moyen de noter cela et d'analyser après une certaine période. Ensuite, pourquoi ne pas noter ceci 4 fois par jour?


Le problème est ces jours où le téléphone sonne plusieurs fois. Ce sont les jours où je suis vraiment très occupé et que je remarque que les horaires ne soient oubliés jusqu'à quelques jours plus tard.



3
votes

Il y a plusieurs outils logiciels de suivi de temps que vous avez probablement déjà vu de faire des recherches Google. Mais tout honnêtement, vous demandez au Saint Graal de suivi du temps. Par exemple, envisagez-vous un développeur qui fixe son code et pensez-vous comme du temps de développement? Elle pourrait regarder à l'écran pendant 1 heure et seulement de type pendant 10 minutes. Dans ce cas, on dirait qu'ils ne fonctionnent pas beaucoup quand ils ont vraiment travaillé pendant 1 heure et 10 minutes. Je ne veux pas dire ce que vous demandant n'est pas une chose valable de vouloir que cela semble simplement être l'un de ces problèmes qui n'a pas une solution parfaite.

bonne chance.


1 commentaires

Le développeur décrirait «de toute façon» qui a fonctionné 2 heures (1 + 10 minutes comme heure ouverte) - confiance complète ici. Mais j'ai besoin de lui donner une chance de le faire rapidement et facile.



10
votes

C'est une bonne question et la meilleure façon de mesurer les heures consacrées à un projet de développement n'est pas de mesurer les heures dépensées du tout.

Vous dites qu'il y a une bonne volonté d'inscrire des heures, mais j'ai mes doutes. De manière réaliste, du point de vue des développeurs, une gestion excessive du temps est une distraction pour la plupart (peut-être tous les développeurs de la planète).

Je peux comprendre pourquoi le temps est mesuré si excessivement sur Odesk. Il y a une bonne raison pour cela, car le temps de projet est payé devant le client à Odesk, et le développeur doit prouver à Odesk Heures travaillées. Le paiement est également garanti et ses fournisseurs et développeurs improbables de ODESK se rencontrent dans la vie réelle. Il n'y a donc aucune confiance.

Depuis que c'est peu probable que vous payiez vos développeurs à l'avance, et c'est plus probablement que vous avez une meilleure confiance établie, vous devez peut-être activer votre attention d'une stratégie de gestion qui est gênante et ennuyeuse, à quelque chose de plus utile.

Oui, mesdames et monsieur, je parle de Scrum. Jetez une notion de conserver les onglets d'heure par heure de vos développeurs sur la fenêtre (ils vous aimeront pour cela). Et plutôt introduire la gestion de Scrum dans le scénario.

Créer des sprints (jalons) pour le développement de votre produit et avoir une liste d'itérations (livrables sélectifs S), essayez de garder vos itérations jusqu'à une période hebdomadaire. Créez un arriéré de produit et assurez-vous que vous savez qui travaille exactement sur quoi. Trouvez quelqu'un de l'équipe pour agir en tant que maître de Scrum en votre nom ou à assumer cette responsabilité vous-même. Assurez-vous d'avoir des réunions d'information quotidiennes, conservez-les courtes et ciblées, d'identifier tous les risques susceptibles de se livrer. Laissez les développeurs plus ou moins conduire le processus de synchronisation et obtenir des estimations réalistes pour des tâches.

Lire un livre ou 2 sur Scrum et obtenez des autres membres de l'équipe impliqués dans la courbe d'apprentissage. Modifiez la méthodologie de Scrum de base pour vous adapter au mieux à votre style de gestion, et je vous assure que vous aurez une très bonne équipe.

Mesurez votre temps dans les journées de l'homme et essayez d'éviter d'obtenir à l'arrière d'un développeur pendant une heure de progrès ...


4 commentaires

PS: J'ai vu la gestion des heures empruntée à l'extrême, un autre travailleur que j'ai connu une fois a été licencié après 5 ans de serveur dédié, car il était sorti d'une pause fumée pour la 3ème fois et j'ai oublié d'arrêter sa facturation horaire!


Bonne idée, je suis conscient de Scrum et de la mise en œuvre pour notre dernier projet :) Mais comme indiqué dans mon poste, les développeurs sont retirés (de temps en temps) vers d'autres tâches de courte temps et c'est ce que j'aimerais analyser. Il est préférable de se concentrer sur une tâche à la fois, mais nous sommes une petite entreprise (lecture: pas assez de personnes pour le soutien) et ne peuvent pas y parvenir.


Scrum mange beaucoup plus de productivité que de mettre à jour une feuille de calcul.


Penser au vendredi dernier quand je suis entré "1 heure: signaler mes heures de travail" à notre suivi de travail "Système" Je pense que je peux dire en toute sécurité que je suis d'accord avec ce post.



2
votes

Je pense que vous posez la mauvaise question et vous dirigez vers une pente glissante. Il y a tellement de choses en développement qui n'ont rien à voir avec le codage réellement.

Je pense qu'une meilleure solution si vous êtes sans objet sur le suivi, quelque chose est de suivre le temps consacré aux activités non liées au développement. Bien sûr, il y a une zone grise là aussi. Par exemple, une réunion pour discuter des besoins des utilisateurs devrait probablement être comptée vers le développement, même si aucun codage ne sera fait.


1 commentaires

D'accord, mais ces activités devraient être enregistrées de toute façon. À la fin, je dois charger quelqu'un pour le temps des gens!



1
votes

Vous avez besoin de quelque chose comme ce Dashboard pour mesurer le temps sur la tâche. Le seul moyen de connaître le temps de développeur de logiciels réel est de le suivre. De cette façon, quand ils changent de tâches, ils arrêtent l'horloge afin de parler. Je pense que la chose la plus difficile tiendrait à obtenir les développeurs de l'utiliser comme une mesure de la durée de laquelle ils fonctionnent sur un certain projet ou même un module de code, etc. Si vous pouvez utiliser ces métriques pour réduire les distractions et autres temps nul, vous pourriez à le moins être capable d'obtenir un butin décent sur combien de temps ils dépensent codant par courrier électronique par rapport à la discussion à d'autres développeurs, etc.


2 commentaires

+1 Ceci semble prometteur - vérifier ...


J'avais l'habitude d'utiliser PSP et a été une fois formé en tant qu'entraîneur de TSP. Je ressemble un peu à la TSP mais comme un développeur qui aime voir ses types de défaut et un geek de chiffres, j'ai adoré PSP et les métriques qu'elle a collectées. J'espère que ça vous aide.



1
votes

Si vous essayez de mesurer ce que le développeur a comme une fenêtre active, vous devez assumer la bonne volonté, car tout développeur décent peut se faufiler de cela si vous essayez de transformer les vis sur elles. Je passe environ un tiers de mon "temps de développement" dans Firefox en regardant des références, par exemple.

Peut-être demander aux développeurs de garder un journal afin que vous sachiez où se passe leur temps? Alors que ce n'est pas idéal, vous ne ferez jamais beaucoup mieux que cela.


1 commentaires

Oui, une sorte de journalisation serait bonne - je pense que c'est ce dont nous discutons. Mais ces journaux doivent être gérés de manière centralisée, il existe donc une place pour un outil. Tout connu?



1
votes

Si vous essayez de mesurer le temps consacré à la distraction et aux perturbations et à une autre tâche, ne serait-ce pas dans vos développeurs intéressants de vous donner cette information volontairement?
Vous avez dit quelque part que vous mettez en œuvre Scrum.

Si vous devez vraiment le prendre au quotidien, en faisant une partie du rituel, ou ajoutez une très courte réunion quotidienne à la fin de la journée. Laissez les développeurs estimez à quel point la journée a été dépensée pour les distractions et les perturbations et autres tâches. Pour moi, on sent que ce sera aussi proche de "correct" comme tout autre moyen de mesurer, compte tenu des difficultés impliquées.

Donc, au lieu d'avoir les développeurs noter le temps, faites-le le travail de Scrummaster de résumer et de le rendre aussi indolore que possible pour les Devs. Assurez-vous que les développeurs gagnent quelque chose de tangible de le faire également, sinon il se retrouvera terriblement sur la liste des empêchements.

Comme l'a impliqué Dean J, vous devez faire confiance aux développeurs de toute façon.


1 commentaires

Oui, c'est idéal. Malheureusement, nous ne nous rencontrons que deux fois par semaine, d'autres jours de travail à distance. Mais je conviens que la journalisation à la fin de la fin fonctionnerait très bien. Au lieu de rencontrer, je devrais fournir un outil pour cela.



0
votes

essayer de mesurer les heures de travail d'un développeur est la mauvaise notion. Une bonne question à poser est ce qui est l'efficacité d'un programmeur. Cela ne peut pas être mesuré par le temps de codage, le temps passé à s'asseoir devant un ordinateur ou similaire.

Alors que Joel Spolsky l'a bien placé dans un Blog sur l'artisanat logiciel , Développement de logiciels "... n'est pas un processus de fabrication."

Une discussion liée mais quelque peu différente apparaît dans cet article sur un Programmeur envahissable Outil de mesure de la productivité .


0 commentaires

0
votes

Je certainement ne vous recommandons d'utiliser un logiciel de mesure du temps où le développeur est forcé. Il est une distraction massive pour la concentration des développeurs.

Au lieu de cela, les techniques simples suivantes peuvent être utilisées:

Feuille de calcul: Pour les petits projets ou équipe de développeurs

Il n'y a sans doute rien de plus facile que de créer et de partager une feuille de calcul en ligne, ajouter des tâches de projet à elle, Assigner des tâches à un développeur, que les développeurs estiment les heures pour les tâches leur, laissez-les mettre à jour leur statut de tâche (s) (valeur très approximative entre 0% et 100%) comme ils veulent, laissez-les indiquer l'heure (heures), il a vraiment pris pour compléter la tâche.

Ainsi, dans la feuille de calcul vous pouvez avoir des colonnes: Nom de la tâche, attribué à, heures environ, heures réelles, fait (%)

feuille de calcul Google Drive peut être la réponse. Ceci est une méthode très simple et rapide qui détourne l'attention développeur (s) au minimum.

Scrum: Pour les moyennes et les grands projets ou équipe de développeurs

Tâches et les informations sont Scrum enregistrées et conservées sur un tableau dans le bureau et / ou une application spéciale Scrum peut être utilisé. Une bonne application web Scrum est Pivotal Tracker que je recommande pour toute taille de projet ou de l'équipe.

En savoir plus sur Scrum: http://en.wikipedia.org/wiki/Scrum_(development )


Dans les deux cas, les propriétaires de produits (clients ou ceux qui traitent avec des clients), les gestionnaires de projet et tous les développeurs peuvent mieux et plus vite:

  • communiquer
  • estimation
  • voir les progrès de l'équipe et toutes les personnes impliquées


0 commentaires

1
votes

Cela dépend de votre IDE - si vous utilisez Eclipse, je vous recommande d'utiliser Plugin MYLYN . Vous pouvez mesurer le temps passé à chaque tâche. Les tâches peuvent être récupérées de tous les référentiels de tâches célèbres I.e. Tuleap . Détails ici

L'utilisateur n'a besoin que de mettre la tâche en mode actif - et de désactiver une fois que la tâche est terminée pour arrêter la minuterie. Je pense que MYLYN soutiendra un tel processus - si un statut d'une tâche change alors, cela déclencherait le mode actif (si fermé puis désactiverait la tâche)

Parfois, le développement implique l'utilisation d'un navigateur ou d'un terminal. Eclipse peut être utilisé comme navigateur et comme un Terminal ainsi - le développeur n'a donc pas besoin de laisser Eclipse - donc presque tous les l'activité peut être mesurée liée à une tâche.


0 commentaires