I saw a video where a mechanic replaced a pack on his Model S with a 100Wh pack. There were some minor issues of fit, which he had all figured out. There was a connector change and some sheet steel around the edges that needed changing out to make it physically fit. The procedure was to keep a table under the vehicle, lower the vehicle so that the pack rested on the table, remove the last retaining bolts on the bottom, and lift the car back up. Reverse for install except he had to align it first. He estimated it would take 2 hours total. This car was designed for fast pack exchange. The coolant connections were self connecting and disconnecting.
Then came the software. The amount of complexity and jargon and issues and roadblocks that come out of nowhere is extraordinary. You have to dive several layers deep in a menu system to do step 1, then get hung up on opening a "gateway", then dive down the same menu to do step 2 of a 2-step process. He had another problem that kept him busy but what impressed me is the amount of time and complexity to do the simplest things. He wasn't performing many steps, but just getting to the step required rebooting, waiting, pressing the brake pedal to see when it was time to move the right turn signal stalk, didn't work, go back, do something else for 10 minutes, try again, it seemed endless.
German automotive companies have historically been terrible at software. Just because Tesla hasn't simplified or integrated their various software components yet, doesn't mean others can't do it nicer. But any company that doesn't value software like the Americans do is going to have a real tough time with the EV software problem.
All hardware companies are terrible at software except NVidia. It's not just German automakers, US automakers are just as bad.