Disclaimer: I have read this post, however, I am still unsure about it.
What we did in the past: When a story was unfinished at the end of the sprint, we duplicated it (along with the child task), rolled it over, kept the original estimate in the story and reduced the original estimate of the copied task to the remaining of the task in the last sprint. This has several issues:
- (I think) statistics and calculations are unusable if this happens often
- Devs completed a lot about this, because with the copy, all the comments and related information was either duplicated or lost - no one knew where to post stuff. We have a policy of linking the user story to the PR - which one do you link in the end - there are two for the same thing.
What we do now: We keep the original story where it is, and close the associated task (Set remaining to 0). We then copy the task, roll it over and enter the remaining from the original task.
This works a lot better, as there is now only one user story, which keeps all relevant information in one place. But, how does this affect velocity and other metrics? I am not too much in love with them - still I'd like to have them somewhat useable.
I spotted that this also creates some uncertainties - e.g. in the backlog. I have stories in the backlog from the last sprint, simply because it rolled over.
Would it be a feasible strategy to do the following?
- Roll over the story to the next iteration
- Keep the task in the current (elapsed) iteration
- Create a new task under the story and roll it over (with the remaining as the new estimate)
Effectively what we do now, except that I also roll over the story (parent of the task)
Does this mess with statiscis (burndown, velocity) too much? Is there an inherent thing in AZDO which breaks by doing this? Unfortunately I was not able to find a "recommended" way in the docs, apart from copying (which I consider messy) or moving the entire story.