Getting Good at Story Splitting
As I’ve said before, working in thin vertical slices is the key habit in Agile software development. Many people struggle to find vertical slices, but it’s a remarkably learnable skill. Teams can go from struggling to fluently identifying slices for features and big stories in their domain with only about 2.5-3 hours of practice. Of course, the quality of that practice time matters. Here’s how I recommend doing it…
Schedule two or three 1-hour practice sessions over the course of a week or two. Invite a whole team or at least a good mix of business and technical perspectives.
To prepare for the first session, look at your recent backlog from the last few months. Select a few stories or features you struggled to split but have now implemented successfully.
In Cynefin terms, these completed features are now ordered (complicated or obvious) because order emerged enough to implement them. Future work is likely to be complex and unordered. But that’s not important now. In this first practice session, your goal is to identify patterns for what makes features big in your domain. Going back to completed work is the key to the effectiveness of your practice.
In this first practice session, take one of the features or stories you selected, and walk through the questions in the story splitting flowchart together. Pretend the feature hasn’t yet been implemented but allow yourself to know what you now know about it.
If you find a good split with one of the patterns, don’t stop. Continue through the other patterns and try to find another possible split.
If one split doesn’t produce sufficiently small stories, try splitting those stories further.
After about 50 minutes, stop. For each of the story splitting patterns on the flowchart, review the examples you found in your own work.
If you didn’t find an example of a pattern in this session, take a moment to brainstorm examples from your past work. You’re trying to get a shared awareness of what these patterns look like when they show up in your domain.
If splitting completed features seemed easy by the end of this first session, you’re ready to move on to future items. If not, stick with completed items a bit longer. Find a few appropriate features before your next practice session. In that session, repeat the process above.
The hard part about this is that you actually have to treat it as practice. People are often hesitant to take time to work on developing a skill in ways other than formal training or learning by doing the job. Teams struggle sometimes to spend the time practicing splitting old features because the activity doesn’t produce a new work output—it doesn’t, for example, refine the upcoming backlog. But that aspect of the practice is the part with the most dividends in skill development. Don’t skip it.
After 2 to 3 of these sessions, you should get to a point where everyone can describe examples of each pattern in your work and quickly focus in on the appropriate pattern for future work.