How many times does your project need to go back to square one ?
We all would like to say never, however a surprising number projects have to "start over" more than once. Frequently this is because the system was not designed in the first place, it simply grows as each programmer tacks on extra tables until the whole mess implodes under it own weight of redundant code and data.
Other times projects are "paralyzed by analysis". Sign off from "on high" is never achieved for the system specification because the design is so complicated that by the time the specification is understood the Business requirement has moved on.
CodeCheck Systems believes that there is a pragmatic middle ground between these two extremes.
The complete system is designed to the "overview level" before development commences.
Projects are "phased" as much as possible so that the project sponsor can see something working for their money as soon as possible.
Project module details are thought through before the module is built. If however it takes longer to design than build then something has gone wrong !
There are good reasons behind most data modeling rules. The rules can be ignored but your eyes need to be wide open.
You can't design everything to 100% detail without making a mistake. Produce a workable and flexible design and be prepared to alter it if required.