State of the Software Development Life-Cycle for the Internet-of-Things
Jo\~ao Pedro Dias, Hugo Sereno Ferreira

TL;DR
This paper reviews the current state of software development for IoT systems, highlighting unique challenges, methodologies, and the gap between current practices and best practices, along with open issues and future research directions.
Contribution
It provides a comprehensive overview of IoT software development challenges, methodologies, and identifies gaps and open issues in current practices.
Findings
IoT software development practices lag behind best practices
Current methodologies are insufficient for large-scale, heterogeneous IoT systems
Open issues and research directions are identified
Abstract
Software has a longstanding association with a state of crisis considering its success rate. The explosion of Internet-connected devices, Internet-of-Things, adds to the complexity of software systems. The particular characteristics of these systems, such as being large-scale and its heterogeneity, pose increasingly new challenges. In this paper, we first briefly introduce the IoT paradigm and the current state of art of software development. Then, we delve into the particularities of developing software for IoT systems and systems of systems, given an overview of what are the current methodologies and tools for design, develop and test such systems. The findings are discussed, revealing open issues and research directions, and reveal that the nowadays IoT software development practices are still lagging behind of what are the current best practices.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Service-Oriented Architecture and Web Services · Software System Performance and Reliability
