Tiens, je me rend compte que ma réponse n'est pas passée. Merci google de ne pas prévenir ... Je te la recopie :
Hello, Déjà pour commencer, pense en demi-journées plutôt qu'en heures. C'est plus réaliste pour "prévoir l'imprévu", et c'est toujours bon d'avoir une ou deux heures en rab'. Si ce n'est pour résoudre des problèmes, ce sera pour rendre exhaustif des specs ou écrire de la documentation. Le blocage pendant des heures qui te prend 5 minutes le lendemain est symptomatique d'une trop grosse pression. Si tu as du temps devant toi, tu réfléchis plus sereinement (ce qui peut te faire gagner du temps au final). Un autre problème que tu ne mentionnes pas mais qui est également courant est de ne pas te représenter immédiatement toutes les implications d'une feature. C'est spécialement problématique quand tu fonctionnes en freelance : tu t'engages sur un devis pour ensuite réaliser que ça va te prendre beaucoup plus de temps que ton évaluation optimiste. Pour résoudre ça, j'ai pendant quelques temps fait des devis à base de user stories. Plutôt que "d'estimer à la louche" (ce qui finit toujours par être au désavantage du développeur), j'écrivais des user stories cucumber dans le style impératif. C'est long et fastidieux, mais ça permet : 1. de voir immédiatement toutes les implications d'une feature 2. de faire signer les stories par le client, en précisant que le devis ne vaut que pour ce qui est décrit ici. Ça évite les heures gratuites à base de "ah mais pour moi c'était évident que ...". Par la suite, tu conçois beaucoup plus facilement les features et cet exercice n'est plus nécessaire (surtout si tu ne bosses plus en freelance). On Tuesday, July 9, 2013 3:04:32 PM UTC+2, Guirec Corbel wrote: > > Bonjour, > > Voici ma question de la semaine : Comment faites-vous pour évaluer le > temps de création d'une fonctionnalité? > > Je penses que je souffre d'une maladie de développeur qui veut que, quand > on nous demande de penser à une nouvelle fonctionnalité, on trouve ça > facile. > > Je prend un exemple : on me demande de faire un formulaire d'ajout d'un > artiste. Là je me dis "Je génère un modèle Artist, j'utilise simple_form et > je fais deux ou trois "validates" dans le modèle. Ça va me prendre une > heure maximum.". Mais là j'oublie d'évaluer le temps de création de mes > tests, les fois où le client il voudra le texte à gauche plutôt qu'a > droite, le temps de gestion où je vais discuter avec le client. Je compte > pas non plus le temps où, par exemple, je vais fait un test en oubliant de > le mettre dans un "it" (je le met juste dans un describe) et je vais me > demander pourquoi ça marche pas pendant deux heures. Finalement, je vais me > coucher. Je reviens le lendemain et je trouve la solution en 5 minutes. Je > suis certain que ça arrive à tout le monde. Bref, si tout va bien je met > deux heures et si j'ai un problème j'en prend 5 et j'ai exploser mon temps > prévu. > > Je penses me faire un fichier où je mettrais, à chaque fois, le temps que > je met pour faire un truc. Quand on me demande de faire la même chose, je > regarde la moyenne de temps que j'ai pris pour les fois d'avant et c'est ce > temps là que je mettrais. > > J'arriverais à un truc comme ça : > > - Création d'un formulaire - 2 heures; > - Ajout du moindre petit JavaScript - 1 heure; > - Envoi d'un email à la validation d'un formulaire - 1 heure; > > Avec ça, on me demande le même formulaire avec une autocomplétion du nom > et l'envoi d'un email à l'admin à la création : 4h. On peut même imaginer > une application pour faire ça. Ça pourrait être cool. > Qu'en pensez-vous? Existe t'il est techniques pour bien calculer son > temps? Comment faites-vous? > > Bye! > Guirec. > -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
