Does your company need system engineering?
That’s a basic question that an increasing amount of companies are starting to ask themselves. No organization can afford to really ponder these kinds of questions without some motivation. No, there’s a reason they are becoming introspective in this way: there are some serious implications of failed system-level prototypes. And that will always motivate organizations to consider change.
— Lifecycle Insights (@LC_Insights) April 27, 2015
You can read more about this finding here, but in general the companies with fewer system-level prototype failures (first row across) have most of their products released from engineering on time (darkest cells in that row). Those that have a lot of system-level prototype failures (bottom row across) have few of their products released on time (darkest cells in that row). In general, you can see a trend of dark cells from the bottom left to the top right, indicating that there is a direct correlation to these failures and releasing designs on time.
So why is this a big deal? Isn’t system engineering just for companies in the automotive and aerospace industries? Well, I’d suggest that is changing, in a dramatic way, for one reason: increasing product complexity.
Assessing Product Complexity
To some of you, this might sound off. And, in fact, some of you might be facing less design complexity, but only in a single domain. Following along and I’ll explain.
Mechanical Complexity: Plateaued
Now for years, complexity in this engineering domain was only rising. Huge steps were being taken in terms of functionality and design. However, from what I am seeing, complexity has plateaued. There are various reasons for this, however, I’ve seen two main drivers here:
- One is to push the enablement of new product capabilities to electronics and software. Dashboards are now incorporating digital displays instead of the mechanically based needles. Dials are controlled through touchscreens instead of dials. This kind of trend will only increase.
- Another is to push enablement through new materials. This is a field that is exploding in application to design. This might be customized material properties for a specific environment. It might be properties that vary dimensionally such that it replicates the functionality of an old-school mechanism. Regardless, this field is taking some of the responsibility of mechanical complexity.
There are certainly exceptions here. I am sure that mechanical complexity for some of you is only increasing. But, from my experience, it has plateaued.
Electronics Complexity: Rising… Again
For some time, PCB complexity was exploding. They were showing up everywhere. But as a lot of that functionality got pushed down into Integrated Chips (ICs), complexity at the PCB level plateaued.
Today, that complexity is on the rise again. There is so much need to enable ‘smart’ capabilities in today’s products, yet there is so little space, that engineers are having to get creative with packaging again. Now, you’re seeing multi-board systems that are incredibly complex. There are new methods that have emerged around designing these specific types of systems.
On top of that, the ICs continue to get more complex. The high tech industry continues on their march to miniaturize ICs. Heat management is, and will continue, to be a problem. That won’t be changing anytime soon.
Software Complexity: Exploding
There’s little doubt about it: the amount of software in today’s products is increasing dramatically. It seems like every day, you hear some new amazing quote about how many millions of lines of code are in that airplane, that car, that home speaker system, that x-ray machine or something else. Control software is going into everything. User Interfaces are popping up everywhere. That’s one of the big reasons why software engineers are being hired at a ridiculous rate, even by traditional manufacturers. This trend will only continue, but it might be merged into the next one.
Connectivity Complexity: Emerging
You might have a perfectly functioning product. The mechanical aspects might work flawlessly. The electronics and software might be perfect in terms of providing control and intelligence. Yet, if it can’t stream data to a secure storage location or communicate remotely, it results in a failed prototype. Three out of four simply isn’t good enough anymore. And its showing up in every single industry.
Based on your industry, the IoT era either has changed or is in the process of changing what it means to design a product. And this is yet another discipline that needs to work alongside all the others being incorporated into the product. And it is only going to get more complex.
Do You Design Systems?
Lots of companies look at their product and think ‘no.’
However, let’s look at this from a development perspective. Does your company include software and electronics into a mechanical thing? Are you planning on connecting that product to the internet? Are you going to be streaming data from that product?
If you answered ‘yes’ to these questions, then you are developing a system. Now, your product might be kind of simple. Yet, here’s the problem. In even the simplest scenario, your company is asking four different teams (mechanical, electrical, software, IT) to work together to develop a product. For large portions of that development cycle, those teams will need to go work in their own domains to fulfill requirements. Some methods or practices are needed to start those four teams off with the right set of assumptions, to keep their work coordinating in the middle of the chaotic work-in-process phase, and to validate that all of those domains integrate back together to make a single whole product. Even when the individual domains are simple, that is a complex process. Don’t kid yourself.
Ultimately, that is why your system-level prototypes can still wreck your schedule, even if you don’t call it a system-level prototype.
Takeaways and Conclusions
We’ve covered a lot of ground here. Let’s recap things.
- Our findings show that multiple system-level prototypes can wreck design release schedules. Beware.
- Complexity in some engineering domains has plateaued while others are exploding.
- If your product incorporates mechanical, electrical, software and IoT disciplines, then you’re developing a system.
- We didn’t talk about it much here, but system engineering is a collection of practices, methodologies and enabling technologies that help manage this kind of complexity across engineering disciplines. There are plenty of posts on this site that provide more depth (here, here and here are a few examples). You’ll find more here in the future.
That’s my take folks. Weigh in with yours in the comments. I look forward to the discussion.