By Bill Graham
Fast-evolving technologies including virtualization, multi-core processors, and System on Chip (SoC) are bringing exciting new capabilities to embedded devices. These technologies can help address new market requirements to support the Internet of Things, connectivity, cloud computing, machine to machine communications, and improved security, but they also underscore an uncomfortable truth: development risks increase with new technology and requirements, yet not enough is done to address development risk early enough in a project. Finding, mitigating and solving risks early are key to delivering a quality project on time.
Embedded development is now at a tipping point. Complexity, cost, risk, and delay are all on an upward climb, and each new technological advance and market shift only exacerbates development challenges. Development teams are under intense pressure to get their projects completed on time, to make them more future-proof and secure—without sacrificing features or quality, and working with budgets that have already been cut.
Traditional Development Platforms Can’t Deliver on the Promise Alone
A paltry 14% of “new technology” projects are counted as successful today, according to studies from Invent/Vermont. Here’s some reasons why we think something needs to change:
- Legacy embedded software platforms aren’t meeting security and compliance requirements. New technologies introduce more technical and business risk to your product development. Much of this risk is unknown at the early phases of development meaning scheduling and cost estimation is difficult. In highly regulated markets such as healthcare, aerospace and defense and telecom the cost of non-compliance or a breach of regulation can be crippling—but as devices and applications become more capable, the risk for transgression increases. Developers need to discover and deal with risks earlier in the lifecycle than what is traditionally done.
- In-house and roll-your-own tools, operating systems and middleware weren’t designed for the new technologies and aren’t keeping up. More and more device functionality is delivered via software, and developers are struggling to integrate legacy tools and processes with new tools and techniques. Hardware sophistication is also mushrooming: in the embedded world, many products now use 32-bit and 64-bit multi-processor architectures, and multi-core versions of processors further complicate development and testing. Yet hardware and software can no longer be developed independently; the “system” has become the highest level of abstraction, which means device manufacturers need a way to drive system definition, development and deployment in very collaborative and iterative ways. It’s just too expensive and risky to upgrade and maintain in-house solutions when commercial off the shelf (COTS) software solutions offer better support for new technology and market demands. Additionally, it doesn’t make sense for development teams to spend time and effort on embedded operating system platforms when differentiating and revenue-generating features are at risk. Commercial solutions offer a lower total cost of ownership over roll your own solutions.
- Many software development tools don’t provide vital capabilities. Tools for multi-core, virtualization, and SoC development must deliver new capabilities that legacy development tools simply don’t provide. Developers need to be able to find issues with parallelism, performance, and cache coherency quickly; they must address challenges around configuration and prototyping; they must support diagnosis, analysis, and testing. Simply put, new technologies add more “multiples” to be managed at every phase of development, and teams are already pressed to make deadlines with projects involving older technologies.
- Concentrate on product features, not maintaining product platforms. Many embedded development teams spend a significant portion of their development on developing and maintaining software platforms that are either roll your own (RYO) operating systems and middleware, or open source solutions that the team is supporting themselves. It’s time that embedded developers spend more time on money-making features not RYO solutions. When trying to create more features using smaller budgets, it makes sense to let commercial companies replace RYO solutions.
It’s not doom and gloom by any means
While challenges are on the rise, the prospects for embedded development aren’t all doom and gloom. In fact, there are promising trends that are turning the tide. One aspect of this is the emergence of commercial offerings that go well beyond basic operating system and board support packages. The new generation of embedded software vendor should provide support, training, design and board support services, tools and pre-integrated platforms that provide OS, middleware and application frameworks. In the next upcoming posts, we’ll examine how Wind River is helping customers to make the shift towards an embedded development transformation.
For additional information from Wind River, visit us on Facebook.