It has been almost five years since Marc Andreessen wrote the words, “Software is eating the world.” The premise of his essay in the Wall Street Journal in 2011 was pretty simple: the technology world has seen its intrinsic value shift from hardware to software. New all-software names have appeared on the list of high flying companies, and hardware firms have been forced to transform into a more software-centric mix – or shrink, or maybe even die.
On a broader scale, companies that hadn’t viewed themselves as technology firms have been compelled to add software capability. In order to remain competitive with more socially savvy consumers and a menu of web- and mobile-enabled services, just about every company is a software company these days. Andreessen recently pointed out one more important dimension, building on another writer’s idea suggesting how valuable tech security expertise is today:
1 Software eats the world, 2 Every company becomes a software company, and 3 Software people run every company: http://t.co/nFHKfTEdJg
— Marc Andreessen (@pmarca) May 31, 2014
IoT applications push the needle even harder in the direction of software. Both device and cloud components of application require attention, and often new expertise in connectivity and enterprise-style IT discipline that may be in short supply in organizations used to traditional embedded design practices. The complexity and amount of code is steadily rising.
Viewing IoT devices as solely software or hardware is flawed – they are by definition part of a larger system, and both must be solidly designed for a positive outcome.
VDC Research has been surveying engineers in embedded design for decades, uncovering sentiment-based observations across broad samples of the community. I first worked with the VDC team at Motorola, where their data was part of our decision-making process along with primary customer product requirements research efforts I led.
One thing that hasn’t changed much in all the years I’ve been working on embedded projects and looking at VDC data is schedule adherence. The numbers vary based on who is being sampled, but there is always a sizable chunk of embedded projects out of control. Is the cause rising complexity? Is it a lack of resources? Is it a lack of understanding of the actual use cases (see my previous post on a need for IoT device validation)?
Chris Rommel of VDC tossed out one of the more interesting charts I’ve seen lately in a recent webinar that stole its title directly from Andreessen. Rommel asked an additional question: did we just misestimate the schedule up front, or did we get ambushed by uncontrollable factors during development? He prefaced those comments with an interesting quote: “What didn’t work in the past, really doesn’t work now.” Here’s the chart he showed:
The suggestion is virtual prototyping can eliminate uncertainty through better visibility, and presumably flush out some problems before they impact a schedule. (This particular survey interviewed over 800 respondents, and a little more than a quarter of those were virtual prototype users.) It isn’t that problems suddenly cease to exist – it’s that they are found and dealt with more efficiently.
Software may not have eaten the entire world just yet, especially when it comes to embedded design and there is a piece of critical, purpose-built hardware that has to be right. However, it clearly has the potential to eat schedules alive.
In IoT design, both the hardware and the software must be explored and thoroughly tested to ensure validation. For example, a robust virtual prototyping system can dig deeply into tradeoffs in power and performance simultaneously – long before teams commit silicon to a solution. This is a change from the past, where hardware was tossed over the wall and software adapted until it “worked”. Co-design has never been more important than it is right now.
Changes in embedded design practices have always moved slowly. New specifications typically take 5 years or longer to get traction. Risk often outweighs reward, particularly in safety-critical systems. Much of what Rommel is calling for, and Synopsys is offering virtual prototyping tools for, comes from a faster moving mobile SoC market with millions of chips shipped in new devices with 12-18 month lifecycles.
IoT chips deserve, and need, more careful attention to design and validation. That might require adding resources and upgrading tools, and extending schedules accordingly – not things managers will be excited to hear. I always ask clients what is the alternative? Rushing a product out that fails to meet user expectations, falls prey to a security breach, or just plain doesn’t work, is hardly worth being “first to market” or justifying skimped development costs.
For the full webinar and all of Rommel’s comments and charts along with a short Synopsys presentation on end-to-end prototyping from Tom De Schutter, visit: