Software: The Most Critical Element of Any Connected Product BOM
The other night I was marveling at a story that I read about the Open-AirVentGT.
The coronavirus pandemic has led to a great need for ventilators around the world. What makes this particular one so special is its ability to provide nuanced control of important ventilation settings. Patients can trigger the device, which is built using a Raspberry PI, a set of sensors and a motorized system, with their own breath, and it can ventilate them at a natural rate. Doctors and other medical staff can further monitor the device in real-time.
As I marveled at all this, one amazing fact struck me: none of it would work at all without software. Despite all the device’s sophisticated hardware components, without software (and the ability to manage it), the device wouldn’t work. And the same can be said of all other connected devices, whether they be medical, industrial, automotive or something entirely different.
This led me to another fact: that all too often manufacturers of connected products neglect the importance and complexity of software, not just in getting their devices to work but also in keeping them working and continuing to make their customers happy. While software may represent a small percentage of the components that make up a connected product BOM, it plays an oversized role in both the device’s functionality and the experience that is brought to the customer.
The complex and fragile role that software plays in your product stack
You could look at software as being the glue of your connected product. It is what takes a diverse and complex collection of hardware components and not only makes them work but also makes them work together. It also enhances the hardware’s functionality by amplifying the mechanical and networking elements of the product and allowing it to be operated autonomously and remotely. Just as importantly, software is the bridge that integrates the product with other applications, systems and services so vital to the customer and the entire value chain. All of this ultimately provides a quality customer experience, which leads to long term financial value for manufacturers and consumers.
While hardware components in a connected product can be complex and highly sophisticated, due to advances and efficiencies in modern manufacturing, they are not the most likely point of failure in a device. What’s more, manufactures can usually ascertain the quality of their hardware components with relative ease and surety prior to deployment.
But the same cannot be said of software. In the early days of connected products, software may have merely been an RTOS, then eventually a richer Linux OS. Over time, product manufacturers had to add device-specific firmware and eventually end-user applications. Over time, devices started talking to each other and the cloud; this introduced even more software and more complexity. Like hardware components, the software components of your BOM are complex and sophisticated. However, unlike hardware which might be manufactured and tested to near perfection, the multiple layers of software are far more prone to human error, bugs and security vulnerabilities. It’s a moving or dynamic target and far more difficult to ascertain quality prior to deployment. One small software error can render your device useless, resulting in significant support costs, customer downtime and even loss of customers.
Because of all this, manufacturers of connected products should look more carefully at the need for a comprehensive device and integration software strategy and tools to support it.
The key roles that software plays in a connected product’s lifecycle
It’s doubtful that there is a connected product anywhere that can function without software. Device lifecycle management software plays an essential role in managing the entire connected product value chain, which includes:
- deploying it
- monitoring, controlling and optimizing it
- integrating it with your customers’ support systems
- updating it
- retiring it
First, you need software to onboard and account for your devices at scale. Knowing how many devices exist, where they are deployed, what configurations and software exists on the device and when they were last updated is essential. You further must be able to provision these devices. Good device management software lets you deploy devices without touching them, and it allows you to automatically configure and update these devices as soon as they power on.
Monitoring, controlling and optimizing a device lies at the very heart of its management, as this is what allows a device to run autonomously at a customer’s site. It is software that lets you monitor a device’s condition and operation through the use of its hardware sensors, and it can also monitor a device’s external environment. Software is further what allows you to control the device through the use of commands, which you can execute either manually or through some automated process.
Another thing that you need software to do is properly integrate your devices within your customers’ support and broader enterprise systems. It is important to remember that you are not the only ones who have to monitor and support your devices. Your customers have to do this as well. Good device management software lets your customers seamlessly integrate your devices within their operational systems, for the purposes of properly identifying them and resolving any issues as they arise. This ability, too, can greatly enhance customer experiences as well as overall customer satisfaction.
As I mentioned before, updating your device’s software is a mission critical task. This is more than a simple FOTA (firmware over the air) update. For some vendors, as much as 90% of new features are delivered through a software update. But you need to be able to schedule these at times convenient for the customer, audit success, manage retries and more. This requires the ability to also target updates by device, group, customer, location as well as by other means.
Finally, one of the most overlooked aspects of a device’s lifecycle is its retirement. No matter how well constructed a device may be or how good its individual components are, at some point it will reach the end of its service life. You need software to properly and efficiently decommission and remove your devices. The software should also be able to retire not only individual devices but groups of them as well if necessary.
Because we can’t see software when looking at a connected product, it may appear to comprise only a small portion of your connected product’s BOM. There are also multiple layers of software and providers of software – from the OS to the firmware, local and cloud applications. Managing the software alone becomes a complex and necessary task of not only development, but integration and orchestration. It is also where the future value to your customers and your business will come from. It requires a thoughtful and strategic approach and careful consideration to using best practices and best in class tools available in the market today.
And this is all just getting started.