Yes but can you plan anything properly in advance? How many unknown unknowns aren't being accounted for? Maybe it's best to plan for improper planning. What to do when (not if) critical decisions start falling apart?
You go back to the design. A few critical changes in the requirements, that's expected. A codebase in which the critical parts change often, that's a red flag
You go back to the design. A few critical changes in the requirements, that's expected. A codebase in which the critical parts change often, that's a red flag