Published on 11/14/2016 | Operations
Always fast, always first may not be always sensible for engineering Internet of Things (IoT). While exciting new IoT platform tools may allow the quick integration of new devices into a company’s business process, quick and informal may not be the wisest approach for many IoT applications given its complexities and associated risks. IoT devices are becoming not only ubiquitous but also enmeshed in our homes, cars, and everyday lives. There may be more at risk than the inconvenience of something that doesn’t work.
While any electronic component can experience hardware or software bugs, the increasingly interconnected nature of things brings both more functionality and more risk of failure.
The reason? Systems engineers will tell you it is because of these new systems’ inherent complexity. It’s simple math. The more interconnections between independent components or subsystems within a system, the more complexity and the more chance for system failures. Metcalfe’s Law reminds us that three interconnected components result in a maximum of three interconnections, but with four the maximum number of interconnections rises to six, and with ten components, designers must deal with 45! Then, consider the millions or billions of interconnected things on the Internet and, well, the high rate of complexity is clear.
It’s not only the falling prices of sensors, tiny computers and networking that is driving the expansion of the Internet of Things (IoT)—it’s also the ease of putting a new device into the IoT. An IBM IoT demonstration enables you to put a smartphone, sensor, ARM mbed, or Raspberry Pi onto the IoT in minutes (search “IBM Play with our platform now” to find it). Easy and quick, however, may not be the best way to build a complex, reliable system. Is the IoT destined to be a morass of loosely connected, unreliable, buggy, but simple and inexpensive devices?
There’s another challenge as well. It’s one thing for a smartphone app to fail or lose its connection to the Internet. Users could miss a celebrity tweet or might have to place a phone call to reserve that rental car, but no one is injured or put in danger. Extend this connectivity to heaters, door locks, cars, and security systems and there is a new level of technical risk. Worse, companies developing IoT products and systems may have a great deal of software development experience, but the engineering of an integrated network of devices, many of which may not have been designed to work together originally, could be well outside their comfort or competency zones.
Connected systems and their complexities, however, are nothing new. As the space program started to get off the ground in the 1950s, so did the profession of systems engineering, an engineering discipline aimed at ensuring that system elements integrate, interoperate, and together accomplish the goals of the system. Systems engineers were instrumental in the space program and have since grown into a profession that is active in many industries. INCOSE, the International Council on Systems Engineering has about 10,000 members worldwide but believes there are several times that many systems engineers, some of whom may claim other titles while doing the same kind of work.
Systems engineers know that the successful implementation of a connected system, even one as seemingly simple as an Internet-connected thermostat, must be engineered not only to work correctly, but also to meet key qualitative goals, such as system reliability, resiliency, safety, security, and maintainability. Each of these so-called non-functional requirements areas calls for its own kind of engineering practices, tools and verification approach. Implementing that smart thermostat takes more than just making the software embedded in the thermostat work in the lab and in a few test homes — it takes a comprehensive systems engineering approach to ensure that Brad’s second home doesn’t risk serious damage from a hacker, communication issue, or errant software update.
Systems engineering may hold many of the solutions to IoT challenges, but systems engineering too must evolve. Historical systems engineering processes, intended for long, careful aerospace development programs may not be a match for rapidly evolving IoT systems. Development teams may be distributed across locations, time zones, or even countries. Markets may be unforgiving when developments take too long, and customers won’t long tolerate difficult or problem-laden installation and operation. Systems engineers must employ agile, lean techniques which bring rigor without aerospace-sized overhead.
As well, system verification and validation bring challenges of their own for IoT systems of systems. As Moshe Cohen, senior offering manager for IBM Watson IoT asks, “How do you test subsystems in a car that is connected to the Internet while the car is driving? How do you build a test rig that can simulate all possible scenarios so they can be fully tested?” Systems engineers must answer these challenges and right-size proven techniques for IoT needs.
While exciting new IoT platform tools may allow the quick integration of new devices into a company’s business process, quick and informal may not be the wisest approach for many IoT applications. IoT devices are becoming not only ubiquitous but also enmeshed in our homes, cars, and everyday lives. There may be more at risk than the inconvenience of something that doesn’t work. The rigor of an Apollo mission may not be needed in every case, but systems engineering is likely to play a critical role in the ultimate success of the growing Internet of Things.
The original article can be found here.