The evolving IoT market offers product companies tremendous opportunities but presents development teams with an inevitable conflict between product complexity and project timescales. The IoT market expects that each new product generation extends the previous generation with an innovative set of exciting new features and capabilities.
However, the lifetime of each product generation has shrunk dramatically. Ubiquitous connectivity and rapid consumer interchange through social networks have sharpened traditional product lifecycle curves.
As a result, new products can achieve market dominance in a fraction of time required in the past.
Product developers are under continued pressure to innovate. For the deeply embedded systems underlying every IoT device design, software already constitutes the greater share of development effort thanks to availability of feature-rich microcontrollers and microprocessors. At the same time, the majority of effort for new generations of products lies in development of new and different software features.
Are product innovation and speedier delivery mutually exclusive? Conventional development strategies have done little to allay concerns that greater product complexity inevitably leads to project delays.
For IoT product companies, the harsh reality is that projects are falling further behind in their goal to meet tight delivery schedules. Worse, the length of the delivery delay is growing even as market windows of opportunity continue to shorten.
Product complexity vs project schedule
Market demand and competitive pressure promise to accelerate complexity of IoT devices — translating into a greater burden on software developers for meeting tougher requirements in tighter schedules. The ability to respond effectively to growing complexity is critical for market success, yet current development strategies offer little help in meeting project schedules as product complexity rises.
For embedded systems underlying IoT devices, greater complexity translates into additional hardware and software components. Each feature incrementally extends the duration of individual development phases when using conventional strategies that rely primarily on in-house custom development.
By identifying opportunities for true differentiation in IoT device designs, IoT product companies can respond more effectively to growing product complexity and shrinking project schedules. In serving specific applications, IoT devices will offer markedly different features and capabilities. Yet, every IoT system will share many common characteristics at the system level.
While software drivers manage hardware at the lowest levels of the software stack, additional layers handle standard communications protocols and increasingly important services such as power management and security.
In these systems, the real-time kernel provides resource allocation and task management for middleware and for the application-specific software layer itself.
The decision to innovate in IoT design
For IoT companies, is it more important to build innovative products or to build products based exclusively on internally developed software components. Aside from those components that truly differentiate an IoT design, underlying software layers largely contribute basic features common to most or all IoT products. Innovation lies within the higher application layers.
For IoT product companies, the decision to acquire rather than build non-differentiated software code enables in-house developers to collapse development time for those layers. As a result, developers can focus more strictly on the application layers, implementing the features and capabilities that truly set each particular IoT design apart from competitive products flooding the marketplace, each looking for a share of this rapidly evolving IoT universe.
The impact of the IoT on development
For an industry literally built on custom software development, the concept of licensing software to speed product development represents a significant paradigm shift. Even in development organizations where every software bit might have been built in-house, the cost of non-competitive products or delayed market entry is simply too high in the IoT arena.
Instead, shifting resources to acquire non-differentiated code offers multiple advantages not only during the development phase but throughout the product lifecycle:
-The availability of a comprehensive ecosystem of tools and software minimizes start-up delays common in the early phases of conventional development projects.
-By licensing low-level software, development organizations not only free themselves from the requirement to build those layers but also shift the burden of lifecycle maintenance for that software to the third-party software vendor.
-In providing the interface to underlying hardware, low-level software has often proven a schedule bottleneck when developers need to rewrite portions of this code to scale a system design to more powerful hardware processors; licensed software eliminates this bottleneck.
-By building on a proven software layers, developers can jumpstart system development to focus more quickly and confidently on differentiated code – ultimately enabling IoT product companies to deliver more innovative solutions more quickly.
In this IoT marketplace, traditional rules no longer promise success. In-house development of software common to nearly all IoT devices offers little competitive advantage. Worse, it threatens to sidetrack engineers from development of high-level application code where true differentiation resides.
In this environment, embedded development is finding a welcome paradigm shift toward designs built on a combination of licensed code and custom application software. By acquiring rather than building low-level software, IoT development organizations are enabling themselves to focus their efforts on delivering more innovative products more quickly and effectively within shrinking market windows.
About the Author:
Senior engineer MCU/MPU marketing
Renesas Electronics Europe