Many new agile teams will encounter difficulties when dividing user stories into small pieces to make better use of agile technologies. AgilityCommunityMore than oneArticleIt provides guidance on how to effectively split user stories.
When we split a huge user story into small pieces, are there some general guidelines for us to follow? Rachel Davies recommends splitting each user story to make the software output:
- Ability to work
- Delivered Value
- Can effectively get user feedback
Richard Lawrence provides the following technologies that he believes are useful when splitting large user stories:
- Split the story based on the steps in the workflow-a simple first-and-last-loop use case may be used as a story, and other steps in the workflow may be used as separate stories.
- Splitting stories makes every change in business rules a story of its own.
- Split the story into "implement the first [x]" and then "implement other [x]". This method can be applied when the first [x] is more effort than all [x] after implementation.
- In the face of complicated stories, the simplest version of the story is divided into separate stories.
- Split by the Data Types operated by the story.
- Split the story by finding the difference between a simple data input method and a more complex method.
- Transfers the performance of the current story to one or more new stories.
- Split the story according to create, read, update, and delete (crud.
- The last method creates a spike story to describe how to implement features.
Rachel Davies provides details about how to split a story based on input/output data:
- You can create a story for each input page.
- You can create a story for each available element on the input page.
- You can create a simple (not very beautiful) UI.
- You can create a command line interface.
Bob Harman also provides the following techniques for splitting stories:
- In the story involving multiple roles, divide them based on the roles.
- Split the story to separate the high-risk and low-risk parts.
- Split stories to maximize the number of developers who can work on each story.
- Split stories to facilitate testing.
What do you think is the most useful way to split user stories?