So the question was posed to me the other day; “What do we do with this unfinished user story?”
Before I discuss my response, there are several key things worth covering when having this discussion about user stories, call them Agile/Scrum user story SOPs (standard operating procedures)
- Most stories will be moved in their entirety (all tasks included) to the next sprint
- Breaking a story down into separate development and testing stories is Water-Scrum/Agile at its core– don’t do it
- If the finished and unfinished parts of a user story don’t fit the I.N.V.E.S.T. principles (Mike Cohn) of story writing separately on their own, they probably can’t stand as a separate stories
Here is what I ask when the question of what to do with unfinished user stories was posed to me:
Is there any value to delivering the competed part of the story independently of the unfinished part?
If #1 is true, can it be or has it been successfully validated to provide the value requested in the user story, and does it maintain a “do-no-harm” status if deployed independently from the unfinished portion of the story?
Is there any part of the completed story that can be delivered to production (do no harm) on its own that has value as an independent piece and not violate any of the three SOP items listed above? If the answer is no, then it simple; the entire story and all of its tasks should go back to the Product Backlog for prioritization against all remaining work. Most often, then only time a story can be broken out into two separate stories once it has been taken into an interation / sprint is when one or both of the following situations arise:
- The story was too big and should have been two stories to begin with based on what was known at the time
- Natural discovery once work started on the story revealed that there was more to the story than was discussed during the grooming and planning sessions prior to the beginning of the iteration / sprint
Though not always the case, both of these situations are usually the result of a story being taken in before it was fully vetted out.