This chapter explored development methodologies that can be used to develop IoT products. We discussed the waterfall, Spiral, Agile, and DevOps methodologies, and reviewed ways in which security engineering can be used to define and track security requirements, and build security into the design phase of a product.
We discussed non-functional requirements, including security, safety, and resilience, and touched on the need for software transparency and automation in the verification and validation process.
In Chapter 4, Secure Design of IoT Devices, we will discuss the challenges that IoT system developers face when trying to secure their systems, and a set of secure design goals for IoT systems.