In footnote 3 the author says, "it is both reasonable and absolutely necessary for a project to have the most critical parts of the organisation of the codebase being designed upfront".
Is that so? Why? Where is the evidence?
Let me counter with a quote from Fred Brooks Jr.: "..plan to throw one away; you will, anyhow."