Let’s imagine… Jump a few years into the future. All the hoopla about IoT is history. A lot of equipment comes with network interfaces. The software embedded in the equipment uses resources on the network to get its job done.

Imagine a new machine being installed in a factory. It’s in position, the mechanical setup is complete, the electricals have been tested. Next step is to plug in (or switch on) the network connection.

What happens next? 
I agree there’s a case for machines only speaking when they are spoken to. But rather than wait for the local controllers to execute their next ‘discovery’ scan, let’s assume this is an active machine. It will get things started by looking for the resources it will use on the network. Some of these will be IoT-ish, but in addition, some resources the machine needs will be ordinary applications.

The first example is asset management. The newly connected machine will probe for all the asset management systems it knows about, using all the protocols it has got. It must find a way to register itself as a new asset. This means finding a way to message the organization’s ERP system, and self register in the asset management module with details like manufacturer, model number, and serial number.

The next example is configuration. The machine needs to phone home to the organization that provided it to its new user. Why? Because the machine needs to find out what functions the new user has paid for. So it must get a message to the customer relationship management system; or perhaps the sales order handling system of the provider. One of these systems will respond with information to instruct the machine to configure itself according to the order.

It’s likely the machine will be largely autonomous. But maybe it still needs occasional operator attention. So it may need to contact the human resources system, and exchange information about who is authorized to access the machine.

Some observations
This is hardly revolutionary. Even today, we are disappointed if plugging in a USB device, or switching on a network-connected media player needs any follow-up actions. Surely it just loads the right drivers, registers as a device or source or player, and finds any applications which might be interested in its capabilities. We expect to plug in, switch on and use, with no need for geeky selection of options, and manual input of names and addresses to get things connected.

Of course IoT enables a lot of new things to happen. The new machine will be reporting sensor readings to an analytics system which will recognize problems before they cause breakdown. An optimization system will be making second-by-second decisions responding to status, plans for the next few minutes, hours and days, and adjusting activity accordingly. A machine learning system may be monitoring the relationships between plans, inputs and outputs of an operator-controlled machine with a view to providing a better operator-assistance service next year. There will be new data flows to and from this machine up and down the supply chain, improving visibility and enabling faster reaction to problems.

But for this machine to be part of a business, and not just a demonstration, it needs the ordinary apps as well. So if your focus is, say, financial software used by manufacturers, remember that one day, your software will be scanning machines like this one so that you can implement new automated ways of calculating first year capital allowances for tax, or utilization levels for the activity-based-costing model.

Next steps
For developers, the vital change in mindset is to supplement an inward-looking, function- and performance-based focus on your software modules with outward looking consideration of how to use the new connectivity.

The ‘things’ for IoT have existed as records in business system databases. But now the business system can also reach these ‘things’ directly. Where are they, what is their status? If this triggers ideas on how to do something new or different or better, then you are part of the future