Why does your software keep failing during development? Don't you have the knowledge to make it work?
It's the old, non-iterative everything-up-front method to rocket development that's weird. At least as a developer it seems obvious that a more hardware-rich approach with a high iteration rate will lead to a better outcome in the end, _especially_ when you're trying to push hard on the technological boundaries.
That's part of the innovation; don't just build a single reaaally expensive ship that has to be perfect. Instead, build a _ship factory_ and crank them out (relatively) cheaply and fast.
It's the old, non-iterative everything-up-front method to rocket development that's weird. At least as a developer it seems obvious that a more hardware-rich approach with a high iteration rate will lead to a better outcome in the end, _especially_ when you're trying to push hard on the technological boundaries.