Understanding consumer behavior has been one of the greatest challenges for companies for a long time. It is important to know what your customer would choose out of all the given options. It makes it easier for companies to design the algorithms of automated systems that interact with customers. The customer use case is one of those methods companies use for this intention.
Before designing software, you have to create its functional specification. It shows all the functional aspects of the software which would be implemented through programming. Now, to design the functional specification, you have to also cover all the choices an end-user would make while using the system.
For each of these choices, how the system would respond will become the use case. So, in a nutshell, the customer use cases describe all the possible ways the user and the system would interact with each other for the user to achieve their goal. It was introduced by a Swedish-American computer scientist called Ivar Jacobson in 1986.
The use cases also cover all the ways things can go wrong along with the system’s response to it. So, a use-case model consists of three elements:
- The use case, which is mostly the goal or the desired functionality.
- The “actor” or the user.
- And the relationship between the actor and the system.
Why to use Use-Case?
Having understood the definition of the use case, below are a few reasons that define the purpose of a use case document.
- A use case document helps you understand the whole system in a functional way. This is like a blueprint of the requirements of the system.
- It helps you brainstorm all the possible ways an interaction would happen between the user and the system.
- It also comprises cases that can go wrong and how the system must behave in such cases.
- They provide a list of goals that can be used further to determine the cost and complexity of building the system.
- It establishes a mode of communication between the development team and the client. Through use-cases, they can clearly discuss which functions would become requirements.
- Use cases are useful for customer-centric brands who want to understand every step a user might take while visiting their website.
- It helps companies to create strategies for providing a greater customer experience.
Types of Use cases
There are basically two types of use cases based on whose functionalities or choices are defined through it. They are Business use case and System use case.
A definition of the business use case consists of the choices a user has while interacting with a system along with their goals. And a system use case shows how the system would behave in different scenarios.
Both of these kinds of use cases can be represented either in a textual form or through diagrams. The below list of examples would help you understand more clearly what a use case is in software development.
Textual use case example
An example of a textual form of a use case for software can be shown below. It shows the number of ways a customer interacts with the system to update their profile.
Use case Diagram
The below exhibit is an example of what does a use case looks like. It shows the interaction of a customer in an online shopping portal. The left-hand side actor represents the customer. The box in the middle consists of all the actions they take. And the actors on the right side are the system programs responding to every customer’s action.
How to write a Use Case Document?
Writing a customer use case is pretty simple. You just have to follow the natural logical flow to create it. The specific steps defined by Edward Kenworthy in his Use case modeling can be listed below.
- First, identify the different customers who will be the prime actors or the users of the website.
- Choose one of those users for whom you will create the use case.
- Identify what all goals the user wants to achieve on this website. It can be a very simple goal like purchasing an item or filling up the form. Each goal becomes a use case.
- For each of those use cases, define the normal course of events that a user will take on the website.
- Describe the basic course in the description of the use case. Describe what actions would a user take and how the system would respond to them.
- After the basic course, write all the alternate courses that can happen in the interaction between the user and the system. These would be added to the use case.
- Identify the commonalities among all the use cases. You can tag them as a common course use case.
- Repeat all the steps from 2 to 7 for all other users. It means for every actor you will have to create separate use cases.
Mistakes to avoid
Customer use cases have become much popular in the software development life cycle. But without a proper examination of the use cases and further evaluation of their applicability, they can turn out to be a major cost factor for organizations.
Hence proper investigation is needed before implementing the solutions through use case formations. A few of the mistakes which are common for the companies are as below.
On large projects, project managers assign different use cases to different teams for the development of the specific parts of the system. Since use cases are not object-oriented, they do not map one to one to the objects and classes of the project. Hence, multiple teams might produce redundant code for the variants of the same class. That results in the waste of efforts and productivity of the team.
Hence, the classes and objects must be the same for as many use cases as possible. And their attributes must be communicated to the team for reusability.
Gaps in the translation of use case to design and coding
The mode of communication between the use case developer and programmers is simple English. Hence, the translation of use case meaning into the design and programming of the software are dependent on informal human understanding of the use cases. This might not always be correct.
The user acceptance tests and system tests may also be not sufficient to test the programs comprehensively. Hence, the communication between the designers and coders must be sufficient enough so that both agree to the same understanding of the use cases.
While creating a use case may seem time-consuming, it is one of the best tools to bring different teams of the organization on the same page. Companies must know their customers in and out. Only then would they be able to provide service to their customers of par excellence. Every stage of the customer journey, be it marketing, sales, or customer onboarding, must have a use case.
Ónly through an accurate customer use case can you cover all aspects of user experience. Every interaction should add value to the customer and must help them proceed in their journey.
A comprehensive pre-analysis of all the possibilities of a customer journey is what separates a great organization from average ones. Once you get accustomed to it, it will add immense value to your business.