In reply to those who say that not everything can be locked down:
Some projects have very specific design briefs with tight deadlines. In this situation everything must be pinned down beforehand, and can be. Maybe I am talking about different types of projects that don't fall into the indie game development category.
John J - many projects have no "very complex technical features". And anyways all very complex features can be broken down into small uncomplex items.
Regardless of all this, my general point is that design and structuring before you start coding will save you later in dividends.
I favour flowcharts and data diagrams.
Some projects have very specific design briefs with tight deadlines. In this situation everything must be pinned down beforehand, and can be. Maybe I am talking about different types of projects that don't fall into the indie game development category.
John J - many projects have no "very complex technical features". And anyways all very complex features can be broken down into small uncomplex items.
Regardless of all this, my general point is that design and structuring before you start coding will save you later in dividends.
I favour flowcharts and data diagrams.