To take a few examples from the article with likely causes (note I don't work for BMW, so this is pure speculation based on my own experience):
> BMW has over-engineered the diagnostic procedure to such a level that even their own technicians often do not know the correct replacement process.
The ECU, diagnostic procedures and service methods are being developed by a different org-units. One is engineering, which works towards their own development use cases. They might develop the on-board diagnostic interfaces. The service unit develops their own tester and have to develop their own procedures.
Engineering is usually late with providing real hardware & software samples, let alone a fully integrated car. The service unit might only get a working test car very late in the process and discover that the procedure is super complicated. By that point the car development is already too far along for major changes. Remember that most components have been specified and awarded to suppliers years ago by this point.
> And it gets worse: the original iBMUCP module, which integrates the pyrofuse, contactors, BMS and internal copper-bonded circuitry, is fully welded shut. There are no screws, no service openings, and it is not designed to be opened, even though the pyrofuse and contactors are technically replaceable components.
Engineering is not concerned with these issues, it's usually the service unit which needs to bring in maintenance requirements. A judgement call is being made whether an assembly that you source as a single part needs to be split up further. For example, if you split it up further, you now have more parts to manage. You need to provide logistics and must allocate space in your spare parts warehouses for these new parts.
That usually makes sense for expensive components. Here's another fact: the manufacturer allocates a warranty & goodwill budget for each car line, because the manufacturer has to pay dealers for these repairs if it falls into the warranty period or is judged to fall under good will. It's usually not in the interest of the manufacturer to have expensive repairs because of that.
It might also be that the repair is being deemed to dangerous, because it is a high-voltage component. Opening it up and tinkering with it might increase the risk of an electrical fire in the battery. It might be that this risk was judged to be higher than the repair cost.
> Additionally, the procedure requires flashing the entire vehicle both before and after the replacement, which adds several hours to the process and increases risk of bricked components which can increase the recovery cost by factor 10x.
No service unit wants these long flashing times, because it blocks a repair bay in the workshop. But it's usually because the EE integration has been developed in this way. It might need coding, calibration or just bringing up everything to the latest release.
Vehicle SW is super regulated, you need to fulfill a staggering amount of regulations. Look up UNECE-R156 SUMS as an example. It might be that the new parts comes with a newer SW version, which has only been verified and approved in combination with newer SW in the other components. This would require flashing ancillary ECUs as well even if they have not been changed to ensure release compliance.
> Even after we managed to open the unit and access everything inside, we discovered that the Infineon TC375 MCU is fully locked.
Look up UNECE-R155. Things like these are mandated, if not directly in the regulation then indirectly by making the manufacturer liable for any modification that somebody did to their car. It is practically required to lock it down.
Just a few points off the top of my head, the comment got too long anyway.