I have to write a user story for a requirement that involves passing search filters to the same URI and retrieving corresponding results.

I have 5 filters.

I plan to write 5 different stories of type: As a URI user I can search by #filter1 so that I can retrieve results based on #filter1.

And then a 6th story that involves searching one or more or all six filters in conjunction.

Is this is a sensible route to take?

2 Answers 2


If you keep it as one single user story and you only get 4/5 filters done at the end of your sprint, then your single story is incomplete. If you split it, then if you get 4/5 filters complete, then 4 out of 5 stories can be marked as finished.

When I get stories like this, that have n features of a similar nature (such as your 5 filters, or some transformations, or some data processors, ...) I like to split them into a separate story for each feature so that if one of the features runs into unexpected problems, I can move the other stories to completion. It's more for adminstrative reasons than it is for technical, I suppose, and the administrative overhead is a bit larger when it's done this way, but it makes it easier to track the work that is done or not done, and the progress of each story.


When I was being indoctrinated to UML (which is a different methodology but I still like this lesson) the premise of a Use Case was: "Someone comes to the system, does something of business value, and then goes away." That provided a nice boundary between use cases, because it divvied the work up into a number of more or less complete process flows.

Start at A, do this and this and this, end at B. If you can't get to B, throw an exception. Getting from B to C, or from A to X, are different flows.

I like the same boundaries with agile stories, for the same reason. So, from your example above, a user might come to the system, invoke filter 3, and then walk away. They may never invoke filter 2, which suggests 2 different stories.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.