From my experience I can tell you that it is not easy to create a successful architecture for a brand new system in an environment where you deal with rapidly-changing requirements and all sorts of constraints. The purpose of this post is to explain the steps I normally take in projects to evolve from requirements that are sometimes unclear to the first stable release of the product architecture.
This process can be difficult for the following reasons:
To address these difficulties, here are some process-related considerations worth mentioning:
Steps to build the architecture: