Developing new aircraft, building a new ship, building a custom-designed bridge (most of them are) are processes that often run out of time and / or budget.
If you want predictability, you want repeatability. But in software all reliably repeatable parts become automated away.
But I think good projects release early and often precisely so that they can learn as they go. At which point predictability goes out the window.