Question

J'ai récemment réfléchi à l'estimation des logiciels et j'ai beaucoup de questions sur le temps passé à coder.Je suis curieux d'entendre des personnes qui ont au moins quelques années d'expérience dans le développement de logiciels.

Lorsque vous devez estimer le temps que vous passerez à travailler sur quelque chose, combien d’heures par jour passez-vous à coder ?Qu’est-ce qui occupe les autres heures non codées ?

Pensez-vous que vous passez plus ou moins d’heures à coder que vos collègues ?Avez-vous l'impression de faire plus ou moins de travail qu'eux ?

Quelles sont vos conditions de travail ?Bureau privé, bureau partagé, salle d'équipe ?Coder seul ou à deux ?Comment vos conditions de travail ont-elles modifié le temps que vous passez à coder chaque jour ?Si vous pouvez travailler à domicile, est-ce que cela améliore ou nuit votre productivité ?

Quelle méthodologie de développement utilisez-vous ?Cascade?Agile?Le passage d’une méthodologie à une autre a-t-il eu un impact sur vos heures de codage par jour ?

Le plus important :Etes-vous satisfait de votre productivité ?Si ce n’est pas le cas, quel changement apporteriez-vous pour avoir le plus grand impact ?

Était-ce utile?

La solution

Je suis un développeur d'entreprise, le genre que Joel Spolsky a qualifié de « déprimé » dans quelques podcasts StackOverflow.Étant donné que mon entreprise n'est pas un éditeur de logiciels, elle a peu de raisons commerciales de mettre en œuvre de nombreuses mesures que les experts en logiciels recommandent aux entreprises de prendre en compte pour la productivité des développeurs.

Nous n'avons pas de bureaux privés ni de doubles moniteurs de 30 pouces.Notre système de contrôle de code source est Microsoft Visual Source Safe.Assez dit.D’un autre côté, je fais beaucoup de choses qui remplissent ma journée et ajoutent de la variété à mon travail.Je m'implique dans l'analyse commerciale, la gestion de projet, le développement, le support de production, les implémentations internationales, le support de formation, la planification d'équipe et l'amélioration des processus.

Je dirais que je passe 85 % de ma journée à coder, lorsque je peux me concentrer et que j'ai une tâche de programmation majeure.Mais le plus souvent, je consacre environ 50 % de ma journée au codage.Si le support de production (non lié au codage) est important, je ne consacrerai peut-être que 15 % de ma journée à coder.

La plupart des entreprises pour lesquelles j'ai travaillé n'étaient pas activement engagées dans l'évaluation des processus agiles ou dans le développement piloté par les tests, mais elles n'ont pas non plus fait un bon travail en cascade ;la plupart de leurs développeurs travaillaient comme des cow-boys copier-coller en toute impunité.

Parfois, je travaille à la maison et avec des enfants, c'est horrible.Je suis plus productif au travail.

Ma productivité est bonne, mais elle pourrait être meilleure si le facteur d'interruption et le coût du changement de contexte mental étaient supprimés.Le support de production et les frais généraux de gestion de projet créent tous deux ce type d’interruptions.Mais les deux sont des éléments nécessaires du travail, donc je ne pense pas pouvoir m'en débarrasser.Ce que j'aimerais envisager, c'est une restructuration de l'équipe afin que les personnes sur les projets puissent se concentrer sur les projets tandis que les autres pourraient bloquer les interruptions en se consacrant au support.Et puis échange une fois le projet terminé.

Malheureusement, personne ne veut faire du support, donc l'autre mesure d'amélioration de la productivité que je souhaiterais serait l'une des suivantes :

  • De meilleurs outils/méthodologies de test pour accélérer les tests unitaires
  • De meilleurs outils/compétences d'analyse commerciale pour améliorer la qualité des nouveaux développements et limiter leurs contributions à la charge de support de production

Autres conseils

En réalité, cela représente probablement une moyenne de 4 ou 5 heures par jour.Bien que ce soit "grumeleux", il peut y avoir des jours où il peut y en avoir 8 ou 9 heures.

De tous les développeurs de logiciels que je connais, ceux qui écrivent du code de production (par opposition à la recherche) 4 à 5 semblent être le maximum de codage réel.Il se passe beaucoup d’autres choses.

