There are a lot of good reasons to try to break down user stories into smaller ones (think INVEST model!), but here is one really compelling one: the smaller your stories are, the more likely you are to complete them! Here’s an example on how to think about it:
Let’s say your team looks at the backlog and says they can complete 5 stories in a given sprint. Let’s say those 5 stories are somewhat large. We’ll visualize the stories like this:
The sprint starts, and let’s say disaster strikes and we are only able to complete half of every story.* At the end of our sprint, our stories might look like this (with green indicating completed work):
At the end of our sprint, we delivered exactly no value – zero completed stories.
But what if we broke all these stories in half? We’ll start with this:
Same amount of work to be done, but we’ve spilt our stories out a bit more to a finer grain of detail.
Let’s say we have the same situation – a sprint starts, then disaster strikes, and we only finish half our work. Our stories might look like this:
In this scenario, we finished the exact same amount of work, but were able to get 5 of our stories to completely done – we actually added value.
*Granted, this example is slightly contrived – completing stories also largely depends on how many stories you get in progress at any given time – which should be a small number – but the point remains – smaller stories let you get to “done” quicker, and ensure that a sprint delivers value.