Editor’s note: This post was last updated on 20 January 2025 to include a downloadable template, updated examples, and a focus on real-world applications.
For requirements gathering and high-level stakeholder communication, product managers need to understand and articulate how a consumer will interact with a system or product. A use case serves as a crucial tool for this by providing a structured description of the product’s users, how they interact with it, and what it does.
In this guide, I’ll define what a use case is, describe its elements and what they are designed to do, and walk through how to build a use case step-by-step.
I’ve also included some real-world examples of use cases from different industries and built a downloadable template for you!
A use case is a detailed description of how a user interacts with a system or product to achieve a specific goal. It outlines the step-by-step flow of actions that lead to a desired outcome and can help identify potential issues, such as failure scenarios or exceptions.
While often used in software development, use cases can serve as essential tools in various fields, including project management and business analysis, to clearly define requirements, user needs, and system behaviors.
Uses cases come in two primary types:
It’s important to remember that use cases are different from other tools you might come across in product development. They’re not the same as user stories or basic feature lists.
While both user stories and feature lists describe what a system can do, they don’t provide the same level of detail as use cases, which outline the full interaction process — errors, exceptions, and all:
Use cases, on the other hand, go beyond just listing features. They provide a full roadmap of how the user will interact with a system, including what happens in different scenarios, what to do if something goes wrong, and how things should flow to meet the goal.
Use cases are a valuable tool across different areas of product management, development, and testing. You’ll find product managers, developers, and even business analysts using them, but each group tends to use them in slightly different ways:
In short, everyone contributes to use cases in their own way. Product managers focus on the user’s perspective, developers refine them with technical details, and business analysts make sure everything stays on track and gets tested properly.
A use case is designed to reveal the system’s demands early on in the process, helping everyone get on the same page from the start.
Use cases focus on how users interact with the system, not just the system itself. They’re written in plain language, which means they’re understandable to everyone involved, not only developers and testers, because they are mostly narrative prose. This includes customers, users, and even executives — so it’s a great way to get all stakeholders aligned.
When you’re in the early planning stages, it’s important to bring in the right roles — like business analysts or product managers — who can help solve specific problems. This helps get end users on board with the solution and reduces the chance of unexpected surprises later on.
Each use case typically covers only one application of the system. The real value here is that use cases also shine a light on potential issues right off the bat. By identifying these exceptions and edge cases early, you save time and effort in the long run. This is especially useful for improving software resilience because considering alternative flows helps prepare the system to handle things that might go wrong.
Once you’ve created a use case, it can guide the development of other important components, like object models, test case definitions, user documentation, and project planning (think cost, complexity, and scheduling estimations).
And this is where traceability comes in. Use cases connect the dots between business requirements and testing frameworks, making sure that what’s being built aligns with what’s needed.
Let’s break down the components of a typical use case and explain each component’s purpose and objective. I’ll also talk about some advanced elements to help you build more comprehensive use cases:
Actors are the people, teams, or systems interacting with your system. An actor could be:
The primary actor is the one initiating the interaction to achieve a goal using your system.
Your system is the framework within which actors interact to achieve their goals. It’s like the stage on which your actors perform. Examples could be a patient portal, an online banking platform, or the checkout process on a retail website.
The results of an actor’s interactions with the system are your goals. Examples of goals could be:
Your system may produce several outputs in some circumstances while only producing one in others. Before continuing, consider modifying your method if you encounter any barriers to achieving your goal.
Preconditions are assertions or realities that specify what must already be true or set up for the use case to proceed.
For example, let’s say an online shopper clicks on a product to get a detailed description and customer feedback. The ‘Add to Cart’ button won’t appear until the item is in stock and accessible at the warehouse.
Preconditions like these ensure that the system and user are in the right state for the use case to function correctly.
Triggers are the events or conditions that initiate a use case. These can be user actions, system processes, or external events. I’ll take a few examples:
Triggers like these mark the start of the interaction flow and are essential to define when a use case begins.
The basic flow, or the main success scenario, outlines the steps where everything works perfectly as intended with no exceptions or mistakes. This frequently serves as a starting point when developing various features.
A basic flow for a healthcare app would be a patient scheduling an appointment, getting confirmation, and receiving reminders. For a finance app, it would be — a customer successfully logs in, transfers funds, and gets a transaction receipt.
Knowing how a typical scenario operates can help write accurate code and develop alternative flows.
Alternative flows describe deviations or exceptions to the basic flow. They typically manifest when a system-level error occurs.
In this section of the use case, you list the most probable or noteworthy exceptions an actor might make. Alternative flows might include:
If you’re including alternative flows to your system, you ensure it can handle unexpected scenarios gracefully.
Post-conditions define the state of the system after the use case is completed — whether successfully or not. Some examples could be:
Post-conditions confirm the outcome of the use case and ensure the system transitions smoothly to the next state.
A use case diagram visually represents how actors interact with your system and the goals they aim to achieve. The most common elements include:
An example of a simple use case diagram for a medical clinic application might look something like this:
A more complex use case might look like this:
Creating effective and clear use case diagrams can be a bit tricky. Here’s how to keep it simple and useful:
A lot goes into writing a use case. It starts with the basics — understanding your users and their goals — and extends to advanced techniques that ensure your system is robust and ready for the real world.
Here’s a step-by-step guide to writing use cases, complete with practical tips, advanced steps, and common pitfalls to avoid.
Doing this is important to ensure system resilience. While the primary flow addresses typical user behavior, edge cases cover unusual or unexpected scenarios. To identify them:
Use cases are a goldmine for creating test cases that cover both typical and atypical system behavior. To do this:
When working with APIs or complex systems, use cases should clearly define interactions, focusing on what each actor expects and delivers. Here’s how:
You can use the template below to assist you in writing your own use case:
Click here to access this use case template (File > Make a copy).
Here are a few examples of how use cases can be applied in different industries:
In the healthcare industry, use cases can streamline patient care processes and enhance communication between medical staff. An example use case:
In the EdTech industry, use cases can improve student engagement and streamline learning experiences. An example use case:
In the finance sector, use cases can help in outlining the user interaction with financial systems. An example use case:
In the ecommerce industry, use cases can improve the user shopping experience. An example use case:
In software development, use cases can assist in understanding user interactions with the software system. An example use case:
In the transportation industry, use cases can simplify booking processes and improve rider and driver satisfaction. An example use case:
And, of course, writing use cases can feel a lot easier when you have the right tools to map everything out. Whether you’re sketching simple diagrams or managing complex workflows, there’s a tool for every need. I’ll share some of my favorites and what makes them great:
Miro is perfect for sketching ideas and building use cases with your team. What’s cool about it:
Lucidchart’s for when I need polished, professional diagrams because it:
This one’s a bit more advanced and perfect for tying your use cases to real project tasks and testing. Here’s why:
A classic for a reason, Visio is great for creating professional diagrams. It:
A use case is a detailed description of how users interact with a system to achieve a specific goal. It includes actors, goals, preconditions, and step-by-step flows of events.
A use case example could be a customer interacting with an ecommerce website to search for a product, add it to the cart, and proceed with the checkout process.
Other terms that might be used interchangeably with “use case” include — scenario, workflow, interaction flow, or user interaction model.
To write a use case, you need to define the actor, the goal, the preconditions, the main success scenario, and any alternative flows.
The main components of a use case include the actor, system, goal, preconditions, main success scenario, and alternative flows.
Some advanced techniques include:
In agile, use cases support iterative development by breaking down interactions into manageable chunks. In waterfall environments, use cases provide a structured blueprint for requirements gathering and system design.
A use case provides a detailed breakdown of an interaction, covering all scenarios, preconditions, and flows. A user story, on the other hand, is a short and simple description of a feature from the user’s perspective, often written as: “As a [user], I want [action] so that [goal].”
Use user stories when you need quick, high-level insights into what users want. Use cases are better suited for detailed workflows, especially in complex systems with multiple actors and flows.
Use cases are important because they help to understand the requirements of a system from the user’s perspective, ensuring that the final product meets user needs and expectations.
Use cases are a game-changer for aligning teams and building better systems. They make complex processes easy to understand by focusing on user needs and interactions.
For product teams, they clarify goals. For developers, they guide features. For testers, they map directly to test cases, ensuring nothing slips through the cracks — even edge cases and alternative flows. Use use cases for:
To help you get started, here are some resources:
LogRocket identifies friction points in the user experience so you can make informed decisions about product and design changes that must happen to hit your goals.
With LogRocket, you can understand the scope of the issues affecting your product and prioritize the changes that need to be made. LogRocket simplifies workflows by allowing Engineering, Product, UX, and Design teams to work from the same data as you, eliminating any confusion about what needs to be done.
Get your teams on the same page — try LogRocket today.
A well-defined customer discovery process serves as the foundation for building products that customers truly want.
Jonathan Conta talks about how he’s led up teams that transform modern surgery by leveraging robotic assistance to improve patient outcomes.
While continuous discovery usually triumphs over fixed, long-term research projects, it doesn’t mean the latter has no place.
When used correctly, AI can transform market research from a time-consuming necessity into a competitive advantage.
2 Replies to "What is a use case? Definition, template, and how to write one"
ok. This was useful
Thank you for this