System Requirements and Architecture
Iterate the system requirements and the system architecture repeatedly:
Systems professionals often address the system architecture after the requirements are "finished" or "finalized." However, we know from our experience that the system requirements are never finished or finalized--typically, there are extensive refinements and changes to the requirements as system development proceeds. Also, we've learned that the physical architecture of a system influences and changes the requirements. Accordingly, an effective requirements practice is to iterate the system requirements and the system architecture repeatedly until we are satisfied with both. The iteration should be completed in a finite period of time. Either we arrive at something workable or we recognize that we don't have a project yet.