Gérer les estimations en tant que programmeur junior


16

Je travaille depuis quelques mois maintenant dans une entreprise qui évalue (pour la population générale, pas les juniors en particulier) les tâches et ensuite on nous donne la tâche, la résoudre, elle passe par deux tests et à la fin l'estimation devrait être un peu rencontré.

Je suis au-delà du stress parce que certaines des estimations sont tout simplement impossibles à respecter pour moi. Je ne connais toujours pas l'ensemble du système (car il est assez important), donc parfois la moitié du temps est consacré à découvrir ce que je dois faire et où et au moment où je termine, parfois l'estimation est terminée et il y a encore des tests à effectuer. fait (et corriger les erreurs le cas échéant).

La deuxième fois que je dois faire face à une fonctionnalité similaire, tout fonctionne beaucoup plus rapidement, mais jusqu'à présent, je sens que je suis tout simplement mauvais en programmation.

Y a-t-il quelque chose que vous avez fait au tout début qui vous a aidé à franchir cette étape? Je suis tellement stressé quand je vois le peu de temps qu'il y a pour coder que parfois je ne peux même pas me concentrer correctement sur ce que je fais, ce qui le rend encore pire.


2
J'ai également vécu une expérience très similaire lorsque j'ai commencé mon premier emploi. Ne vous inquiétez pas, c'est TRÈS courant.
Rocklan

1
@ratchetfreak C'est définitivement une chose de programmeur. J'ai eu une expérience similaire sur un stage même si j'avais une vaste expérience préalable en programmation, car le système sur lequel nous avons travaillé était si énorme.
JSideris

1
Les estimations sont des estimations approximatives. Les choses se font quand elles sont terminées. Parfois, vous pouvez couper les coins ronds, mais vous ne le faites que pour des dates difficiles (sortie / prévisualisation client / ...) pour ne pas respecter une estimation que vous avez faite il y a 3 jours! 002
Martin Ba

Réponses:


12
  • De nombreux développeurs avec peu d'expérience en gestion estiment les tâches en utilisant leur propre vitesse ou la vitesse d'un "meilleur" développeur dans une équipe.

  • La vitesse varie avec l'expérience. Le développeur principal peut prendre 3 heures pour résoudre quelque chose, alors qu'il vous faudra 2 jours ouvrables pour résoudre le même problème.

  • Le stress peut être rarement évité lorsque vous prenez un nouvel emploi. Au bout de quelques mois, cela s'améliore normalement, en supposant que vous effectuez suffisamment de travail et posez beaucoup de questions pertinentes.

  • Vos aînés ne savent peut-être pas ce que vous pensez des estimations, il est donc important de leur demander ce qu'ils attendent de vous.

Selon mon expérience:

  • Je pense qu'un développeur senior ou un manager devrait pouvoir estimer une user story (exigence métier) en termes de tailles de t-shirts (XL, L, M, S, XS).

  • C'est le travail des développeurs de diviser la user story en tâches plus petites et de les estimer. Une tâche volumineuse peut prendre un jour à un développeur senior, alors que cela peut prendre une semaine entière.

  • Il est très important d'enregistrer le temps qu'il vous a fallu pour terminer la tâche.

  • Un bon chef de projet ou développeur senior rassemblerait constamment ces statistiques. Lorsque votre productivité s'améliore, ils en seront conscients et enverront plus de travail à votre façon.

Cela rendra non seulement votre vie moins stressante, mais permettra également au ministère de gérer efficacement ses ressources.


11

Apportez cela avec votre chef d'équipe, votre chef de projet et / ou celui qui fait votre estimation; pas nous. Les gens comprennent que les choses ne demandent pas autant d'efforts à tout le monde, et ils peuvent soit ajuster les estimations lorsque la tâche est assignée, soit dissiper au moins les craintes que vous avez concernant la période d'examen.

C'est, à mon avis, la raison pour laquelle les estimations doivent être faites par les personnes affectées à la tâche (avec la contribution / collaboration des chefs de file / pairs). Vous obtenez des estimations plus précises pour combien de temps le travail prendra réellement aux gens.


7

Je ne peux pas imaginer une position pire pour mettre un développeur junior que de définir une attente qu'il ne peut pas garder, à moins bien sûr qu'il ne le fasse pour vous mettre au défi. Avez-vous eu de réelles répercussions sur le non-respect des prévisions budgétaires?

