|

What the parallel development of hardware and software means for systems engineers

Cafe X

Traditionally, hardware and software developers have rarely worked together. This is because in the past there were primarily only two scenarios: either software was developed to control hardware; or the hardware enabled the software to become active. Either way, the hardware was usually developed first and there was hardly any parallel development.

However, today there is enormous pressure to parallelize the development of hardware and software. This is being driven by the many new applications of the Internet of Things (IoT), among other things. This requires systems engineers who understand this.

This article was inspired in part by my colleague Adrian Roluf's article entitled Why The Demand For System Engineers Is So High. However, Adrian focuses more on the implications for the labor market. Which again shows how important the The role of man is.

Control software

Machines have been controlled by software for decades. In such scenarios, the hardware is clearly in the foreground. For example, a CNC machine is to process a workpiece. Customers are initially interested in the maximum size of the workpiece, the available tools, etc. Once the hardware is ready, "only" the software needs to be written. The requirements for the software are therefore hardly taken into account when designing the hardware.

Enabling software

In the second scenario, the focus is on the software. In order to perform a function in the world, software inevitably needs a way to interact with the world. A corresponding example would be a coffee machine. The software inevitably needs sensors and actuators to be able to perform the function. This was a classic case of function-oriented thinking.

"Hardware first" leads to problems

If the hardware is taken as given, then it cannot be optimized. In practice, this leads to unnecessary complexity, e.g. because the necessary information has to be derived from several sensors, or because the hardware shifts complexity to the software that would be better off in the hardware.

Due to the fact that the domains are often "set" and also because hardware and software are developed differently, there is little exchange. The software team makes hardly any demands on the hardware developers, and they rarely ask.

This approach has worked for decades - not particularly well, but well enough. However, we are now reaching a point where it is difficult to remain competitive with this approach. Parallel development of hardware and software can contribute to better and more innovative products.

Internet of Things (IoT)

Well, I can't avoid the buzz word "IoT". But this is one of the drivers of this problem. Because IoT means that hardware and software are much more closely interlinked than in the past. Once again, a coffee machine is a good example - an old appliance on the left and a modern one on the right:

Picture left: Wikipedia; Picture right: CafeX

To use the coffee machine from CafeX has been much talked about recently. Whether we need such a robot, and whether the coffee is really better than from a vending machine, remains to be seen. But it is obvious that the cooperation and coordination between hardware and software is much more intensive than with traditional models. A system like that of CafeX will hardly be possible without interactive parallel development.

Bridging worlds with systems thinking

To make such developments possible, hardware and software teams need to work together more closely and continuously. And to take the example of the coffee machine, there are certainly other disciplines involved, such as barista knowledge. After all, the coffee should also taste good. This requires cross-disciplinary thinking. Incidentally, I recently discussed this with my colleague Cary Bryczek published an article in the IREB RE-Magazine.

As the disciplines sometimes tick very differently, someone has to take on the role of systems engineer in order to coordinate. Sometimes this role has a different name, but that is irrelevant. Furthermore, in some organizations there is already good cooperation between hardware and software. But usually more than just two disciplines are involved, the others need to be brought on board too.

Conclusion: Systems thinking is not only a competitive advantage, it is now essential for survival. Parallel development is just one aspect of this. Today, it is hardly possible to develop innovative products without systems thinking.

Cover picture: CafeX

Similar Posts

Leave a Reply