Agile Methodologies Applied to the Development of Internet of Things (IoT)-Based Systems: A Review
Metadatos
Afficher la notice complèteEditorial
MDPI
Materia
Internet of Things (IoT) Development methodologies Agile Methodologies Software engineering Model-Based Engineering Model-Driven Engineering
Date
2023-01-10Referencia bibliográfica
Guerrero-Ulloa, G.; Rodríguez-Domínguez, C.; Hornos, M.J. Agile Methodologies Applied to the Development of Internet of Things (IoT)-Based Systems: A Review. Sensors 2023, 23, 790. [https://doi.org/10.3390/s23020790]
Patrocinador
Spanish Ministry of Science and Innovation (State Research Agency) PID2019-109644RB-I00; Junta de Andalucia B-TIC-320-UGR20Résumé
Throughout the evolution of software systems, empirical methodologies have been used
in their development process, even in the Internet of Things (IoT) paradigm, to develop IoT-based
systems (IoTS). In this paper, we review the fundamentals included in the manifesto for agile software
development, especially in the Scrum methodology, to determine its use and role in IoTS development.
Initially, 4303 documents were retrieved, a number that was reduced to 186 after applying automatic
filters and by the relevance of their titles. After analysing their contents, only 60 documents were
considered. Of these, 38 documents present the development of an IoTS using some methodology,
8 present methodologies focused on the construction of IoTS software, and 14 present methodologies
close to the systems life cycle (SLC). Finally, only one methodology can be considered SLC-compliant.
Out of 38 papers presenting the development of some IoTS following a methodology for traditional
information systems (ISs), 42.1% have used Scrum as the only methodology, while 10.5% have used
Scrum combined with other methodologies, such as eXtreme Programming (XP), Kanban and Rapid
Prototyping. In the analysis presented herein, the existing methodologies for developing IoTSs
have been grouped according to the different approaches on which they are based, such as agile,
modelling, and service oriented. This study also analyses whether the different proposals consider
the standard stages of the development process or not: planning and requirements gathering, solution
analysis, solution design, solution coding and unit testing (construction), integration and testing
(implementation), and operation and maintenance. In addition, we include a review of the automated
frameworks, platforms, and tools used in the methodologies analysed to improve the development
of IoTSs and the design of their underlying architectures. To conclude, the main contribution of this
work is a review for IoTS researchers and developers regarding existing methodologies, frameworks,
platforms, tools, and guidelines for the development of IoTSs, with a deep analysis framed within
international standards dictated for this purpose.