web-dev-qa-db-fra.com

Quel est le but de planifier le poker dans un sprint?

Notre analyste d'entreprise et nos chefs de projet nous indiquent que les exigences du client sont des histoires. Chaque planification de sprint, nous (développeurs) sont invitées à jouer au poking de planification.

Ils ont demandé à tous d'envisager la "complexité" plutôt que "effort". Nous sommes vraiment confus et nous perdons du temps à nos réunions. Un développeur a soulevé une question: "Que devrions-nous vraiment vouloir considérer? S'agit-il du changement de code/DDL que nous devons faire dans cette exigence (estimation temporelle) ou de savoir si nous avons compris ou non la condition? "

Mais qu'est-ce qu'elles (analystes d'affaires et chefs de projet) signifie-t-il vraiment par "comprendre l'exigence" et "soulever une carte"?

De plus, nous avons des réunions de tranchant pour des équipes de Scrum individuelles, où chaque développeur donne une estimation du temps pour une tâche donnée pour chaque équipe de Scrum. Alors, quel genre de chose parle-t-il vraiment de la planification du poker?

Quelqu'un peut-il expliquer cela en utilisant un exemple? Essayez de différencier ce qu'ils parlent vraiment quand ils disent "complexité" et "effort".

15
Jude Niroshan

Considérez le point de vue du gestionnaire de projet

En demandant une complexité, ils veulent un nombre qu'ils peuvent comparer avec votre prochain sprint pour trouver votre vélocité en équipe. Ils peuvent également essayer de l'utiliser pour ajouter ensemble votre résultat avec les estimations d'autres équipes afin de fournir une estimation sur toute l'estimation lorsque toutes les histoires seront effectuées.

Le gestionnaire de projet recherche une estimation du moment où le projet sera terminé, ou s'il est flexible sur d'autres côtés du triangle des coûts de fonctionnement temporel, quelles autres sortants peuvent être tirées pour le rendre adapté au temps restant. Ce n'est pas déraisonnable. Les décisions commerciales devront être faites sur la base de cette estimation. Le problème est qu'il est vraiment difficile d'estimer cela pour les logiciels. Planning Poker est l'un des moyens de contribuer à ce problème. Plutôt que de la voir simplement en ajoutant le nombre de points de l'histoire, pensez-y plutôt comme une fonction plus complexe d'estimation de l'estimation que vous le pouvez, de faire le travail, de mesurer la durée pendant laquelle cela a pris, itération, puis extrapolant.

La discussion est plus importante qu'un chiffre

Je trouve que la partie la plus importante des réunions de pointage des histoires sont les discussions qui se posent. Si quelqu'un de l'équipe n'est pas confiant suggérant un numéro, ils ne comprennent probablement pas complètement l'histoire et il doit y avoir plus de discussion. Du manifeste agile "Collaboration client sur la négociation de contrat". Plutôt que de simplement spécifier un contrat écrit comme une histoire d'utilisateur et dire que l'équipe a échoué s'ils ne font pas exactement ce que vous voulez, il est toujours préférable de parler de ce que le client veut vraiment jusqu'à ce que vous le comprenez.

Complexité vs effort

Pour répondre à votre question spécifique sur la complexité vs effort, tout le monde semble avoir une opinion différente à ce sujet. chèvre de montagne , qui sont les personnes qui font la planification des cartes de poker qui ont des chèvres à l'arrière d'eux et dont le propriétaire Mike Cohn est grand dans le monde agile/Scrum, disons que cela devrait être effort et non complexité.

Il n'est normalement pas considéré comme une mesure du temps (voir l'exemple ci-dessous pour un exemple d'exemple) car les personnes sont mauvaises à l'estimation du temps, avec d'autres facteurs qui affectent quel nombre ils donnent: par exemple. La pression pour garder le nombre basse afin que vous puissiez davantage de fonctionnalités dans, la pression pour donner un nombre plus élevé pour vous donner une certaine pièce si vous rencontrez un problème. Le logiciel de construction est difficile. Lorsque vous construisez votre 100e maison, vous pouvez estimer combien de temps cela vous conduira comme vous avez construit 99 maisons avant cela. Si le logiciel que vous construisez est identique à celui des programmes précédents que vous avez construits, alors vous pouvez copier et coller, n'importe quelle valeur de logiciel étant différent et que vous aurez ainsi des problèmes que vous n'avez pas prévu au début.

Comme pour les estimations du temps contenant des pressions cachées, une mesure d'effort a également des problèmes. Si un développeur junior estime une grande complexité, ils peuvent sentir qu'ils se laissant s'ouvrir à l'attaque comme n'étant pas assez bon des autres qui lui donneraient une estimation inférieure. Ceci n'est pas seulement préjudiciable à vos estimations, mais aux personnes de l'équipe.

Les numéros de poker de planification ne sont pas "nombre de jours" ou une autre mesure du temps, ils constituent une mesure relative pour pouvoir comparer deux histoires d'utilisateurs. La première chose à faire dans une nouvelle équipe est d'établir une base de référence. Choisissez une histoire d'utilisateur située au milieu de la gamme de complexité et d'accord en tant qu'équipe un numéro au milieu de la plage que vous souhaitez attribuer. Maintenant, toutes les autres histoires d'utilisateurs peuvent être numérotées par rapport à celle-ci. J'ai trouvé cela rend beaucoup plus facile.

raisons pour lesquelles vous ne pouvez pas donner une estimation

Lorsque les gestionnaires de projet vous demandent quand un projet sera fait, ils doivent comprendre la complexité de la question qu'ils demandent. Les programmeurs ne sont pas des ouvriers d'usine, où leur productivité peut être mesurée en multipliant à quelle vitesse ils tapent depuis combien de temps ils fonctionnent. Ils déterminent des réponses aux problèmes et c'est difficile. En jouant à la planification Poker, vous identifiez d'abord l'OMS de l'équipe, ils ne peuvent pas répondre à la question de savoir quel numéro à attribuer, puis vous creusez pourquoi ils ne peuvent pas répondre à cette question. Je pense qu'il y a au moins quatre raisons:

  1. L'histoire est trop grande. Rompez-le dans des histoires d'utilisateurs plus petites et plus spécifiques. Rappelez-vous que chaque histoire d'utilisateur doit fournir une valeur à l'utilisateur; entrée - processus - sortie = valeur.
  2. Ils ne comprennent pas le domaine assez bien pour pouvoir dire combien de temps cela les prendra ou même poser toutes les questions correctement. Parlez à des personnes qui en savent plus sur le domaine des intervenants/programmation de ce type d'application, peu importe ce que vous n'avez pas vu auparavant. Si cela n'est pas possible ou ne vous obtient pas tout ce que vous pouvez utiliser une pointe de conception. Allez prototyper une solution mais uniquement pour A Limited et spécifié la quantité de temps. Définissez combien de temps la phase de prototypage continuera, pas trop longtemps, puis revenez à nouveau pour partager votre nouvelle compréhension.
  3. Vos parties prenantes ne sont pas assez spécifiques. "Construire moi un nuage" n'est pas une histoire d'utilisation acceptable. "Construis moi un système où je peux faire tourner VMS sur demande" est préférable car il est décomposé, mais n'est toujours pas au niveau où vous pouvez donner une estimation précise sur la durée de la durée de la durée car il y aura une centaine de cachures Hypothèses dans cette déclaration que votre intervenant a pour que vous ne découvrirez pas avant de leur montrer quelque chose.
  4. Enfin, même si vous pouvez donner une estimation, cela sera probablement faux la première fois. L'estimation est un problème difficile et le meilleur moyen que je connaisse de résoudre des problèmes difficiles est d'utiliser la méthode scientifique. Recueillir des données sur les numéros que chaque membre de l'équipe estime, puis collectez des données sur la durée de la durée, ou de la manière dont "complexe" était vraiment, bien que cela soit plus difficile, puis comparez-les au fil du temps. Finalement, vous aurez une idée de savoir qui surestime et qui sous-estime et vous devriez ensuite partager cela avec l'équipe. Les gens peuvent s'entraider de mieux s'aider à estimer. Ces chiffres peuvent également être renvoyés dans votre outil de suivi afin de mieux prédire la façon dont les histoires de longue durée prendront.

Conclusion

Je crois que le point devrait vraiment être la discussion, mais si vous avez vraiment besoin de donner à quelqu'un un numéro, essayez d'en faire un qui est indépendant de quel membre de l'équipe travaille sur elle et dans quel ordre les histoires travaillent. Le fait est d'accéder à un journal arrière qui est à la fois hiérarchisé. Vous y travaillez donc dans le bon ordre, de sorte que le gestionnaire de projet puisse voir à peu près combien vous pouvez vous intégrer avant votre date limite. Vous devriez pouvoir vous arrêter à la fin de toute itération et expédier avec toutes les fonctionnalités terminées qui avaient été lancées.

AVERTISSEMENT

Vous pouvez estimer le temps pour effectuer des tâches dans votre équipe autant que vous le souhaitez aussi longtemps que vous gardez les chiffres à vous-même. Une fois que vous autorisez un nombre à échapper à l'équipe et que d'autres personnes, ils feront des choses avec ce nombre que vous n'avez pas intention. Ils vont essayer de l'utiliser comme plusieurs jours pour compléter les tâches. Ils essaieront de vous retenir à la cote de complexité relative et de vous demander pourquoi il vous a fallu plus longtemps pour compléter une histoire d'utilisateur qu'un autre avec le même nombre de points. Ils ajouteront vos numéros ensemble et les compareront aux numéros d'autre équipe et vous demanderont pourquoi l'autre équipe est "faire plus de travail" car elles complètent plus de points d'histoire dans une période de temps. Vous ne pouvez pas arrêter cela, mais vous pouvez garder des lignes de communication ouvertes avec toutes vos parties prenantes et essayer de définir leurs attentes aussi près que possible de votre compréhension de la réalité.

Misté

Le jeu de nombres de poker de planification est normalement distribué de manière à ce que les lacunes entre les chiffres continuent à augmenter. Je crois que cela est destiné à décourager les gens de se disputer sur la question de savoir si une histoire d'utilisateur est une 16 ou une 17, si elle est plus grande qu'un 13, faites-en 20.

exemple

Je connais au moins une équipe qui n'utilise que les numéros 1, 2, 3 et 4 pour la planification du poker. En contrepartie, contre la Convention et contrairement à la discussion ci-dessus, les définit comme des journées de programmation (en réalité des jours de programmation, c'est combien de jours cela prendrait deux programmeurs travaillant ensemble sur la même machine pour compléter l'histoire de l'utilisateur). Si l'équipe pense qu'il faudrait plus de 4 jours pour compléter une histoire d'utilisateur, il ne reste plus que l'histoire pointue et que le propriétaire du produit est invité à travailler avec l'équipe pour rompre l'histoire plus loin ou pour la spécifier plus précisément pour que cela puisse être apporté dans cette gamme pour une future réunion de planification. Mais cela est avancé agile et ne devrait probablement pas être utilisé que par des personnes déjà expérimentées dans l'utilisation des autres techniques.

