The Internet of Things is increasingly changing what we mean by a "product," as the emphasis is moved from hardware to its attached software and service components. This puts product developers in a new situation: They have to face the challenges of managing these additional, interrelated, and overlapping development lifecycles.
The Internet of Things has become a major buzz phrase in just about all sectors of the software industry. But why is it such a big deal, and more importantly, what does it mean for the market players affected by it? The Internet of Things has many repercussions for software development, including configuration management. This article aims to give an overview of the meaning, implications, and challenges of the IoT revolution.
The Evolution of Products
In the early days of development, product manufacturers only had to focus on the physical aspects of the products they were building. A car manufacturer would just design and construct the hardware components (doors, engine, electrical systems, etc.) of its vehicles, screw these parts together, and there it was—your brand-new convertible was ready to be driven into the sunset. The configuration management of these components focused on parts management.
With the advancement of technology, however, products started getting more and more sophisticated—or, as we know them today, "smart." Sensors, memory modules, microprocessors, and other smart components became increasingly affordable, allowing manufacturers to include these in their products in order to add more functionality and services. If you purchased your car in the past decade or so, chances are its windshield wipers will switch on automatically when it starts to rain. No wonder: Installing a sensor and the simple electronics to process its signals and trigger the operation of the wipers has become fairly simple and cheap. As we know, this example is the most basic of features that smart components enable, with way more advanced options available. Thus, technological development has allowed companies to add new functionality to eventually make our lives more convenient.
After smart products, the next giant leap forward was the addition of wireless connectivity components. These hardware elements allowed the product to connect to a central infrastructure over the web, providing the manufacturer with data collected by the sensors in each individual car. This allows carmakers to notify drivers when service is needed on the vehicle, for instance; but there's more to connectivity.
Connected, smart products can also communicate with each other, which hugely expands developers’ possibilities. Welcome to the Internet of Things. Sticking to the example of cars, the IoT will eventually allow carmakers to develop driverless vehicles. Because the cars can actually communicate with each other in real time and collect all kinds of data through their sensors and cameras, they will be able to drive autonomously, and avoid accidents while doing so; in fact, most experts think they will do all this more efficiently than humans.
Services Enabled by Connectivity
Wireless connectivity to the cloud network, as well as a remote computing infrastructure, enable product developers to add never-before-seen capabilities and features to their products. These new types of products can communicate with each other and a central server, processing and sharing data gathered by their sensors. Product developers can then build new features on this data and the connected infrastructure.
To use one popular example, your IoT-enabled fridge will be able to not only monitor its contents to compile a grocery list of what items are missing, but also automatically order the food online. Because your refrigerator is also connected to your other devices through the Internet of Things, you won't have to physically go to the fridge to approve the purchase; instead, it could just send you a notification that it would like to order your groceries. You'll simply tap “OK” on your smartphone, and your purchases will be on their way.
These added services made possible by IoT connectivity are so convenient that they eventually could become more important than the basic functionality of the physical product. Sure, it's great that the fridge keeps your food cool and fresh, but if that's all it's going do to, you'll definitely prefer a more advanced model that also keeps itself full of groceries. Physical-only items will no longer be able to compete, as these new services will increasingly become substantial to the product itself. What the item can physically offer will become secondary to the services it can provide via the data it collects and manages through connectivity.
Consequently, these new features (and thus, IoT in general) fundamentally redefine what we mean by a product. The term increasingly denotes not only hardware, but also the software and services attached to the physical product.
Challenges: The Three Dimensions of Integration
We've established that the Internet of Things greatly expands the opportunities of product developers. However, it also puts pressure on them to keep pace with development. They have to move away from being hardware-only developers and become adept at software development and service innovation as well (or at integrating and managing suppliers to be able to orchestrate the development of such products). They are forced reevaluate what business they are in.
Not only that, but product developers also need to learn how to manage these extra lifecycles. On top of hardware development comes the lifecycles of software development and service innovation. To make it even more complex, these lifecycles are interrelated and overlap each other to varying extents. Companies involved in IoT development need to be able to integrate these lifecycles, a practice of lifecycle management referred to as “xLM.”
While this challenge primarily requires a business and cultural paradigm shift from management, it also entails certain practical questions.
Integration of lifecycles
This is the primary business challenge, as a new approach is needed to enable companies to integrate the lifecycles’ overarching product and service development. Connecting these processes and making use of the vast amounts of data captured during the management, monitoring, and analysis of processes is a huge challenge.
Integration of suppliers
Increased product complexity means that some components or processes will inevitably have to be sourced from suppliers. However, the quality of the products and services provided by suppliers greatly impacts the overall quality of the end product, so process control is vital. Suppliers will need to be organically integrated in the process of development and be involved in relevant processes throughout the lifecycle to be able to make a valuable contribution to a successful end product.
Integration of tools and technologies
Last, tools that support the design and engineering, development, manufacturing, and operation of products and services should also be integrated in order to enable companies to manage the overarching lifecycle. These platforms, tools, and methods cover the entire multidimensional product creation process and maintenance and should be holistically integrated and managed from a single platform. This should also allow the various teams and departments involved to communicate and collaborate efficiently.
Reliability, Safety, Security, and Compliance
The eventual objective of the above practices is to allow companies to develop high-quality, reliable, and safe IoT-enabled products. As IoT development advances, new challenges will have to be faced and addressed. Data security will be one of the major upcoming challenges, as well as product reliability (including sensor power and batteries) and compliance with future standards that regulators have just recently started working on. The first, step, however, is being able to bring together and efficiently manage the lifecycles of hardware, software, and service innovation in IoT product development.
While there's no silver bullet to this challenge, the general consensus today is that integrated software tools will be necessary to support this process. The Internet of Things has significant implications for understanding and managing configurations. The integration of application lifecycle management and product lifecycle management is and will be instrumental, supporting the implementation of an integrated approach to xLM and IoT product development.