And things like "race conditions"/lack of scalability due to improper threading architecture aren't especially easy to fix(!)..
Also, there's a certain point where you can't avoid management sabotaging things.
Of course, it requires some discipline to not just yolo the prototype into production when that’s not appropriate.
It's sort of the old General Eisenhower quote: "In preparing for battle I have always found that plans are useless, but planning is indispensable."