| ▲ | rickdeckard 5 hours ago | |
There is also a much closer defined "completion" state in hardware, with responsibility also more distributed across suppliers. You have a committed spec of one component, connected to the committed spec of another component, with committed maximum deviations. All that is fixed, so you engineer for possible permutations and mass-production. (it's still a massive feat, I'm not downplaying it. But it has a defined completed controlled state) In software this is much more fluent. You may have a spec of a library and the APIs you use, and your app might otherwise be static. But you're handing alot of what you do to an OS, which juggles everything and continues to change over time. That API you're calling may not even have full control over the modules its interacting with. | ||