I often hear people equate the concepts of “Use Cases” and “User Stories”. Aren’t they pretty much the same?
Conceptually — yes. Practically — no.
Use cases, when done properly, represent a structured and rigorous approach to defining what a system will do when stimulated by external events. Use cases are broken down into scenarios where each scenario includes a detailed collection of steps showing what the actor and the system do to accomplish something of business value or process an error condition.
User stories are designed to be less rigorous. They often begin life as “epics” meaning they are high-level depictions that will need to be divided before the team can implement them. The user stories to be implemented during a sprint are very short and may not accomplish anything of business value individually. Delivering business value often requires implementing a theme, that is, a collection of user stories.
So, are “epics” or “themes” the same as use cases? Not really.
Use cases are intended to be detailed and thorough. Little is left to the imagination.
User stories are intended to be a starting point for further discussion and elaboration. They are intentionally incomplete.
Can you write use cases that are intentionally incomplete? Yes, that would be a “brief” or “casual” use case according to Alistair Cockburn. If you have a use case format that your team likes and you want to adopt an agile approach, try being brief or casual. Just resist the urge to keep going back and updating the use cases every time new information becomes available.
What about the opposite? Can you employ user stories instead of use cases? I suppose anything can work if you make the effort though in this situation the effort would be huge. Not recommended.
It’s human nature to draw parallels between concepts that appear similar to us. It’s fine to align use cases and user stories, as long as you understand the underlying differences and know what you’re getting into.
To learn more, see the use case and user story entries at Wikipedia.
It’s not so much a case of rigor as it is scale. Use cases are really just stories aggregated into one envelope. The starting point, as Cockburn points out, is the use case, whether you formally write it down or not. Then disaggregate to stories. No one really throws a dart and says ah-hah!, a story. They start with a context or scenario, even if only in the mind’s eye. However, the written use case, if just a narrative text or bullets on a template or white board, is a useful exercise.