Concentrez-vous sur les pièces. Lorsque vous essayez d'estimer une tâche à un niveau élevé, non seulement elle est décourageante, mais vous ne parviendrez pas à prendre en compte avec précision tous les éléments qui composeront le temps total.
Au lieu de cela, n'essayez même pas de deviner le total (non seulement ce n'est pas utile, mais cela peut en fait fausser vos estimations des tâches individuelles), mais asseyez-vous plutôt et essayez de penser à toutes les sous-tâches qui composent la tâche. Si celles-ci vous semblent trop importantes, décomposez-les en soustâches encore plus petites.
Une fois que vous avez fait cela, donnez une estimation à chacune des tâches secondaires. Si l'une d'entre elles dépasse les 4 heures, il est probable que la tâche secondaire n'a pas été suffisamment décomposée. Additionnez toutes ces estimations. C'est votre estimation.
Cette approche vous oblige à raisonner sur ce qui est réellement nécessaire pour accomplir la tâche et vous permettra de produire de meilleures estimations.
Veillez également à penser aux étapes non évidentes nécessaires à l'accomplissement d'une tâche. Si vous écrivez un morceau de code, avez-vous inclus des estimations de temps pour l'écriture des tests unitaires associés ? Pour tester le code ? Pour le documenter ?
Lorsque vous convertissez des heures en jours, faites preuve de réalisme quant au temps que vous passerez réellement à travailler la tête en bas. Le consensus général est qu'un développeur peut accomplir 4 à 6 heures de travail dans une journée de 8 heures. Cela correspond à peu près à mon expérience personnelle.
Si vous avez d'autres membres de l'équipe, vous pouvez essayer une technique appelée Planifier le poker . Dans sa forme la plus simple, l'idée est de demander à chaque membre de l'équipe d'estimer individuellement chacune des tâches. Une fois cette étape franchie, l'équipe se réunit et compare les estimations à la recherche d'écarts importants. Cela permet de savoir si la tâche n'était pas assez claire, si certains membres de l'équipe possèdent des informations pertinentes que les autres n'ont pas, ou si différents membres de l'équipe font des hypothèses différentes.
Lorsque vous effectuez vos estimations, soyez conscient de vos hypothèses et documentez-les dans le cadre des estimations. En supposant x, y et x, la tâche q devrait prendre n heures. Il peut s'agir d'éléments tels que la disponibilité d'un ingénieur AQ pour tester la fonctionnalité, la disponibilité d'un environnement de développement dans lequel déployer la fonctionnalité pour la tester, la compatibilité de deux frameworks tiers qui n'ont pas encore été testés ensemble, la fonctionnalité z dont dépend la tâche et qui doit être prête à une certaine date... Etc. Nous faisons des tonnes de ces hypothèses tout le temps sans en être conscients. Les documenter vous oblige à en être conscient et permet à d'autres parties de valider que vos hypothèses sont correctes. Et si les estimations s'avèrent fausses, vous disposez de beaucoup plus d'informations pour en analyser les raisons.
Même en suivant tous ces conseils, vous ferez encore souvent des estimations inexactes, mais ne vous sentez pas trop mal car notre cerveau est câblé pour produire des estimations terribles pour des tâches abstraites. Nous avons une multitude de biais cognitifs qui affectent notre capacité à évaluer la taille et l'effort d'une tâche.
Je vous recommande de lire cet article pour obtenir encore plus d'informations et de conseils :
http://blog.muonlab.com/2012/04/12/why-you-suck-at-estimating-a-lesson-in-psychology/