Before a user story is ready to be scheduled for implementation in an upcoming iteration, it should be “small enough,” the usual rule of thumb being “a story that can be completed within the iteration”. However, many user stories start out larger than that. “Splitting” consists of breaking up one user story into smaller ones, while preserving the property that each user story separately has measurable business value.
There is surprisingly little consensus on how to split stories, possibly because approaches to doing so are sensitive to business domain. The following is a sample of postings on the topic: