Business Analysis Quick Take
Use Cases and User Stories
How to Elaborate Requirements through Use Cases and User Stories
Hello, I'm Dr. Martin Schedlbauer and I'm a senior trainer and consultant with Corporate Education Group, a leader in corporate training and professional development.
Use cases and user stories are both excellent techniques for understanding what a user needs from a product. While both have a similar purpose, use cases and user stories are not meant to be used interchangeably. That is why it's important for a business analyst to understand the difference.
The older of the two techniques is the use case, which captures usage scenarios. In other words, a use case documents how an individual uses a product to accomplish something of value. For example, a customer is using a training company's online registration portal. Within the portal, the customer has the ability to "enroll in a course", "view the schedule" or "cancel a registration". Each of these actions is considered a use case.
Typically, a business analyst examines each use case to identify the usage scenarios that need to be accommodated by the portal. The analyst is tasked not only with thinking about the "normal" scenario, but also what would happen if a course was full, not offered near the customer or only available online or on site. The business analyst then documents each of the scenarios along with how the product should respond. The result is a requirements specification that is use-case centric. This technique works well for projects where functional requirements and usage scenarios must be — and can be — specified upfront. However, what if you can't know the requirements upfront? Or the requirements are vague, unknown or will only emerge as the product is implemented? In those cases, user stories are more effective.
In a user story, the user and what they need the product to accomplish is also specified, but in contrast to use cases at a much higher level. Many business analysts use a template to help express user stories consistently. A template might use the scenario of a customer wanting to register for a course close to home so he won't have to travel. The story expresses need and purpose. However, stories are not elaborated until the implementation phase when the detailed functional requirements are better understood. Consequently, user stories work better when requirements are expected to emerge over time.
In practice, you'll most likely use both use cases and user stories. Recognizing which technique is best suited to your situation is the key.