Irrespective of which business they belong to, project managers have a lot at stake in ensuring their projects’ success. One of the key and basic requirements for any project to succeed is clear, concise, and complete product requirements. Often project managers struggle with gathering the complete requirements while staying within their project budget and timelines. Some of the other major struggles that they face include defining the ambiguous requirements, how to ensure that the requirements don’t change after the initial ones have been defined, etc. One of the best ways to overcome these struggles is to make use of use cases. 

In this post, we will take an in-depth look at what use cases are, their key components, why project managers should take advantage of use cases, and more. 

What are Use Cases?

Use Cases
Source: Cacoo

In order to ensure that they have all the product requirements in a clear and concise form, they need to have a structure in place. This structure helps in simplifying and enabling detailed requirement discussions between the clients and the service providers. It provides results that are useful for developers, designers, and end customers as well. Use cases are the primary foundation of this structure, and PMs can modify these use cases as per the changes that occur during the project life cycle. So, what exactly is a use case? 

If you search for the definition of a use case, you will come up with several results, such as “behavior of the system that produces a measurable result of value to an actor“, “a behavior of the system that produces a measurable result of value to an actor“, “description of a set of sequences of actions and variants that a system performs that yield an observable result of value to an actor“, “a set of scenarios tied together by a common business goal“, etc. Though all these definitions are self-explanatory, if you have to simplify it, a use case can be defined as a description of all the different ways in which the end-user wishes to ‘use’ the system.

The term ‘use’ in this context refers to the various requests to the system, while ‘use case’ refers to a description of what the system will do when it receives the request. So, another way to describe use cases is to describe the conversation between the system and its users (usually referred to as actors). We will learn more about these components in the next section. Though most of the systems are automated, use cases can also be used for business processes, equipment, devices, etc. Here are two examples to give you a better understanding of use cases.

  • Our example is that of a microwave. The end-users or ‘actors’ can use a microwave for various purposes, such as boiling water, heating up food, cooking dishes, defrosting frozen food items, etc. Now each of these can be considered as a ‘use’ and they can be described in a use case. So, when we wish to heat up food, we let the microwave know what we want, and then the microwave performs the request and notifies the end-user.
  • Our second example is that of an automated order system. The end users can use an automated order system to create orders, change the orders, choose items, check item availability, delete orders, etc. A use case in this scenario refers to the description of each of these ‘uses’ or functionalities. 

Use Cases – Key Components

As mentioned in the previous section, there are a few key components, namely system, actors, use cases, and interfaces. Let’s take a detailed look at each of these components.

System

A system, as defined by Scheider means “everything you plan to create”. To simplify, a system basically refers to the boundary of an application. It contains all the work that you wish to perform in a project. This application boundary or system helps in determining the scope of the project. Based on various researches, it has been observed that it is more advantageous to focus on the system rather than on ‘actors’. By having a clear understanding of the system, it is easier to establish the project scope, determine any project risks, and gather all the requirements. Defining and determining the system is considered one of the key foundations of every project as it also helps in establishing the actors. So, if you take a look at the previous examples, you can clearly identify that the microwave or the automated order system is the system.

Actors

An actor in this context can be described as an external entity that directly interacts with the system. An actor can either be a person, time, or any other system as well. So, if we take our automated order system as an example, there are multiple entities that can be classified as actors – a customer representative who enters an item number, when the order system uses its inventory system to check the item availability, then the inventory system is the actor, if a monthly report is processed through the order system, then time is considered as the actor, etc. 

  • People/Roles Actors – When we talk about people as actors, we need to understand that it is better to identify them based on their roles like the customer, employee, technician, installer, manager, etc. It is better to define or describe people by the role or the interaction that they wish to have with the system. This in turn will make it easier to differentiate between the various actors.
  • System Actors – System actors refer to any automated device that interacts with the system. For example, it can be another computer, interface devices, etc. So, if you have a system that is responsible for scanning and reading data from cartons, then the devices that are used for scanning are the actors. 
  • Time Actors – As the name suggests, these are time-specific triggers or initiators that initiate a particular system activity. The most common time actors include daily, weekly, and monthly. Some of the examples of a time actor include the generation of a weekly status report every Friday at 5 PM; a balance sheet is created at 12 PM on every last Friday of the month, etc.

Use Cases

Use cases can be described as the various processes that take place within a system. These processes have a start and an end and also involve transforming an input into an output. Some of the examples of use cases for an automated order system include balance accounting and sales ledgers, processing withdrawals, fulfilling orders, returning items, etc. The purpose of these use cases is to provide value to the end-user/actor. The objective is to ensure that you have all the possible use cases to cater to all the different actors, which again helps in determining the system’s overall scope. 

Interfaces

The role of an interface is to facilitate conversation between the system and the actor. By focusing on the interface, it is possible to come up with additional use cases, and by focusing on the use cases, it is possible to elevate the interface’s design. In short, even though the interface is technically not a part of the use case, they are definitely related. For example, if we have a car and we would like to stop the car, the use case would describe this conversation between the car and the end-user. This instruction to stop is facilitated through an interface which in this case is the break. So, the actor’s request (to stop the car) is sent to the system (car) via the interface (brake).

Importance of Use Cases for Project Managers

It is vital that PMs have the right structure in place to ensure the successful setting up of the project scope, and this is possible with the help of use cases. Another key reason why PMs should care about use cases is that they allow the end-users to test the system while it is in the designing stage. This in turn helps in faster development and designing of a more usable system. Even though use cases may not aid in 100% requirement gathering, they do play a vital role in ensuring a seamless development of user interfaces, screen edits, messages, test scenarios for acceptance, etc. 

Project managers and business analysts have often faced challenges when it comes to converting what the end-user wants from the system into a technical design. Similarly, they also face challenges when they want the end-user to verify that the expected translation was correct prior to build the system. This is because, in most cases, the developers’ pseudo code was too technical for the end-users. This challenge can be easily overcome with the help of use cases as they provide a clear translation of the technical changes, which makes it easier for the end-users to understand and make the required changes in the initial stages itself. 

Some of the other ways in which use cases help include:

  • Aiding clients to forward their requirements in a more fluent and effective manner.
  • Facilitates better communication between the business and IT.
  • Helps in creating user acceptance tests and requirements-based testing scenarios.
  • Handling exceptions in a more structured and organized manner.
  • Clear definition of messages and edits.
  • Quicker and more complete definition of requirements.

Use Case Model Components

When we talk about use case models, two terms that keep coming up are use case diagrams and narrative text. 

  • Use Case Diagram – As the name indicates, a use case diagram is a diagram of the system, actors, and use cases. It includes the system boundary, which is known as the boundary box, and these use case diagrams are majorly created using Unified Model Language (UML).
  • Narrative Text – The narrative text refers to the description of the use cases and is known as the flow of events. This textual description does not involve the use of UML. Some of the key components of narrative text include pre-and post-conditions, primary process steps, alternate steps, and exception steps. 

Conclusion

Use cases offer several benefits, making them vital in the process of requirement gathering and establishing project scope. Some project managers may face difficulties in the initial stages as it is not easy to ‘think’ like a system; however, once they understand how to go about creating the use cases, they will be able to take advantage of all the benefits they bring. Use cases can definitely aid project managers in ensuring that they have unambiguous requirements in place and enable successful project completion within the established costs and timelines. 

If you are in search of the top project management software or other software that can enable project managers to perform their job more effectively and successfully, do check out SaaSworthy!

Read More

A Guide to Application Development Software in 2022

Top SaaS Ideas to consider in 2022

Author