Je pense que les réponses de Frank et d'Encaita le couvrent à peu près, mais il y a d'autres choses à considérer:
Pourquoi utiliser des points d'histoire
Le but de l'estimation avec des points d'histoire est de donner la complexité relative du développement de fonctionnalités pour votre application. Une façon simple d'y penser est de prendre une histoire que vous avez dans le sprint à venir, par exemple un changement d'URL. Vous savez que c'est simple en termes de complexité, et a des critères d'acceptation clairement définis, donc toute l'équipe convient que même avec les tests, c'est un 1 (en utilisant l'échelle Fibo).
L'histoire suivante à estimer consiste à agréger un ensemble de données utilisateur et à les visualiser en amont. Maintenant, en tant que développeur, vous savez immédiatement que c'est beaucoup plus complexe que de changer une URL. Vous discutez de l'histoire et des critères d'acceptation et vous avez beaucoup de questions et pouvez voir plusieurs solutions possibles pour ce faire. Les autres développeurs et QA conviennent également que c'est très complexe. Vous êtes donc tous d'accord pour dire qu'il s'agit d'une histoire en 34 points. Il convient de noter que l'échelle de Fibo vous permet également d'indiquer le degré de confiance que vous avez dans l'esimate - plus les écarts entre les chiffres sont importants, moins vous avez confiance en votre estimation.
À ce stade, votre Scrum master devrait sauter et dire que cette histoire est trop grande et doit être décomposée en histoires plus petites et moins complexes. Vous pouvez aborder cela en faisant ce que l'on appelle des pointes - c'est juste un peu de temps réservé pour enquêter sur quelque chose. Donc, pour cet exemple, vous et les autres développeurs convenez que vous voulez 4 heures pour discuter et étudier les solutions techniques possibles.
Pour résumer une longue histoire, vous divisez cette grande histoire en quatre autres histoires de 5, 8, 8 et 13 points. N'oubliez pas que ces estimations portent toutes sur la complexité relative - elles n'ont pas à s'additionner à l'estimation d'origine et vous disposez maintenant de plus d'informations pour faire une estimation plus précise.
Vous convenez ensuite en équipe que pour ce sprint, vous viserez à faire l'histoire de 13 points, une histoire de 8 points plus le changement d'URL de 1 point que vous aviez déjà identifié. Soit un total de 22 points. Le sprint suivant, vous obtenez 27 points, le sprint suivant, vous obtenez 18 points. Après 3 sprints, vous pouvez commencer à avoir confiance en votre vitesse (la vitesse est la quantité de travail que votre équipe peut effectuer en un seul sprint). Pour obtenir la vitesse, prenez la moyenne des sprints précédents. Donc, dans cet exemple, la moyenne est (22 + 27 + 18) / 3 = 22,3 alors arrondissez-la au plus proche sur l'échelle de Fibo qui est 21.
Maintenant, pour le prochain sprint, visez simplement à obtenir 21 points.
Ne vous attardez pas à obtenir votre estimation de point d'histoire exactement - ce n'est pas une science exacte. Vous savez qu'un changement d'URL est beaucoup moins complexe que l'agrégation de données, il suffit donc de le noter en conséquence.
De plus, discuter de ces choses en équipe est une bonne chose. Revoyez vos estimations lors de la révision du sprint et discutez si vous en êtes satisfait ou non, puis insérez-les dans la prochaine session de planification du sprint.
L'estimation de toute l'équipe
Toute l'équipe doit se mettre d'accord sur une estimation unique pour chaque histoire. Une fonctionnalité n'est pas terminée tant qu'elle n'est pas prête pour la production. Le simple fait d'écrire le code n'est en aucun cas fait. D'après mon expérience, les équipes Scrum ont été beaucoup plus efficaces lorsqu'elles travaillaient en équipe. Prenons un exemple de l'équipe avec laquelle je travaille en ce moment. Quand j'ai rejoint, ils faisaient toutes les réunions de sprint et planifiaient le poker mais pendant le sprint le processus était de 1. Les BAs / Product Owners définissent les exigences comme des histoires avec des critères d'acceptation et des tests d'acceptation 2. Ils remettent ces exigences au développeur qui écrit ensuite le code 3. Le développeur a fusionné le code dans la branche de développement pour QA à tester 4. Test QA puis ils commencent à poser des questions et les tests échouent donc il revient dans le développement.
Qu'est-ce qui manque ici? Il n'y a pas assez de discussions à l'avance et chaque membre de l'équipe n'a vu que sa propre tâche. Maintenant, le BA / PO, les développeurs et le QA se réunissent avant d'écrire n'importe quel code pour discuter des exigences en détail et poser des questions à l'avance, puis poursuivre la discussion tout au long du sprint. Ceci est beaucoup plus efficace et conduit à des solutions de meilleure qualité.
La planification du poker facilite ce processus car elle oblige l'équipe à discuter de la fonctionnalité et à convenir, en équipe, de la complexité de la livraison de cette fonctionnalité. Dans le développement de logiciels traditionnels, le chef de projet était responsable de la livraison du projet, mais toute personne ayant une expérience de cette approche sait que cela ne fonctionne pas parce que le plus souvent, les gens ne prennent pas la responsabilité de leur part dans la livraison de l'application. Dans Agile, vous ne devriez pas avoir besoin de chefs de projet car l'équipe prend la responsabilité dans son ensemble de la livraison de l'application.
Estimation ponctuelle des tâches
À mon avis, avoir travaillé avec des équipes qui estiment le temps consacré à des tâches et des équipes qui ne font que des estimations de point d'histoire est NE PAS FAIRE D'ESTIMATIONS DU TEMPS! Ils ne sont en fait qu'une perte de temps. Ils ne sont pas aussi précis que les points d'histoire parce qu'ils sont spécifiques aux individus et non à l'équipe, et chaque individu aura une idée différente de l'estimation du temps (allumez la flamme).
Les points d'histoire acceptent que les choses, c'est-à-dire les exigences, changent tout le temps, donc vous avez vraiment besoin d'un indicateur de ce que l'équipe peut accomplir dans un sprint.
Une fois que vous avez compris la vitesse, vous pouvez mesurer vos livrables dans le temps car vous savez ce que vous pouvez faire à chaque sprint, par exemple toutes les deux semaines, vous savez quelles fonctionnalités peuvent être livrées. Votre Scrum Master et les propriétaires de produits devraient avoir des séances d'estimation pour anticiper les futurs sprints, puis vous pourrez obtenir un indicateur de la quantité de travail que vous ferez dans les prochains mois. Cela permet aux propriétaires de produits de prendre des décisions de priorisation sur les fonctionnalités à inclure dans l'application finale.
J'ai eu des développeurs qui demandent que nous estimions le temps pour les tâches afin de planifier, mais je suis en fait en désaccord avec cette approche (en fait, je suis fortement en désaccord avec cette approche) parce qu'elle n'est pas précise, par exemple ce que cela me prendra 4 heures signifie vraiment: un développeur peut inclure uniquement le temps sur la tâche elle-même, quelqu'un d'autre peut ajouter du temps pour faire des tasses de thé!
Les estimations de temps sont toujours remises à quelqu'un d'autre à des fins de création de rapports et surestiment également les éléments individuels de la fourniture d'une fonctionnalité par rapport à l'effort de toute l'équipe.
L'estimation n'est pas le plus gros problème
Soit dit en passant, déterminer l'estimation n'est pas le plus gros problème que les équipes doivent résoudre, je pense. La chose la plus importante est de travailler ensemble en équipe pour faire avancer les choses tout au long du sprint, afin de ne pas tout remettre pour les tests du dernier jour. Vous voulez voir un filet constant de fonctionnalités tout au long du sprint de 2 semaines. La dynamique d'équipe que j'ai expliquée ci-dessus en est une grande partie. L'estimation des points d'histoire vous aidera à planifier cela, car vous verrez quelles sont les grandes histoires qui doivent être décomposées en plus petites qui peuvent être livrées régulièrement dans les tests.