20
Encaitar

Wikipedia explique planifier le poker très bien. Permettez-moi de récapituler une partie de l'état de l'état d'accent mis sur votre cas:

Pourquoi planifier le poker?

Tout d'abord, vous devriez tous être à bord de la raison pour laquelle vous faites un poker de planification par opposition à une estimation "normale". La raison est en fait assez simple: nous aspirons tous beaucoup quand il s'agit d'estimer temps pour une tâche. À peu près, chaque étude a révélé que le cerveau humain est simplement incapable d'estimer la tâche qui prennent un peu de temps raisonnablement. (Aussi une raison, pourquoi les billets qui vont au-delà de 2-3 jours dans leur estimation sont quasiment sans valeur en termes de leur estimation.)

Pourquoi la complexité plutôt que l'effort?

Cela va de pair avec ce qui précède. L'effort signifie généralement temps , et nous suce à cela. Complexité est plutôt difficile de quantifier objectivement, ce qui est une bonne chose dans ce cas. C'est votre intestin qui vous dit que cette histoire sera complexe. Pour quelqu'un d'autre, il peut être moins complexe. Mais vous n'avez pas besoin de quantifier exactement à quel point c'est complexe. Vous n'avez pas besoin d'obtenir ce numéro X de complexité - par opposition à un effort chronométré, où vous devez éventuellement accepter qu'il faut X jours ou d'autres.

