Multiboard projects support (several PCBs in one project)

Thank you for explanation, Rene. I agree, in non-software cost of the change is huge. Unfortunately my exposure to it is only at hobbyist level.
Anyway it is pretty darn interesting how people define future characteristics of devices.


Software engineering is difficult. It happens due unpredictable complexity, bad staff and management. Sometimes even simple name of the button can make a difference. Also, unlike real engineering there is no way to build a model of future. In electrical engineering it is possible to build a schematic and run model to simulate the physical processes. In software engineering you can build a prototype but it won’t be functional until the actual code will be written. And by the time when actual code will be written the requirements will be changed. Incredible flexibility of software unties hands managers giving them freedom to changes constraints at any given point of time. Also, software heavily depends on other software which is also going through changes. For example, I support large integration with Facebook and they rollout updates every 3 months giving you 3 months to upgrade or your project will become unusable. Imagine you have to design devices with chips which is available for sale only for 6 months and you can’t buy enough of them for future use and you will get new devices specs at first day of those 6 months. Speed of changes is crazy. And if you don’t keep up, your software looks old, becomes incompatible and you can’t sell it. Therefore features are getting removed and results of bad previous decisions get accumulated making software slow or unstable. There are also human factors involved. Industry is young, has a high demand in specialists which attracts unqualified staff.