use cases, personas and sagas, user stories, scenarios, storyboards, test cases... oh my!

[Just thinking aloud here, that's what a blog is for, isn't it?]

I like use cases because they are great for modeling scope.

Once you have a use case, with its basic flow and alternative flows, then you can discover the most important paths through the basic and alternative flows, and clearly mark out the key scenarios.

Each one of these key scenarios corresponds to a single test case. So each use case has one or more key scenarios and the same number of test cases.

These test cases are what the customer and the developers must write together based on a user story which is going to be implemented.

But we have a little problem.

While you are trying to define scope, you have asked the customer to write a series of "user stories" to subjectivize the interaction between the users and the system to be developed, and to find out what kind of system behavior the customer/user/stakeholder really expects. But they get carried away with the user stories, which is great, because the creative juices get to flowing, and you as architect/lead really start finding out what the customer really wants.

But what they write are not user stories. They are sagas, or personas. They cover much more than a single scenario. They may cover up to about ten scenarios, so their granularity is useless for scenarios, and the attempts to write storyboard units on the basis of such long texts get bogged down very quickly.

What is needed is a way of mapping and integrating the two paths of investigation and modeling: scope, use case, scenario, on the one hand, with persona texts ("Susan creates her first online shop") out of which the scenarios emerge and can be abstracted.

Taking into account also a few more factors, this could be seen visually as follows:

Process WorkflowProcess Workflow