Many organizations are excited about the potential to use the emerging internet of things for economic gain and competitive advantage. Diverse organizational entities such as municipalities, healthcare companies, manufacturers and energy producers all see the benefits of using the power of connected sensors, cloud intelligence and remote control to transform their entire industries.
While much of the early focus of IoT developers has been on building relatively simple device telemetry applications, significant challenges remain for organizations that need to build more complex end-user technologies that integrate data and insight across many products and partner ecosystems.
Building a new ecosystem application — one that involves development efforts across several products from various partners — has always been a daunting proposition. But creating new application platforms, where open partner ecosystems can flourish, is often well beyond the capabilities of even sophisticated development organizations.
Still, these ecosystem-capable application platforms are essential to IoT delivering on its promise. Without easy application access to device telemetry and controls (whether within a closed ecosystem or an open one), IoT will fail to deliver much more than did the siloed machine-to-machine technologies it promises to replace.
Closed application ecosystems
While a new smart healthcare application might involve collecting data from wearables or in-home health monitoring devices, it might also involve using sophisticated, cloud-based analytics services to extract insight from collected data. That insight may then need to be made available to physicians, who can collaborate and provide their services to patients via a telehealth application, with timely alerts and reminders being sent to patients by a third-party alerting service.
Such a healthcare system would typically be created by preselecting and integrating the capabilities of several existing connected devices and partner web services into a “system of systems” that can deliver this powerful new set of capabilities. However, the success of the final outcome will be highly dependent on how efficiently and effectively application developers can manage the inherent complexity of such system-of-systems projects. In this scenario, although IoT should provide acceleration for ingesting data from devices into the cloud, it does nothing to help manage the complexity of delivering the overall technology.
New application platforms as a service
Sometimes, closed application ecosystems are insufficient. Take the creation of a smart city, for example. Today, such a city might include any number of siloed IoT applications (such as for transportation, healthcare, energy, water management and waste management) that each serve the needs of residents. But smart cities will only be truly smart when data from these silos can be easily re-exposed to developers and integrated into innovative new applications.
Smart cities must become infrastructure service platforms for building highly interconnected applications, able to use the insights derived from the sensor data generated city-wide. Such platforms can lead to new monetization opportunities that can greatly enhance the value of IoT data.
But creating such open smart city services requires the creation of a complex developer platform for the smart city. That platform needs to support any type of IoT-connected device or service, sourcing data into the city’s storage and analytics infrastructure, and to expose an increasingly rich set of monetizable data and insight as services to developers.
Today, many organizations are exploring the creation of such IoT services platforms, where open ecosystems of partners can flourish. But developing an open platform as a service (PaaS) can be an order of magnitude more complex than developing an IoT application for a closed ecosystem of partners. As a result, despite their promise, these types of complex projects tend to go off the rails quite early, easily outstripping budgets and failing to produce successful outcomes.
Reducing complexity while enhancing outcomes
One of the common concerns with IoT development projects is that they can be deceiving. It can seem tantalizingly simple to use a public IoT PaaS offering, such as those delivered by cloud providers Amazon Web Services, Microsoft Azure and IBM Bluemix, to quickly stand up an IoT end-user application. But business executives often find themselves perplexed trying to understand why an IoT project that appeared to be 80% complete after only six months is less than 90% complete after two years.
The difference is explained by the complexity variance between a demonstration and a production-quality technology. Standing up a lightweight demo application is often relatively easy to accomplish. But delivering a production-quality service can be far more complex.
Most IoT ecosystem projects will involve multiple contributing application partners. They will also involve complex, evolving functional and non-functional requirements, such as partner service integration, service exposure using APIs, application security, regulatory compliance, service monetization and customer support.
In a world of agile development, these much-needed production capabilities are always, tantalizingly, just a few sprints away. But agile development does nothing to reduce the impact of complexity. In fact, it has a tendency to obscure the complex realities that developers should face early to ensure that their designs can deliver predictable production outcomes.
To address these challenges and reduce complexity, IoT developers are now starting to embrace collaborative lifecycle management (CLM) technologies combined with the latest continuous engineering (CE) technologies. Modern CE/CLM products help IoT developers start at the beginning by developing a big-picture operational understanding of the project requirements before design and coding begins.
These tools allow various interdependent devices, products and services to be behaviorally modeled, allowing multipartner development to proceed successfully on parallel tracks. Lifecycle traceability features allow the complex relationships between all software artifacts to be identified, maintained and analyzed to improve product quality. Regulatory and compliance management capabilities ensure that, at each stage of the project lifecycle, important issues such as data privacy and operational security are not ignored.
CE/CLM tools provide next-generation change and configuration management capabilities that work hand-in-hand with quality management services to ensure that the product moves inexorably forward without taking sudden steps backward. Finally, often neglected, program management capabilities provide much-needed oversight to manage critical paths, inform decision-makers in a timely manner, and allow the planning of necessary adjustments to keep wayward programs on track.
Back to the future
Although IoT is new, CE/CLM capabilities are not. They have long been the foundation of systems engineering, facilitating the management of complexity. Systems engineering discipline is as timeless and needed today, for complex IoT initiatives, as it has been for programs of similar complexity before IoT came into our lexicon.
The good news is that there is a new generation of highly modernized CE/CLM tools designed for easy use with both cloud-based and on-premises development projects. Companies attempting to rein in IoT project complexity can choose to employ these tools themselves or partner with systems integrators who are experienced in their use.
Organizations that want to ensure the success of complex IoT initiatives will need to mitigate the adverse potential of complexity-related development risk. Without doing so, these IoT projects might fail to get fully off the ground. Thankfully, these risks can be managed effectively using the latest CE/CLM tools to ensure that your IoT vision becomes a reality.
All IoT Agenda network contributors are responsible for the content and accuracy of their posts. Opinions are of the writers and do not necessarily convey the thoughts of IoT Agenda.