Why Do We Need Use Cases for IoT Solutions?
An Architectural Overview of Use Case and Requirements
As IoT (Internet of Things) solution architects and designers, we need to obtain, analyse, understand, and validate the IoT solution use cases innovatively using the ‘Design Thinking’ practices. The validated use cases can be valuable and supportive for validation of requirements and making better architectural decisions in the IoT solution life-cycle.

A use case is a specific situation in which a product or service in a solution to be used by the consumers. We develop the use cases from the users’ perspective. For an IoT solution, we need to understand how the consumers are intended to be using a particular component or a specific aspect of the solution.
Usually, the functional requirements can help us to formulate the use cases; or, in some circumstances, use cases help formulate the functional requirements. This means that the use cases and solution requirements are interrelated. It is important to note that we need to analyse use cases and requirements together; not in isolation.
As a critical success factor, IoT solution architects need to show their leadership during the solution lifecycle to collect use cases in an innovative way.
We can engage selected users to help us understand the specific use cases. To achieve this we can arrange workshops and interact with the selected users. We can ask participating users specific questions and obtain their feedback on how they are intended to use a function that is expected to be in the IoT solution document.
We can also ask them about the quality of business functions which help us better understand the non-functional requirements.
In general, overall solution use cases need to be defined and elaborated with the input of all stakeholders of the solution, not just end-users. There may be different use cases for different stakeholders based on the IoT solutions that we architect and design.
Design Thinking for Use Case Development

Design Thinking practice can be ideal to delve into use cases and map them to both functional and non-functional requirements of the IoT solutions.
Use cases can also be determined based on the roles and personas involves in developing a solution. Personas represent fictitious characters, which are based on our knowledge of the users in the solution. Identifying personas and the use of them in our use case development and requirements analysis can be very beneficial. Agile methods have a strong focus on effective use of personas.
To conclude, in a nutshell, use cases for IoT solutions are critical for requirements, architectural decisions, and solution construct.
Once the use cases are understood, precisely documented, and approved by all the relevant stakeholders, the functional and non-functional requirements can be more explicit, architectural and design decisions can be made more effectively, and the solution building blocks can be developed with more confidence.
I cover the non-functional requirements in a separate article titled “Non-Functional Challenges of IoT”.





