As organizations work to figure out their strategies for the Internet of Things, it’s become clear from our experiences early in this revolution that there are four distinct disciplines that must align and conspire to achieve success. These disciplines are all rooted in data: embedding the intelligence into the product to know what data to send, constructing secure networks to collect that data, and building cloud services to store, analyze and act on it.
The first of these disciplines is ideation. Loosely defined, ideation is not the thing; it’s the idea of the thing. It’s artifacts and activities are wireframes, flowcharts, user interface design, prototypes, working models, business analysis and minimum viable products (MVPs), all who are part of a process that defines and refines what kinds of data-driven services you want to build into and around your product. Often ideation comes first in the process if only to define and refine the business purposes and drivers behind the project to secure funding and support.
The next are cloud services. These elements are primarily focused on the processes of designing, building and testing the software that goes into the device and into the services around the device (commonly called Development Operations or DevOps), as well as the collection of data and the analysis of that data (commonly called Big Data and Analytics). These are necessary elements to a successful Internet of Things application, but are not part of the thing itself – they are what the things connect to and are depend on for some degree of their functionality.
The next discipline is developers, which are simply the skills to develop, maintain and operate the IoT solution. They take their cues from the decisions made and evolved through ideation and perform their work on a set of cloud services. Their domain includes the development of both the code embedded into the thing to sense, package and transmits data, as well as the code embedded into the applications that surround the thing, including dashboards, mobile applications, and business integration rules engines.
The final discipline is edge. These elements are the sensors, networks and security components that are embedded in the thing and carry data to and from the thing. Today there is an astonishing array of options in this space, from integrated circuits to intricate sensors to various forms of wireless transmission, to security technologies like blockchain and encryption. Further adding to the diaspora are industry solutions and pre-designed hubs and frameworks, designed to aggregate or simplify the process of data collection and device management.
As an organization seeks to launch and succeed at building and operating their IoT solution, the first challenge is one of systems integration. All four of these disciplines must be intentionally managed and coordinated to a common result, which is made more difficult by the reality that there are few companies that possess the skills to deliver all the elements in-house. If a company is self-aware, they will notice quickly they require assistance to align these four disciplines. Narrowly focused, industry-specific solution design shops do not provide the answer, as they are inclined to reuse frameworks rather than approach the problem with fresh eyes.
Even if competent systems integration skills are available, there are pitfalls tied to each of the disciplines. Commonly companies begin with the edge, as they make the device they would like to data-enable, and therefore believe they possess the skills necessary to successfully connect it to the Internet of Things. The reality is that they usually don’t understand security, networking and the full breadth of hardware and software options available to them, so they attempt to experiment with off-the-shelf components and homegrown efforts, pressing things that are mere disposable prototypes into firm architectural decisions to accelerate the project timeline. Good edge discipline is first about design and architecture; the key is to weigh options and select the best ones for a given problem.
The next common error is to then immediately hire developers to code data applications around the incomplete edge architectures. Developers love to build software, and dive in immediately, producing software elements that quickly add form and function, giving the illusion of rapid progress. Unfortunately, anyone familiar with the development process knows that it’s only an illusion, as with each development sprint, a code is added that makes the solution more complex and more prone to regression errors and bugs that force rework and slow down progress.
The third error is to allow these developers to pick and build their cloud services. As noted, developers love to build software and love only building and maintaining their tools and frameworks even more. Downloading open source software and building up a corpus of tools and processes adds to their workload, driving more billable hours and making them more irreplaceable to the project, as if they were to leave, no replacement could use or leverage the tools they’ve built to do their work. This shadow taxation of time and energy bogs down progress, and is more prone to occur in projects that are poorly managed by inexperienced systems integrators.
A second key challenge related to the cloud relates to the need for data and stack isolation and security. Many companies cannot, will not, or should not expose their data to the public, multi-tenant cloud services. This need can be driven by regulations, industry standards, legal implications or simply security fears about exposing proprietary data to people they don’t know on infrastructure they don’t own. More importantly, many IoT applications require complete control over all software components in the solution, both in the device as well as in the cloud, to ensure that no inadvertent changes are made that would break connections or disenfranchise devices without simple or inexpensive ways to fix the problem. Most public cloud infrastructures service hundreds of customers, and perhaps millions of devices and simple API adjustments or cloud services performance tweaks introduced in multi-tenant clouds can break a solution stack irreparably overnight. Developers that are left to choose their cloud infrastructure will tend to pick the lowest cost, least functional clouds to have fertile ground to build up their frameworks, with little thought to these data and stack isolation concerns.
The final and most deadly challenge relates to ideation. Often this step is skipped entirely, and developers are hired nearly immediately to work with in-house edge device driven projects. The result is solutions that look like developers designed them, which is to say that they are extremely engineer (and not necessarily user) friendly designs. They also tend to misalign to business objectives, as the developers are left to make choices that usually result in simpler coding and maintenance efforts, and not to properly address difficult business constructs.
The solution to resolving many of these issues is to intentionally engage competent IoT systems integration once the experimentation phase of a project is fading, and a real solution must emerge. The systems integration team will reverse the natural order of project evolution that would occur without their leadership (start with the edge, hire developers, pick a cloud and rework the design with post-project ideation), into the proper order, which is to start with ideation, specify the proper cloud services, select knowledgeable developers, and then design a great edge architecture. This focuses development activities on integration between the cloud and the edge, and not on selecting clouds, design and business analysis or edge architectures where they might not drive the best answer.
Though these points may seem to cast dispersions towards developers, they are, in fact, the key heart and soul of an IoT project. The challenge, however, is to focus their energies on the elements of a project that they do best and to avoid places that might consume time and energy without success.
Internet of Things success is one idea with four elements, which must align with good leadership and management for the best result.
John McDonald is the CEO of CloudOne, Inc.