User-Story Sizing: How Small is Small Enough?

The S in the INVEST mnemonic is a reminder to make your user-stories small. The trick is in knowing how small is small enough. The rule here is to make the story as small as possible, yet that it retains some measurable amount of intrinsic value — something that, when demonstrated to the end users, they’ll agree is an improvement to the system. Conversely, if you break a story into two pieces, but there is no value to be had until both pieces are completed, then that’s too small. The stories should be recombined — or split another way.

What if breaking a story into pieces violates the I in INVEST (Independent)?

If you can split a story into two pieces such that the first piece delivers some value, and then the second piece adds more value, that’s fine, even if the second piece expects that the first piece is already in place. When two or more stories have to be implemented in a certain sequence, we say that those stories are part of an Epic. So, when the INVEST mnemonic reminds us to make our user-stories independent, it’s not saying that we can’t have epic-style sequencing. What it’s saying is that each story has to deliver its own amount of measurable value. The Product Owner should be able to cut off production at any point in time, with any number of stories within an epic left undone, and yet the stories of that epic that were delivered to that point were (are) intrinsically useful.