Je dirais d'abord qu'il est important que vous appreniez à estimer vous-même. Lorsque l'on vous confie une tâche, évaluez-la immédiatement à ce que vous pensez qu'il faudrait, puis commencez à trouver le delta entre les deux. Je peux presque parier que la qualité est sacrifiée dans l'estimation courte initiale. Si c'est simplement qu'ils s'attendent à ce que vous conceviez et développiez des éléments plus rapidement que vous le pouvez, vous devrez peut-être discuter avec quelqu'un pour résoudre le problème.

Deuxièmement, comprenez que la qualité est une caractéristique que les parties prenantes, votre patron, doivent décider de payer. Cela peut être quelque chose que vous devrez sacrifier en faisant un peu pour satisfaire les exigences dans le temps dont vous disposez.

Quoi qu'il en soit, éliminez le stress, ce n'est pas amusant de continuer à se sentir comme si vous étiez toujours derrière l'écriture d'un mauvais code. J'espère que cela t'aides.


2

C'est courant.

En général, il est préférable de donner des estimations plus grandes que plus petites (la plupart du temps, vous reviendrez quand même sur l'estimation). Je vous conseillerais de couper la tâche en plus petites sous-tâches possibles et de les estimer avec chaque tâche ne dépassant pas 4 heures.

Si une tâche peut prendre plus de 4 heures, décomposez-la en un autre ensemble de sous-tâches. Ajoutez également un tampon proportionnel pour les tâches que vous ne pouvez pas prévoir maintenant (ma préférence personnelle est 1 tâche inattendue pour 2 tâches estimées, chaque tâche inattendue prenant 2 à 4 heures selon le système avec lequel vous travaillez).

Après cela, ajoutez le temps que vous pensez qu'il faudrait pour les tests, la communication, l'analyse, etc.


1

Tout d'abord: si vous accélérez à chaque tentative de problème, vous n'êtes probablement pas un mauvais programmeur. Alors, débarrassons-nous de cette pensée.

Je dirais que c'est l'échec de vos gestionnaires, mais c'est et ce sera toujours votre travail de gérer les attentes.

Plutôt que de vous battre pour ne pas pouvoir respecter des délais irréalistes, mesurez combien de jours de travail vous pouvez réellement faire en une semaine. Ensuite, expliquez à votre chef d'équipe que vous êtes nouveau dans le développement commercial et logiciel et que vous ne pouvez obtenir qu'un travail de développeur senior de n jours dans une semaine standard. Ils devraient au moins comprendre cela, même s'ils ne l'aiment pas.

Dites-leur que vous prévoyez de continuer à vous améliorer et montrez-leur comment mesurer cette amélioration. Et convenez avec eux que vous ne vous attendez pas à un salaire de senior jusqu'à ce que vous puissiez faire 5 jours de travail de développeur senior en une semaine. Mais de même, vous ne vous attendez pas aux mêmes responsabilités qu'un senior lorsque vous n'êtes pas payé presque autant.

Pour aller plus loin, c'est pourquoi je suis un fervent partisan de l'utilisation d'histoires au lieu d'heures pour l'estimation. c'est à dire. Chaque travail obtient un certain nombre de points, et l'équipe estime le nombre de points qu'elle peut atteindre dans une période de temps donnée. La période suivante, l'estimation est la même que la valeur réelle de la période précédente, ajustée des facteurs connus comme un mois de vacances chargé ou le départ d'un développeur.

En tant que gestionnaire, lorsqu'un nouveau développeur arrive (junior ou senior), je précise à l'entreprise que nous n'augmenterons pas l'estimation en premier lieu. On s'attend à ce que ce développeur prenne autant de temps des autres développeurs qu'ils économisent. Le nouveau développeur fera probablement mieux que cela, mais sous-promesse et sur-livraison est le mantra.

Le développeur s'améliorera au fil du temps, un senior plus rapidement qu'un junior, et la "vitesse" de l'équipe - l'estimation mois sur mois - s'améliorera avec elle.


1

Garder le calme et continuer. Si le problème de votre non-respect des estimations est soulevé, dites-leur simplement les mêmes choses que ce que vous avez écrit dans votre message, ou si vous ne vous sentez pas en sécurité, parlez-en avec votre mentor / chef d'équipe par vous-même.

Les estimations ne sont que cela, des estimations. Ils peuvent et seront désactivés, d'autant plus lorsque vous apprenez les cordes. Et en tant que junior, il est probable que vous appreniez les cordes en tant que membre de l'équipe sur ce projet particulier, en tant que programmeur utilisant la technologie que vous utilisez et en tant qu'employé de votre entreprise. Et si vous travaillez avec des gens sensés, ils s'attendent à ce que vous vous trompiez avec les estimations.

Vous regardez probablement les tâches que vous obtenez "de bas en haut". Vos tâches sont plus importantes pour vous que la vue d'ensemble du projet sur lequel vous travaillez - c'est compréhensible. Vous voyez les estimations comme des restrictions qui vous sont imposées et vous vous inquiétez évidemment lorsque vous ne les respectez pas.

Mais quand vous regardez la situation dans son ensemble, vous verrez que les estimations, encore plus que les «cibles» pour les développeurs, sont des «signaux» pour les prospects / chefs de projet. Diviser le travail en tâches et les estimer est un moyen de réduire la complexité de la gestion et de l'estimation de l'ensemble du projet. Garder une trace du travail réel effectué par rapport aux estimations est un moyen de garder une trace de la façon dont le projet se déroule, mais ce n'est qu'une des mesures qui peuvent être appliquées. Lorsque les estimations ne sont pas respectées régulièrement, cela signale au gestionnaire qu'il y a un problème avec le projet. Mais dans tout projet raisonnable, ce ne sera pas le fait qu'il y ait un développeur junior dans l'équipe qui ne respecte pas les estimations.


0

Permettez-moi de vous présenter mes deux amis, WAG et SWAG

C'est-à-dire le «Wild Assed Guess» et le «Scientific Wild Assed Guess»

Croyez-le ou non, je n'ai pas inventé ça. Ils sont en fait assez courants dans les affaires. Jetez un oeil à cet article pour voir ce que je veux dire.

Idéalement, il est préférable de proposer une estimation ferme, mais si vous ne le pouvez pas, il est préférable d'indiquer que l'estimation est approximative en raison de données incomplètes que de mentir.

La clé est que les affaires ne sont pas de la programmation informatique. La gestion des attentes est plus importante que la précision. Il est important d'évaluer le temps que vous pensez qu'il faudrait plus 10% comme contingence pour compenser tout problème imprévisible.

Si vous surestimez, ils seront heureux lorsque vous aurez terminé avec du temps à perdre. Si vous sous-estimez, ils ne seront pas déçus si vous respectez le délai ou extrêmement déçus si quelque chose ne va pas.

Les affaires sont une zone grise pour laquelle certaines personnes acquièrent une sensation intuitive au fil du temps. Le fait qu'ils demandent à un développeur junior de prendre ce genre de décisions de manière indépendante indique une chose. Soit ils n'ont personne de disponible qui soit plus capable de prendre ce genre de décisions, soit les managers ne veulent pas assumer la responsabilité des échecs.

Je mettrais mon argent sur ce dernier si vous travaillez pour une grande organisation. Lorsqu'un modèle d'entreprise hiérarchique se développe suffisamment, le sommet est tellement éloigné du bas que les supérieurs ne peuvent mesurer les progrès que par ce qu'ils reçoivent sur papier. C'est un environnement terrible car les promotions sont généralement accordées pour ne pas commettre d'erreurs. Mais les personnes qui obtiennent les promotions évitent l'échec en poussant leurs responsabilités sur les autres (c'est-à-dire l'incompétence aveugle) et en prenant le crédit pour les succès des personnes plus basses de la chaîne.

Malheureusement, les programmeurs sont des cibles faciles à jeter «sous le bus» car peu importe l'ampleur du problème, nous essaierons de trouver une solution. La clé est de ne pas consacrer plus de temps à déterminer comment estimer le problème que de mettre en œuvre la solution.


-1

C'est un endroit difficile. On dirait que vous êtes coincé dans l'étape "juste à livrer" de ce pipeline.

Au fil des ans, j'ai remarqué ce qui suit au sujet de l'estimation: La qualité d'une estimation peut être déterminée en répondant (avec un nom propre) aux trois questions suivantes.

  • Qui a fait le design?
  • Qui a fait l'estimation?
  • Qui fait la mise en œuvre?

La qualité de l'estimation est inversement proportionnelle au nombre d'individus distincts nommés. Par exemple: la meilleure estimation est lorsque la même personne a effectué les trois tâches ci-dessus, une estimation faible est lorsqu'une personne a conçu / estimé et qu'une autre procédera à la mise en œuvre, et la pire estimation est celle où les trois questions reçoivent une réponse. un nom unique.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.