Et pour être honnête, il y a beaucoup de procrastination.Je trouve que c'est un peu comme le blocage des écrivains.Parfois, il est difficile de démarrer, mais une bonne séance de 2 heures représente BEAUCOUP de travail.C'est juste toute la préparation que vous devez suivre, l'expérimentation pour vous assurer que vous adoptez la bonne approche.Le nombre infini de regarder par la fenêtre et de vérifier ses e-mails, etc...

Je travaille 37,5 heures par semaine.
30 de ces heures (80 %), je suis censé facturer nos clients.
En réalité, je constate que j'utilise environ 60 % de codage sur des systèmes clients réels, 20 % pour expérimenter de nouvelles techniques et lire des blogs, et 20 % sont gaspillés en politique de bureau et en « socialisation ».

En suis-je content ?
Est-ce que j'aimerais pouvoir regarder l'écran 30 heures par semaine pour coder les tâches qui me sont confiées ?

Bien.Étant donné que 20 % du temps est consacré à m'améliorer dans mon métier, dans les 60 % de codage efficace, je produis probablement plus que je ne le ferais dans 90 % de mon temps si je ne le faisais pas.
Là encore, essayez d'expliquer ce fait aux supérieurs ;)

Eh bien, je viens généralement dans au moins quinze minutes de retard, ah, j'utilise la porte latérale - de cette façon, Lumbergh ne peut pas me voir, heh heh - et, euh, après cela, je suis juste en quelque sorte de l'espace pendant environ une heure.

...Ouais, je regarde juste mon bureau ;Mais il semble que je travaille.Je le fais probablement aussi une heure après le déjeuner.Je dirais qu'au cours d'une semaine donnée, je ne fais probablement qu'une quinzaine de minutes de travail réel, réel.

Pour moi, passer d’un projet à l’autre est une grande cause de procrastination.Lorsque je viens de terminer un projet, j'ai tendance à tergiverser avant de lancer la prochaine exigence qui m'est assignée.Mon esprit est toujours en mode codage, mais je dois d'abord estimer les dépenses liées à la création d'une spécification.Je dois donc passer du codage à l'appel aux clients, etc., ce qui me semble inconfortable.

Ce qui m'aide le plus à être productif, c'est d'éliminer toute distraction dans les premières heures de la journée et de commencer immédiatement par la tâche la plus importante de la journée.Je dois entrer dans le courant le plus tôt possible.


Je recommande de jeter un oeil à The Programmers' Stone :

Nous savons que le stress altère certaines fonctions cognitives.La perte de ces fonctions peut précisément expliquer pourquoi la programmation est difficile et nous montrer de nombreuses autres opportunités pour améliorer la façon dont nous organisons les choses.Les conséquences s’étendent jusqu’à toucher le langage, la logique et les normes culturelles.Cliquez ici pour l'introduction...