Pourquoi cacher les cartes?

Les cartes avec votre complexité GUENTATIME sont jouées cachées et ont ensuite révélé tout à la fois. Cela est fait pour vous assurer que vous n'êtes pas influencé par les opinions des autres personnes avant de faire votre propre estimation initiale. Si tout le monde a sur le même sentiment d'intestin en termes de complexité, vous avez terminé. S'il existe des nombres extrêmement différents, vous savez qu'il y a quelque chose à discuter caché là-bas. De cette manière, vous pouvez très rapidement traiter avec des histoires pour lesquelles tout le monde a la même idée de la complexité/effort requis.

Pourquoi les chiffres de Fibonacci?

Les chiffres de vos cartes sont généralement des numéros de Fibonacci ou d'autres types de séquences avec beaucoup de lacunes dans les numéros. Ceci est de vous faire respecter pleinement votre sentiment d'intestin. Si vous devez choisir entre 8 et 13, c'est beaucoup plus d'une déclaration que d'aller pour 9 ou 10 ans, comme mentionné ci-dessus, les grandes différences sont les problèmes cachés, donc en agrandissant les lacunes, vous augmentez la chance de détecter ces problèmes mieux.

Pourquoi cela fonctionne-t-il du tout?

Fait intéressant, les premiers fois que vous faites un poking de planification, cela ne fonctionnera pas. C'est aussi simple que ça. Que signifie "3" ou "5"? Il n'y a pas de définition pour ce que chaque numéro signifie (exprès!) Et il appartient à toute votre équipe de découvrir le sens réel de chacun de ces chiffres. Ce n'est qu'après avoir accepté d'estimer vos histoires dans ces numéros - et après avoir réalisé plusieurs d'entre eux - avez-vous une meilleure idée de lorsque vous devriez élever un 5 et quand c'est plutôt un 8 plutôt.

