Over the decades, I have seen hardware engineers squirm when software programmers (such as myself) also describe us as “engineers”. To them, we are the antithesis of living up to their high engineering principles. We do agile and try to ship what we can in a matter of weeks; we overload test APIs for not only documentation but also for design specifications. We plan on patching our product on a daily basis, and we use hacking as an operating principle to get things done. Luckily, in most cases, markets and technologies kept these two classes of engineers mostly apart. For example, many networking hardware engineers work for companies such as Cisco, and many software engineers taking advantage of networking (distributed system engineers) work for companies such as Oracle.
That is now going to change.
One of the implications of enterprises adopting IoT is that the device vendors will have to reevaluate how they imagine their existence. Most likely, most of the new services we discussed in previous blogs will end up having significant software components, whether that be apps for your smartphone or tablet, new portals, or software that is embedded inside the machine that you operate or manufacture. If the organizations have to harness IOT’s opportunities, they have to undergo a digital transformation – of its people, processes, and culture. IoT will also bring along another guest with herself – the software engineer!
This blog is not about providing an overview of change management – instead, it covers a critical culture shift that device engineers have to do, to make the transition successful. Here are some architectural principles device engineers have to incorporate to compete successfully in the IOT market.
Reduce Ship Times
Many of us have been acutely aware of the difference in the design and implementation cycle of hardware products (months to years) and software products (weeks to months). Why does the hardware design cycle have to be so long? What cannot users patch their machines the same way they patch their software? For example, we have seen numerous cases of automobile recalls where it would have been more efficient if the cars could just be patched, like our iPhones. Similarly, with manufacturing processes being able to support the production of small batches, many wonders if the benefits of long design cycles in hardware development warrant the lost opportunity costs.
Product owners have to challenge how end-end development times can be reduced.
Track Product Behavior in Real-time
With connected devices, we can monitor how our product will be used, giving us valuable insights into which features need to evolve, and which obsoleted. This is again a big culture shift from how hardware manufacturers maintain – or more accurately lose – their relationship with customers. Typically, there is a significant time lag to get any product feedback in the hardware world. In addition, by the time the feedback arrives at product managers, much context has been lost, making the feedback unactionable.
Now, with connectivity to an IOT cloud service such as Oracle’s IOT Cloud service, not only can we get timely analysis of how the product is being used, but we can also start getting sophisticated insights about trending behaviors (see later blog on asset monitoring)
Why is getting product usage data in (near) real-time important? By getting product usage data, we can recommend new services and add-on products in a relevant way (“we notice that you shampoo-clean your carpets every Sunday. Order shampoo today at a 10% discount to get it by next Sunday!”). In addition, by tracking which features get used and which not, product managers can quickly dispose the “appendage features” and focus on adding value in those that the customers use and value.
Learn to Manage Large Volumes of Data
In our previous blogs and sections in this blog, we have talked about getting valuable value from analyzing product usage over a long period of time. This data that has to be analyzed can extend into terabytes of data. Managing such volumes of data is a long shift for an organization that considers "data management" as moving values between different registers.
In addition, current hardware organizations do not have the infrastructure or the skills to manage a large number of sensors streaming the data for analysis in real-time. Commonly, I see some of our customers generating more than one GB of data per hour, and requesting retention for that data for over two years!
To address these issues, IOT vendors should consider using Cloud Services such as one by Oracle (full disclaimer: I work for Oracle) that offer cloud services that help connect and analyze large volumes of sensor data at scale without losing operational SLAs.
Become a Service Operator
Previously, we discussed how vendors have the opportunity to create new revenue streams from the product that they manufacture. One of the implied assumptions is that the device vendors have the skills and the tools to manage the large deployments of their devices in the field. Think about it. Today, for a typical (residential) network router, the product architect does not worry if one, or one hundred thousand, of such
With the emerging business models in IOT, device vendors will provide add-on services and track real-time product usage across enterprises that have a large number of such sensors, and are distributed across different regions, perhaps even their customers. This is a very challenging problem to solve, and vendors need a lifecycle management solution for devices. For example, how would each device register to the cloud? How would each device send health update messages? How to track if the device was shut off or if the device broke? To manage the lifecycle of devices at scale, they have to partner with device management cloud services such as Wind River device cloud or Eurotech device cloud.
To summarize, in the new world of enterprise IOT, software and hardware models and operating models not only have to coexist but coexist in a close setting. In this blog, we talked about some of the challenges the hardware teams will encounter. Making mental shifts, partnering with IOT Cloud Service vendors such as Oracle, and changing the DNA of their development teams can surmount these challenges.
Next, we will talk about the adjustments the software people need to make to exist in the IOT world.