I understand that might be case for a lot of SW development. But in the context I was talking about, the HW is so much more complex than the SW. Valid for a lot of cases too. But then, why? If we know that we cannot build a 100km long bridge, nobody attempts to build that and waste resources. Why does software development lack this?
When is HW much more complex than the SW? I work in a company that designs (far from trivial) hardware, and develops embedded software, and in my experience software is always more complex than hardware, due to the many layers of abstraction (unless you are writing only, IDK, boot loaders in assembler? and even then it is about the same level of complexity)