Une fois que vous combinez cela avec le concept de vitesse et la mesure de votre sprint progresse via ces points d'histoire, vous disposez d'une nouvelle nouvelle échelle d'efficacité qui est plus ou moins indépendante des estimations de temps traditionnelles.

Néanmoins, pour moi personnellement, le point de planification le plus bénéfique du poker est qu'en utilisant des numéros de Fibonacci au lieu des estimations de temps, vous avez beaucoup plus facile de détecter des incertitudes. Avec des estimations de temps classiques, vous n'êtes pas obligé de prendre des décisions "extrêmes" (en raison des lacunes de nombre), d'où les estimations peuvent être assez proches et l'équipe peut croire faussement qu'ils comprenaient assez bien l'histoire.

Exemple

Un exemple simple de ce qui se produit généralement, c'est qu'une histoire est présentée, puis une personne A apparaît avec une objection. C'est quelque chose sur les lignes ", n'oubliez pas que cette fonctionnalité affecte X et cela peut signifier qu'il est plus coûteux que ce que nous pensions jusqu'à présent". Le principal problème est qu'il y a toujours cette personne A à la table. Il y a toujours quelque chose que quelqu'un s'inquiète. Si vous avez une discussion ouverte à l'avance, vous n'avez aucune idée de votre taille de cette chose.

