Often during sprint planning we struggle with story size. It’s a bit like Goldilocks – either too big or too small, never just right. In this post I’m going to examine the first case, stories that are too big.
Mike Cohn has a group of techniques he calls SPIDR. This is an acronym for Spikes, Paths, Interfaces, Data and Rules. Let’s look at these in more detail.
Quite often the reason we can’t split a story is because we don’t have enough information or we just don’t understand it. In this case we create a Spike (a short investigatory piece of work) and time box it to a couple of days. Once that time is up we either report back with more detail to help split the story or we go back to the Product Owner for more guidance.
Sometimes our Product Owner or Architect will have a flow diagram that outlines the system. From this it’s easy to identify the happy and unhappy paths through the application. In order to split the story we would typically start with the happy path and work from there.
Our applications typically have a user interface implemented through a browser. When we split by interface we can choose to implement by browser type or maybe by device type if we’re considering mobile or desktop platforms. Other times we can split by the amount of functionality we put into the interface. It might make sense to provide simpler functionality or less styling in the beginning.
We may be able to split if we have subsets of data. For example we may have a website that only deals with certain types of customers such as pensioners or students, or people in certain locations or country.
All applications have business rules. One way of splitting a story is to remove the need for a specific rule if it makes the story implementation easier. You can then add another story that fully implements the rule later. For example, in a financial application we may have a rule that a user can only perform a limited number of financial calculations per day. Our story could relax this rule for the first implementation.
Working on user stories is always easier when they are the right size. Now we have five useful techniques for splitting stories; Spikes, Paths, Interfaces, Data and Rules. See my other post for what to do when a user story is too small.