A use case describes how an individual interacts with a product, system, or business. For instance, if you run a home improvement store, you’ll likely cater to two main use cases: those who want to buy items for DIY home repairs and those who are professionals looking to buy materials. There can be any number of possible use cases a business may look at, and they will likely focus on the interactions between the business and its external entities, such as customers, suppliers, or regulatory agencies. Business use cases are great for helping organizations figure out how to cater to specific needs.
There are also use cases that describe how an individual interacts with a system, such as a website or an app. Take our same home improvement store example, but make it an app. Obviously, one use case will be placing orders. But another use case might be educating the less experienced renovator, in which case, you would need to determine how the app will respond to the needs of that use case.
Use cases are a way of making sure that businesses meet specific goals and keep systems developed in line to serve those goals.
What is the purpose of a use case?
The purpose of a use case is to make sure that user requirements are being met.
In our hardware store app example, the main need of customers is to place an order for goods that are then delivered to a specific address. But say the app developers were never told the specifics of what the app was meant to do. What if they were only instructed to make a home improvement app and all it did was provide design inspiration? The customer needs wouldn’t be met.
Once a use case is developed, it reveals requirements that then:
-
Inform design and development: A use case helps developers know what the system should accomplish and how it should function.
-
Guide communication: A use case serves as a common language to be spoken by everyone from developers to designers to clients. It answers the question, “What are we doing?”
-
Guides user experience: A use case is a foundation for user interactions. Knowing what kind of users will be using the system informs features and design so that user interfaces are intuitive, efficient, and aligned with users' needs and expectations.
-
Prevents scope creep: A use case can help you prioritize the most important features and functions while eliminating those that the users don’t need.
History of use cases
In 1987, Swedish computer scientist Ivar Jacobsen explained how the company Ericsson was creating use cases to detail system requirements, and the term “use case” was further solidified in Jacobsen’s action-packed book Object-Oriented Software Engineering - A Use Case Driven Approach.
Use cases became an integral part of several software development processes, such as the Rational Unified Process (RUP), which emphasized iterative and incremental development based on use case-driven requirements analysis and design. Then, with the widespread adoption of Agile and Lean methodologies, use cases became central to figuring out how to deliver value with every iteration. Modern approaches often combine use cases with other techniques, such as user stories, to capture requirements and drive iterative and collaborative development.
On nearly every team in nearly every industry, you’ll hear use cases brought up regularly. They’re fundamental to product development and building business value.
What is a use case scenario?
Use cases and use case scenarios are similar concepts but are not the same. A use case describes the interactions between users and a system to achieve a specific goal or task. It breaks down the interaction between the system and user into a sequence of actions that a user takes to accomplish a particular task along with the system's responses or outputs.
A scenario, on the other hand, details how the use case plays out in the real world. A use case is a general description while a scenario is very specific. The use case for a shoe app would be “process an online order,” while the scenario would be, “Jane adds a pair of clogs to her shopping cart, goes to check out, adds in her payment info, then completes the order.”
Use case vs. user story vs. test case
A user story differs from a use case in that it really puts the human element front and center, using brief, simple descriptions of a desired feature or functionality written from the user's point of view.
User stories are stated as short sentences, such as “As a [user role], I want to [action] so that [benefit or goal].”
A test case is tangentially related to a use case. A test case is a specific set of conditions or actions that are executed to verify that a particular functionality of the software behaves as expected.
For instance, if you want an email confirmation sent out after each user submits an order, that would be a specific test case. Test cases stem from use cases to validate that the software meets the specified requirements and functions correctly under various scenarios. Test cases are very granular while use cases are more holistic.
How to write a use case
-
Describe the system: Will this be desktop or mobile? Android or iPhone? Detail everything about the system itself.
-
Identify the actors: Actors can be users, external systems, or other entities that interact with the system.
-
Define the goals: Determine the goals or tasks that the use case will address. What specific functionality or feature of the system does this use case describe? Keep it to one main goal per use case.
-
Create a use case scenario: Outline the sequence of steps or actions that the primary actor will take to accomplish the goal or task described in the use case. Use clear and concise language to describe each step, focusing on the user's interactions with the system.
Use case examples
Here are some common use cases that you’ve likely encountered:
Banking system
Use case: Withdraw cash
Actors: Customer, ATM
Preconditions: The customer has a valid bank card and PIN.
Basic flow:
-
The customer inserts a bank card into the ATM.
-
ATM prompts the customer to enter a PIN.
-
The customer enters the PIN.
-
ATM authenticates the PIN.
-
ATM displays options, including "withdraw cash."
-
The customer selects "withdraw cash" and specifies the amount.
-
The ATM dispenses cash.
Social media platform
Use case: Create post
Actors: User
Preconditions: The user is logged into their account.
Basic flow:
-
The user accesses the "create post" functionality.
-
The user composes post content and adds media.
-
The user selects privacy settings and audience.
-
The user clicks "post" to publish.
Postconditions: The post is published to the user's profile and is visible to the selected audience.
E-commerce platform
Use case: Place order
Actors: Customer, system, warehouse staff, shipping carrier
Preconditions: The customer is logged into their account and has items in the shopping cart.
Basic flow:
-
The customer selects "checkout."
-
The system verifies item availability and prompts the customer for shipping and payment information.
-
The customer provides shipping and payment information.
-
The system processes the payment and sends order confirmation.
-
The warehouse staff prepares items for shipment.
-
The system generates a shipping label and notifies the shipping carrier.
-
The shipping carrier delivers the package.
Postconditions: The customer receives the order, payment is processed, and the order status is updated.
Create a use case model or diagram
Once you’ve identified your actors, you can use our use case template to help guide you through the rest of the process. A template is the most helpful visualization to determine what’s missing from the use case and invite others to contribute. Plus, you can easily share your use case template.
Use cases are critical to understanding system requirements from the user's perspective. Once you have solid use cases defined, you can use them to guide system design and development. You’ll also find they open up effective communication among stakeholders, ensuring alignment and shared understanding of project goals.
Get started easily with a use case template.
Try templateAbout Lucidspark
Lucidspark, a cloud-based virtual whiteboard, is a core component of Lucid Software's Visual Collaboration Suite. This cutting-edge digital canvas brings teams together to brainstorm, collaborate, and consolidate collective thinking into actionable next steps—all in real time. Lucid is proud to serve top businesses around the world, including customers such as Google, GE, and NBC Universal, and 99% of the Fortune 500. Lucid partners with industry leaders, including Google, Atlassian, and Microsoft. Since its founding, Lucid has received numerous awards for its products, business, and workplace culture. For more information, visit lucidspark.com.