Successful IoT solutions should be implemented correctly and take outset in a well-defined requirement specification. 

By Jeppe Pilgaard Bjerre

In a world where the number of IoT-products is growing explosively, it is  important for product developers to choose components with the right functionality for the IoT-product without worrying about whether the new IoT-solution can interact with existing IoT systems.

The development of IoT products presents a wide range of challenges for the technology, the process, and the financial picture. The risk of delays and additional costs are for sure present. Therefore, it is important, in the design phase of an IoT solution, to base it on tried and tested methods to ensure that the product works optimally in real-life.

Requirements specification is a key tool

In development phases the requirement specification is probably the most important tool. At FORCE Technology, we encounter a large number of products that fail in the approval process. Often due to errors and deficiencies in the requirements specification. Either because a requirement was misunderstood in the development process or a requirement was not described at all in the requirements specification.

But how do you ensure that all the necessary requirements are included in your requirement specification?

Use standards to define new products

One way to ensure a more systematic review of functional and interoperability requirements for an IoT product is to use standards - e.g. "ISO / IEC 30141 Internet of Things - Reference Architecture" - to define new IoT products. This standard contains tools for defining elements such as sensor types, identification, users and much more, and it is divided into domains such as functionality, communication, usage, etc.

Using a standard to define new products can also help ensuring that everyone ‘speaks the same language’ and thereby minimize the risk of misunderstanding in the interpretation of requirements.

Prototype test in a real-life setup

When rolling out a new IoT product as a part of an IoT ecosystem, one must ensure that it is performing correctly. Event if the prototype fulfil the requirements satisfactorily, the roll-out will lead to the introduction of many new variables, e.g. the installation environment and coexistence, which in the worst case can cause such a dramatic deterioration in performance that the product is completely useless. Therefore, it is important, before product roll-out, to test the IoT product in a way that reflects a realistic use scenario.

In which environment will the product be installed?

When designing wireless systems, it is important to consider e.g. how much margin is needed in a link budget, as there is a large difference in attenuation in a system that is placed on a roof and a system that is in a basement in an industrial environment. 

Similarly, it is important to include requirements of the product's resistance to climatic influences (e.g. temperature and humidity) throughout the product’s lifetime. 

If during the development process, the scope or functionality of the product is changed, it is important to reevaluate the reliability requirements.

How should data be handled?

When you build an IoT network with several thousand devices, huge amounts of data may potentially be generated. Here, it is important to specify well-defined methods for entering data into the system, for accessing data from internal systems, and for providing other systems access to data that your system generates, so that solid and safe data infrastructures can be built.

Collaboration and mutual understanding

In general, the development of IoT products is an exercise in collaboration across disciplines, organisations, and industries. It is crucial to be able to communicate elements of an IoT system to ensure a common understanding and - not least - a common set of expectations about what is being developed. This wil ensure that the end-result match the desired result as much as possible and the development team avoid having to go back and change the design because a requirement that was forgotten or misunderstood.

The cost of redesigning a product in the test phase is about 1000 times more expensive than during the requirements specification phase. The consequence may be that a project must be completely discarded because it does not make financial sense to make a new design. Therefore it makes good sense making a good and well-defined requirement specification early in the development process.

This is an excerpt from the article published in Electronics & Data, August 2019.