Si vous créez des estimations cachées en fonction de l'heure, cela devient un peu mieux. Mais toujours, une personne A avec une objection valable peut ne pas être une évidence claire dans son estimation. D'autre part, avec Planning Poker, la personne A doit penser davantage à la quantité d'un problème réel X. Pour deux problèmes différents, vous ne pouvez pas distinguer correctement leur importance par le "texte parlé de l'objection" ci-dessus. Même avec les estimations du temps, il est plutôt difficile de voir ce qui est plus un problème. L'espoir d'utiliser la planification du poker ici est que vous vous retrouvez avec une objection d'une objection seulement de 2-3 points différents des estimations des autres, mais l'autre objection qui a fini par 5 ou 8 points de la médiane peut être le incertitude la plus importante de votre planification de sprint.

8
Frank

Après des dizaines d'itérations dans mon équipe, nous avons compris que les points de l'histoire sont principalement sur la direction du projet à moyen terme. Ils permettent au propriétaire du produit de se projeter 2 ou 3 sprints à venir et de prendre essentiellement des décisions d'entreprise et d'étendue concernant une libération, sur la base d'une vélocité moyenne.

Nous avons découvert que les points de l'histoire ne sont pas tellement utiles au niveau du sprint, car aucune sprinte est similaire et prédisante à quel point le travail sera fait est impossible. Par conséquent, nous avons décidé que nous ne devrions pas être obsédés par la partie estimation et prenez simplement des sessions de poker de planification comme prétextes de conversation sur les fonctionnalités.

Cela conçoit avec un point fait par Mike Cohn ici .

En tant que note latérale, cela est vrai pour une équipe donnée, mais il n'y a aucune règle sur la manière dont les points de l'histoire vous aideront. Je vous recommande de vous faire d'abord - la méthodologie mais essayez de découvrir rapidement vous-même si et comment ils sont utiles. Les rétrospectives vous aideront à réfléchir à cela.

3
guillaume31

Le problème fondamental ici est qu'il est cassé. Le PM veut utiliser la planification Poker pour avoir une idée de la complexité de chaque histoire, avec l'intention de savoir à peu près combien d'histoires peuvent être installées dans un sprint (la vitesse de l'équipe).

En conséquence, c'est un "non basé sur le temps" qui est "basé sur le temps". Ce n'est pas étonnant que tout le monde soit confus.

Il y a des moyens de faire ce travail pour vous. Tout d'abord, oubliez les efforts et concentrez-vous sur la complexité. Oubliez tout de la durée pendant laquelle cela pourrait prendre pour développer et se concentrer à la place sur les zones de chaque histoire affecte. Si vous avez une histoire qui met à jour la DB, le code du serveur, le code client et la documentation du client, vous pouvez dire que c'est une histoire de 4 points. Si ce n'est qu'un changement à la DB SQL, alors son histoire de 1 point. Cela vous donne une manière plus compréhensible de déterminer la complexité relative entre des histoires. (Vous devrez proposer des mesures qui ont un sens pour votre situation, peut-être des exigences de couverture de test ou de la complexité de l'assurance-chômage)

Mon opinion est généralement que c'est que c'est une perte de temps inutile qui encourage simplement la planification de Sprint comme s'il s'agissait de mini projets de cascade. Qui se soucie vraiment du nombre de points d'histoire que vous pouvez intégrer dans un sprint? Si vous avez des histoires de gauche à la fin d'un sprint, vous venez de les faire dans le prochain. Compte tenu de cela, vous pourriez également simplement faire votre arriéré de la taille de chaque histoire exceptionnelle que vous avez et que vous les emporte progressivement au fil du temps. La livraison prend tant qu'elle prend (mais cela sera plus rapide si vous n'avez pas pris la peine de perdre 20% de votre temps dans des réunions d'arriétrage et de planification de sprint). À la fin du projet, personne ne se soucie de combien de points d'histoire ont été livrés. Ce que les gens se soucient d'être le projet livré.

3
gbjbaanb

Aussi, l'utilisateur Story pointant donne à l'entreprise une tête en termes de non-négociation de quelque chose. Si vous avez un mois pour terminer certains travaux, vous avez marqué 100 que vous pourriez avoir des problèmes. Cela vous donne également une chance de casser une histoire épique dans quelque chose de plus petit qui a toujours une valeur et peut être complétée dans un sprint.

0
user2143783