Properly engineered stuff will work as designed. Imagine an A380 falling out of the sky on the test flight and engineers exchanging betting money based on whether it flew or crashed. "Well, that didn't work.".
Engineering does everything to take the uncertainty out of design as much as possible. It's the anti-thesis of throwing things together to see if they work.
Ok, there are some things that don't lend to the iterative approach. Airbuses, bridges and skyscrapers would be three examples.
When you are designing the wing for the A380, probably a good idea to bust out the FEA software. But it's still going to be tested with hydraulic rams.
As far as I am concerned, bridges have fallen, buildings have broken, and airplanes have crashed. I guess its a different iterative process then software, but neverthless, it is an iterative process.
Throwing stuff together and seeing if it works is the essence of engineering.