"there's never enough time to do something right, but there's always enough time to do it over." -- Mel Conway #readingToday
Thus the life cycle of a system design effort proceeds through the following general stages.
Drawing of boundaries according to the ground rules.
Choice of a preliminary system concept.
Organization of the design activity and delegation of tasks according to that concept.
Coordination among delegated tasks.
Consolidation of subdesigns into a single design.
It is possible that a given design activity will not proceed straight through this list. It might conceivably reorganize upon discovery of a new, and obviously superior, design concept; but such an appearance of uncertainty is unflattering, and the very act of voluntarily abandoning a creation is painful and expensive. Of course, from the vantage point of the historian, the process is continually repeating. This point of view has produced the observation that there's never enough time to do something right, but there's always enough time to do it over.