Engineering in the Age of Software-Driven Products




If you consider the makeup of today’s products, the physical design aspects often seem to take a back seat to embedded software, which is fast becoming the dominant force in everything from the latest, state-of-the-art jumbo jet liner to a mid-grade consumer appliance.

Take the Boeing 787 Dreamliner, for example, considered by many to be the pinnacle of next-generation aircraft design. Beyond its widely-hyped use of composites is 6.5 million lines of code used to power its avionics and onboard support systems.

While certainly impressive, that software stash pales in comparison to what’s found in your average automobile, which in 2010, had about 10 million lines of code. Today, the average luxury car is loaded with about 100 million lines of code—the brains behind a variety of on-board systems, from navigation to assisted braking to stability control. And that’s just the start. By 2040, the amount of embedded software in the average vehicle will exceed 120 million lines of code, according to forecasts by the Society of Automotive Engineers (SAE).

The shift towards software isn’t limited to the automotive or aerospace sectors. Smartphones contain roughly 50 million lines of embedded software code, and pacemakers are estimated to have about 250,000 lines of code. Consumer appliances like washers and dryers depend on embedded software and control systems for their more innovative features—like automatically sensing load size to optimize cycle times for greater energy efficiency.

As all sorts of products gain similar types of “smarts,” the amount of embedded software code is only going to rise, even in offerings that have traditionally been primarily hardware-oriented. According to a 2012 report by Aberdeen Group, survey respondents reported a 25% increase in the amount of embedded software code found in their products, on average, over the last few years.

The spike in embedded code comes down to something pretty simple. As it turns out, software is just a far more effective way of differentiating a product, allowing companies to easily customize an offering or to create new revenue streams far more quickly than they could trying to come up with an electro-mechanical solution. Software is also key to keeping products fresh, allowing firms to periodically add new features, issue updates, or fix problems much more efficiently, which is critical against a backdrop of mounting global competition and shorter time-to-market cycles.

A Systems Engineering Wake-Up Call

All this emphasis on software doesn’t mean design engineers suddenly have to become experts in controls systems or unleash their inner embedded software beast. While it might not hurt to go the extra mile and brush up on some basic programming skills, the reality is that mechanical engineers should stick to what they do best—that is, spearhead the aspects of mechanical design.

What does need to happen, however, is a change in mindset and design practices. As opposed to a heads down, silo approach that characterizes so many engineering organizations, the rise of embedded software is just another wake-up call for companies to finally get serious about system engineering. Not just pay lip service to the practice, but really put the tools, processes, and change management energy into creating an engineering culture that embraces software (along with electronics, for that matter) as part of holistic design.

By making systems engineering a core discipline, organizations ensure better collaboration across the key engineering functions resulting in shorter development cycles and better product quality. The old, iterative design approach where mechanical, electronics, and software components are created in silos, sequentially doesn’t cut it in an age where products are so heavily weighted with software. Rather, defining and characterizing all of the systems and their interactions from the earliest stages of development ensures that the independent entities come together as an integrated system, not just individual components.

Obviously, there are huge cultural and organizational issues that go hand in hand with system engineering. Yet there have been significant advances on the technology front that will help facilitate the transformation to systems-driven product development. For one thing, PLM has evolved to encompass systems engineering capabilities that break down the traditional divide between mechanical, electronics, and software domains, allowing the groups to share information, collaborate, and sync up requirements management activities.

PLM should also be tightly integrated with Application Lifecycle Management (ALM) software to ensure the software life cycle is managed in context with the rest of the product lifecycle. PTC’s Systems Engineering Solution, for example, fosters cross-discipline product development by connecting PLM with ALM and Model-Based Systems Engineering (MBSE) tools.

The rise of embedded software is not a threat and it’s certainly not something the average design engineer should ignore. Rather, the rise of software is the perfect opportunity for organizations to rethink their longstanding practices and make that much-needed shift towards systems-driven engineering.