Si vous avez planifié un certain nombre d'histoires d'utilisateurs pour un sprint et une histoire candidate dépend de certains fournisseurs externes offrant quelque chose à votre équipe. Par exemple, un fournisseur de services en ligne ajoutant un nouvel appel d'API à son système ou permettant à votre compte de test sur leur système ou de manière telle.
Tu sais que ça arrive "bientôt".
Allez-vous de l'avant et ajoutez-vous l'histoire à la Sprint en espérant qu'ils offriront ce qui est nécessaire à temps pour que vous puissiez compléter votre histoire o Attendez-vous le prochain sprint, quand vous savez que ce sera prêt Et vous pouvez commencer immédiatement même si cela signifie ne pas commencer l'histoire dès que possible.
Si l'ancien comment gérez-vous des points d'histoire "non gagnés" perdus à cause de la dépendance? Crédit partiel (Eek!) Ou prenez-le sur le menton.
En fin de compte, cela dépend de savoir si vous êtes convaincu que vous êtes convaincu que le fournisseur externe délivrera quelque chose que vous pouvez utiliser au moment où vous devez l'utiliser.
Si vous ne pouvez pas être sûr qu'ils livreront à temps, n'en ajoutez pas l'histoire au sprint. Cependant, juste parce qu'ils ont toujours livré dans le passé, il n'y a aucune garantie qu'ils livreront cette fois.
Vous devez informer le client que cette dépendance existe et que vous allez devoir attendre que l'API (ou autre) soit disponible avant de pouvoir planifier le travail.
Sur le côté plus, il peut y avoir des aspects de l'histoire que vous pouvez livrer - c'est-à-dire la casser plus loin jusqu'à ce que vous ayez isolé les dépendances autant que possible. Cela pourrait vous permettre de faire une partie de l'histoire avant que le fournisseur fournit son travail.
Une chose que vous pouvez faire est de créer une interface entre votre code et l'API tiers. Vous cochez votre interface afin que le reste du projet puisse continuer et que la vraie API utilise une simulacre pour renvoyer des données. Ensuite, lorsque la vraie API arrive, il vous suffit de changer le code derrière l'interface qui n'affectera pas le reste de l'application. Ne faites que cela si vous pouvez être d'accord avec le fournisseur de l'API que leur interface ne changera pas (au moins pas radicalement).
L'équipe est celle qui fait l'engagement. Dans notre équipe, si nous pensons que nous attendons (par exemple) un développeur externe, nous avons appris à dire que nous ne sommes pas disposés à reprendre l'histoire. L'histoire n'est pas dans un état d'ajustement de ramasser.
Theres une très bonne chance que la livraison tardive, inattendue ou différente de la ressource externe signifie que vos estimations et vos priorités pourraient changer.
Jusqu'à ce que vous ayez toutes les informations, l'équipe ne devrait pas être aussi naïve de penser qu'ils peuvent compléter l'histoire. S'ils disent qu'ils peuvent, alors il arrive tard, dans un format attendu, ou pas du tout, ils ont laissé tout le monde.
Cela semble dur mais je veux avoir mon point de vue.
Dans Scrum, il y a une définition de fait et il y a une définition de prêt pour des histoires d'utilisateurs. Dans une situation comme la vôtre, il est important de définir la définition de toutes les parties prenantes comprenant et d'accord avec. Par exemple, semble très raisonnable de faire une ligne dans votre définition de prêt comme:
Si vous avez besoin de cette API pour ajouter de la valeur à votre produit, la chose logique à faire de son attente jusqu'à ce que nous ayons vraiment cette API pour commencer notre travail. Entre-temps, nous pouvons faire d'autres États-Unis qui ajoutent de la valeur au produit, je n'aime vraiment pas cela des États-Unis avec des implémentations simulées et similaires, s'il n'y a pas de valeur réelle pour le client, il n'y a pas de nul, de sa perte de temps et de ressources .
Deux systèmes sont intégrés par les programmeurs, pas par la méthodologie elle-même. Si une entreprise a décidé d'intégrer un système externe, il y aura un contrat entre (minimum) 2 entités. Le contrat doit s'assurer que l'intégration a lieu . Par conséquent, si l'accord entre les entreprises, n'exige pas une collaboration technique entre les deux ministères, le problème n'est pas la méthodologie de développement. Le problème est la méthodologie commerciale (fondamentalement du contrat).
Cela dit, il doit être considéré comme un risque lors de la planification de ces cas et envisagez que vous ne connaissez pas le vitesse de l'équipe, vous aurez besoin de être généreux avec ces marges.
Si vous attendez quelque chose que vous ne savez pas encore que vous ne pouvez pas le planifier, même si vous êtes sûr à 100% qu'il sera livré demain. Pourquoi? Parce que si vous ne le savez pas, vous ne pouvez même pas estimer sa complexité et si vous ne pouvez pas l'estimer, vous ne pouvez pas le planifier.
Si vous avez défini une "interface"/"contrat" Upfront, qui doit être suivie d'une société externe, vous pouvez le planifier et créer un service simulé de votre côté. Votre développement utilisera le service moqué afin qu'ils ne soient pas dépendants de la livraison externe. Le développement toujours avec des simulacres doit être planifié pour Sprint lorsque le service réel sera livré car la fonctionnalité développée et testée contre des simulaires n'est pas terminée - elle doit être testée avec le service réel à considérer comme terminé à la fin du sprint.
Si cela ne dépend pas de votre équipe et que vous pouvez effectuer d'autres tâches, je vous conseille de ne le prendre que lorsque c'est prêt. Même si vous avez eu un service Web de maquette, un schéma, une interface et/ou un contrat, cela peut toujours rompre (rappelez-vous la loi de Murphy?).