Then of course you'll get a buggy second system that is back at square 0 which the business doesn't understand/hates and the developers hate because they're constantly fighting fires.
I say this because no matter what methodology is used there will be spaghetti code regardless, mid tier devs like to over engineer solutions, junior devs don't know better and do whatever is first on stackoverflow.
Business execs also don't ever know what they want so change a system half way through when they see prototypes so then you still end up with Franken-systems.
To that end, you might as well start with a half spec'd system as it saves time.
It didn't.
> Just build it and figure it out as you go.
That sounds like hundreds of waterfall projects that I was pulled into after they hit the 1/2 way mark and we're running behind because of unexpected scenarios.