Working from a prioritized backlog of small user stories allows a team to get value and high-quality feedback on frequent intervals. Many teams struggle to split large user stories into small stories in a useful way. Instead of ending up with small vertical slices through their architecture, they get stories that look more like tasks or architectural components and fail to experience the value or feedback small stories should provide.
Fortunately, story splitting is a skill that can be learned in a relatively short time. I’ve seen teams go from struggling to fluently splitting stories with just a couple hours of practice and some simple tools. To help you learn story splitting, I’ve provided some resources here.
Patterns for Splitting User Stories is my original article that outlines 9 kinds of functional complexity in large stories and approaches to split through each one. It has a cheat sheet of example stories for each pattern.
My How to Split a User Story poster walks through the questions I use when coaching a team to split their own stories.
I do story splitting somewhat differently depending on the complexity of the original story. See Cynefin and Story Splitting for more on this.