Software Architecture

Software Architecture is concerned with below attributes of the proposed system:

The focus of the architects are "What is going to be built , that is the THE BIG PICTURE", where as the focus of the designers are "How to build the BIG PICTURE".
The role of architect is to lead the development team to ensure designers and developers build the system according to the set architecture.  An architect should be a person who is well-rounded, mature, experienced, educated, quick learner, a leader, communicates well and can make difficult decisions when necessary.

The skills of an architect should include below list but not limited to:
  1. Stakeholder management and communication
  2. Good knowledge about the problem domain that is being handled.
  3. Broad knowledge of technology (First hand experience with at-least one technology, but must have general understanding of the competing technologies)
  4. Should be able to evaluate all possible solutions to a problem regardless of the technology being used.
  5. Identify and mitigate technical risks associated with the system.