Je passe environ 40 % de ma journée à coder.40 % sont consacrés à des activités non codantes (comme se battre avec notre serveur de build sommaire ou comprendre pourquoi NUnit a de nouveau échoué sans message d'erreur ou essayer de comprendre pourquoi notre code a cessé de communiquer avec le serveur Oracle en bas...des cochonneries comme ça).Les 20 % restants sont généralement consacrés à la procrastination ou aux réunions.

Suis-je satisfait de ma productivité ?Absolument pas.Je travaille 7 heures par jour et je passe environ 2,5 heures à coder.Je préférerais de loin passer 5 à 6 heures de ma journée à coder, avec seulement une heure dédiée à toutes les autres choses (malheureusement, la seule chose qui permettrait que cela se produise - que le PM arrête de jouer avec les scripts de construction tous les jours - - ça n'arrivera pas).Malheureusement, comme je suis développeur d'entreprise, la direction ne voit pas le temps être gaspillé.Parce que j'en fais tellement plus au cours de ces 40 % de ma journée que la plupart des drones du bâtiment n'en font en une semaine (y compris le PM), ils pensent que je suis productif.

@Bernard Dy :J'ai passé probablement 30 % de ma carrière en entreprise (pas pour le moment).Habituellement, c'est après une idée de démarrage qui a échoué (ou pas échoué, mais qui a fait long feu), ou une sorte d'épuisement professionnel/de changement.C'est ok pour un petit moment, ça fait plaisir de rencontrer des gens d'horizons totalement différents (qui auraient pensé que les avocats et les actuaires pouvaient être si amusants à côtoyer), mais au final, je trouve juste que c'est trop difficile à obtenir. se lever le matin avec motivation (ou après des vacances avec peur du retour) - probablement pour des raisons que vous définissez (juste un manque de soins).Mais c'est pour le moins une bonne expérience et une source d'idées.Et vous pouvez rencontrer des gens brillants partout (il n’y a pas que les programmeurs intelligents – j’ai toujours essayé de découvrir qui étaient les vrais cerveaux derrière une entreprise).

Il est intéressant de noter que la seule fois où j'ai pratiqué l'Agile/XP strict, c'était dans un environnement d'entreprise - dans ce cas, probablement 7 heures par jour étaient de véritables mains sur le code (par paire) - je n'ai jamais été aussi épuisé après une journée de cela.je ne sais pas si c'est une bonne chose, peut-être que je suis juste paresseux.

Pour répondre à certaines de mes propres questions :

L'équipe actuelle dans laquelle je fais partie ne fait qu'une estimation brute des tâches, il est donc difficile de suivre les heures par jour.Je dirais que, pour ma carrière, le temps passé à coder a été compris entre 25 % (principalement en gestion) et plus de 85 % (travail à domicile 4 jours par semaine, se réunir pour une réunion d'une demi-journée une fois par semaine).Si je devais deviner, cependant, la moyenne se situe probablement aux alentours de 60 %.

La plus grande influence pour moi sur le temps passé à coder est la présence ou l'absence de réunions.Lorsque je travaillais sur des projets agiles avec tout le monde dans la même pièce, les réunions avaient tendance à être ponctuelles et très courtes, le temps passé à coder était donc très long.J'ai également eu l'impression de passer moins de temps - parfois beaucoup moins de temps - à faire des choses autres que du codage lorsque j'étais dans une salle d'équipe, car il est beaucoup plus facile de perdre du temps, accidentellement ou non, lorsque personne n'a une vue dégagée sur votre moniteur. .:)

Je fais de l'externalisation et en gros je code toute la journée, j'ai deux projets et je n'ai pas beaucoup de temps pour faire autre chose, ce qui signifie que je ne peux pas prendre plus de travail car je ne peux rien terminer, c'est une bonne politique, vous devriez en prendre autant que vous le pouvez.

N'oubliez pas également que vous devriez avoir du temps libre et, plus important encore, vous reposer suffisamment, car si vous ne le faites pas, vous ne serez pas très productif.La clé ici est la planification et la discipline.

Pendant mon temps sans codage, je le passais avec ma femme, j'aime aussi sortir de la ville et essayer de ne pas penser à mes projets, plus je fais cet équilibre, plus je suis productif.

Quand je ne travaille pas beaucoup, j'aime lire des blogs de programmation et j'aime aussi étudier la programmation.

Et enfin, je voudrais dire qu'à mon humble avis, notre carrière ne doit pas être considérée comme un travail, mais plutôt comme quelque chose d'amusant.

Je suis développeur de logiciels dans un département R&D et je travaille 40 heures par semaine.

Je dépense comme...10 % de mon temps consiste à coder.Pendant mes heures sans codage, je teste, évalue, compare et consigne principalement les résultats.Je passe également beaucoup de temps à rédiger des spécifications pour le code que je vais écrire et à faire des recherches pour le code que je vais écrire, je participe à des réunions de brainstorming pour les projets en cours, etc.

Je pourrais dire que parmi mes coéquipiers (également développeurs de logiciels), je suis celui qui code le plus en ce moment ;mais cela dépend de la tâche sur laquelle nous travaillons à chaque fois.Je ne quantifierais pas réellement le codage comme un travail acharné.S'il y a une bonne spécification, une bonne recherche et une bonne compréhension du projet, le codage n'est qu'un formality et se déroule presque sans heurts et rapidement.

Ici nous avons un bureau partagé, avec deux équipes.Nous codons principalement seuls, rarement à deux.Mon travail change beaucoup le temps passé à coder ;dans le passé, je passais la plupart de mon temps à coder, sans une très bonne compréhension du codage.Si j'avais une tâche à accomplir, je commencerais immédiatement à coder, et à recoder à chaque fois que je réaliserais que j'ai fait quelque chose de mal, etc.Et c'était très inefficace.

La méthodologie de développement se situe désormais quelque part entre le prototypage et la spirale.Cela a clairement changé le nombre d'heures que je code.

Je suis satisfait de ma productivité, liée à mes délais et à mes objectifs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top