A software architect is a software engineer responsible for high-level design choices related to overall system structure and behavior.
It's a software architect's responsibility to match architectural characteristics (aka non-functional requirements) with business requirements. For example:
Having high customer satisfaction requires availability, fault tolerance, security, testability, recoverability, agility and performance in the system.
Doing mergers and acquisitions (M&A) requires extensibility, scalability, adaptability, and interoperability.
Constrained budget and time requires feasibility and simplicity.
Faster time-to-market requires maintainability, testability and deployability.
Current Images
View on-wiki →
No images found in this article.