Comment by ryandrake
So many manufacturing companies fail at software. They think of software like it's any other component on the BOM. As if it's just like a screw or a piece of molded plastic: Build the cheapest "software part" that meets the requirements (or buy it from a "supplier"), and then bolt it onto the product some time during assembly.
They don't think of software as a major component of their brand. They don't think of software as the user's interface to (and perception of) the product. They don't think of software as an ecosystem with updates, a changing security landscape, and third party developers and integrators. It's just one of 500 things on the BOM that gets sourced and assembled.
I've seen companies where each branch in the software repo is named with a part number, and they're all somewhat similar, copy-pasted around from one another, but with no real concept of what's an earlier or later version or updates, no concept of where the codebase came from or is going, and no real structure other than "This software blob is part 003-2291-54 for product 003-2291-00. The product is shipped and we will never look at the code again."
This is exactly how a german-car-maker manager put it: just an item on a BOM. Their cars have hilarious bad software.