Comparing Design Thinking Techniques in the Context of IoT Requirements Elicitation: An Empirical Study - Rodrigues, Eriky; Souza, Sabrina; Meireles, Maria; Lauschner, Tanara; Maldonado, José Carlos; Lima, Márcia; Conte, Tayana (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS), 2024)
Background: The Internet of Things (IoT) paradigm involves a network of devices that exchange data through the Internet. Defining IoT systems’ requirements addresses their functionality, device interactions, and data integration while meeting stakeholder needs. Design Thinking (DT) may support this process with its user-centered techniques. However, further empirical validation is needed to ensure their effectiveness in IoT software development. Aims: We aim to investigate two DT techniques, IoThinking and Mind IoT, in supporting the requirement elicitation phase for IoT systems, thus improving the development of better IoT systems. Method: We conducted a controlled experiment with 59 software engineering students to assess the effectiveness of both IoThinking and Mind IoT techniques in supporting the requirements elicitation phase for IoT systems. We measured the effectiveness based on the number of requirements each method helped derive. We also conducted a Focus Group with 15 participants to verify their perceptions of the techniques. Results: We found no statistical difference in the number of requirements derived by the two techniques, suggesting that both are equally effective. However, participants’ feedback suggested IoThinking is recommended during the requirements elicitation phase and appropriate for smaller, simpler projects. Mind IoT has its use recommended after an initial elicitation, helping on refine and map out established requirements. Conclusions: Our findings can guide software engineers in choosing the appropriate technique based on their IoT projects’ specific needs and scope.