Je commence toujours la journée en pensant "je vais facilement faire ça d'ici la fin de la journée" et je fixe ce qui ressemble à un objectif réaliste.
Alors pourquoi je ne l'ai jamais frappé? La tâche finit toujours par prendre 3 fois plus de temps en raison de bugs imprévus, de changements de dernière minute, etc.
Est ce juste moi? Je ne semble pas mieux prédire ce qui peut être fait en une journée.
productivity
self-improvement
billy.bob
la source
la source
Réponses:
Parce qu'on ne vous a jamais appris à planifier.
La planification est une compétence , tout comme le codage ou l'écriture. Mais d'une certaine manière, il est exclu de presque tous les programmes.
Elle doit être apprise et mise en pratique, et vos estimations de vos propres capacités doivent être continuellement mises à jour. C'est pourquoi les pratiques de travail comme Agile mettent l'accent sur la mesure de votre travail réel passé et sur sa comparaison avec vos estimations, afin que vous puissiez améliorer vos capacités de planification.
Comme d'autres l'ont dit, vous devez tenir compte non seulement de la tâche, mais de tous ses prédécesseurs, des tâches associées (par exemple, apprendre à faire X), et vous devez être conscient de vos propres biais mentaux internes qui vous empêcheront de en tenant compte de la façon dont vous travaillez réellement.
Entraînez-vous dessus et qui sait, vous pourriez vous améliorer.
la source
Difficile de croire que personne n'a encore mentionné la loi de Hofstadter .
Je pense que la vraie réponse est que votre planification suppose toujours le meilleur des cas, comme si tout fonctionnait immédiatement sans interruption. Dans la vraie vie, vous commencez à coder, puis le téléphone sonne, vous êtes distrait pendant 5 minutes, passez encore 15 minutes sur stackoverflow ou sur les programmeurs. certains googler, passer 2 heures pour tester les solutions possibles, etc.
En d'autres termes: "le meilleur des cas" ne se produit que dans vos rêves.
la source
Chaque programmeur, de temps en temps, passe une journée parfaite. Vous vous réveillez 5 minutes avant que votre alarme ne se sente bien. Le petit déjeuner est fait et sur le comptoir, avec du café frais, donc vous pouvez prendre quelque chose et sortir par la porte. Pendant votre trajet, vous atteignez chaque feu vert et le trafic semble être particulièrement léger. En contemplant la journée qui vous attend, vous êtes en mesure de comprendre pleinement la conception et les conséquences de la tâche qui vous attend, qui a été bien planifiée avec des exigences fermes.
Vous vous mettez au travail et vous constatez que vous n'avez pas d'e-mails importants, pas de messagerie vocale en attente et que vos collègues sont soit absents, soit à des réunions auxquelles vous n'avez pas à assister. Vous lancez votre éditeur et vous êtes immédiatement dans la zone, vous pouvez sentir la structure du code et voir vos structures de données et algorithmes se mettre en place dans un ensemble magnifique et cohérent. Les pensées circulent entre vos mains vers le clavier, saisissant un code parfaitement formé qui est élégant, maintenable et sans aucun bug à trouver.
Pendant la journée, vous travaillez sans interruption, le bureau est calme et vous êtes tellement concentré que vous n'êtes jamais tenté de passer du temps à vous tenir au courant des actualités, des blogs, etc. Lorsque vous compilez et exécutez vos tests, vous constatez que tout fonctionne sans accroc, bien sûr, vous saviez que ce serait le cas, et à la fin de la journée, vous vous engagez sans conflits. En regardant l'horloge en sortant, vous réalisez que vous avez mis 12 heures et que cela ressemblait à une brève session de codage de 20 minutes.
Ce jour-là, ce jour parfait, c'est ce que nous supposons avoir à chaque fois que nous devons estimer quelque chose.
la source
N'oubliez pas les réunions, les gens qui vous interrompent, etc. Les bugs imprévus sont difficiles à prévoir, mais avec le temps, vous devriez être en mesure de vous faire une idée du nombre de bugs que vous découvrez dans un certain délai. Pour estimer combien de temps quelque chose prendra, vous devez tenir compte du contexte. C'est-à-dire "en supposant que je ne sois pas interrompu ou que je ne découvre pas de bogues, je devrais être capable de faire quelque chose en X temps"
Comme petit exercice pour vous-même, envisagez de faire ce qui suit:
Vous constaterez que certains modèles commencent à émerger et pouvez planifier en conséquence. Chaque fois que vous indiquez à votre responsable une estimation de la date d'achèvement, mettez-le simplement en garde avec l'hypothèse du premier paragraphe. Vous pourriez être surpris de la précision de votre estimation lorsque vous supprimez le temps consacré aux interruptions et aux bogues.
Lorsque vous travaillez sur une liste de bogues ou une liste de fonctionnalités, vous effectuez probablement déjà le premier et le troisième point. Ce petit exercice vous dira où va tout votre temps et vous pourriez être surpris de la réponse.
la source
Vous voudrez peut-être élargir votre calendrier de prévisibilité. Pouvez-vous déterminer ce que vous pouvez faire en une semaine? Si chaque tâche prend trois fois plus de temps que prévu, il semble que vous soyez suffisamment cohérent pour être prévisible. Vous avez juste besoin de régler par 3x;)
la source
parce que vous avez simplement ignoré le fait que des bugs imprévus peuvent survenir.
Faites quelques statistiques sur le temps moyen que vous avez passé sur les bugs et tenez compte de ce temps lorsque vous faites votre plan.
la source
Parce que vous ne planifiez pas correctement. Aïe .
Je parie que si vous gardez un total cumulé de vos dépassements (sur papier même), puis ajustez vos estimations de ce%, vous pourrez planifier correctement.
FWIW, le logiciel est notoirement difficile à estimer. McConnell (de la renommée Code Complete) a même un livre à ce sujet.
la source
Quelque chose que je me retrouve souvent à faire est distrait par des choses aléatoires qui ne sont pas liées à ce que je fais. Une liste de tâches peut vous y aider; lorsque vous pensez à quelque chose, notez-le et faites-le après avoir terminé ce qui est devant vous.
la source
Parce que je passe trop de temps sur Stack Overflow.
la source
Une matrice urgente / importante peut être utile de considérer pour voir où va votre journée. S'agit-il de choses urgentes mais non importantes comme des réunions non préparées et des interruptions? S'agit-il de choses urgentes et importantes que vous ne saviez pas au début de la journée? Juste un exercice pour voir où va votre temps.
J'aurais tendance à penser que la plupart des choses intéressantes sont importantes, sinon pourquoi sont-elles intéressantes? Juste une pensée.
la source
C'est une bonne question et une que je réfléchis constamment. J'ai tendance à penser que
la source