We’re putting computing power, machine learning, sensing, actuation, and connectivity into more and more objects, services, and systems in the physical world. This enables new ways for things to work better. But it also creates new possibilities for failure, not least when software problems produce real-world consequences. Failures can damage the user experience, undermine the value of the product, and sometimes present danger.
When you develop a connected product, you must identify everything that could go wrong—from power failures to cessation of user support—and ensure that each potential problem can be adequately mitigated. If the value of your product is marginal but the consequences of it going wrong could be catastrophic, it’s time to rethink your plans.
Talk from O'Reilly online conference Designing for the Internet of Things, 15th September 2016. A short version of this talk was given at Thingmonk on 13th September.