Definition and core expectations Flashcards
What is the structure aspect of an architecture about?
The structure of the system refers to the type of architecture style (or styles) the system is implemented in (such as microservices, layered, or microkernel).
What is the architecture decisions aspect of an architecture about?
Architecture decisions define the rules for how a system should be constructed. For example, an architect might make an architecture decision that only the business and services layers within a layered architecture can access the database, restricting the presentation layer from making direct database calls. Architecture decisions form the constraints of the system and direct the development teams on what is and what isn’t allowed.
What is the architecture characteristics aspect of an architecture about?
The architecture characteristics define the success criteria of a system, which is generally orthogonal to the functionality of the system.
What is the design principles aspect of an architecture about?
A design principle differs from an architecture decision in that a design principle is a guideline rather than a hard-and-fast rule. An architecture decision (rule) could never cover every condition and option for communication between services, so a design principle can be used to provide guidance for the preferred method (e.g. asynchronous messaging) to allow the developer to choose a more appropriate communication protocol (such as REST or gRPC) given a specific circumstance.
What is expected by “Make architecture decisions”?
An architect is expected to define the architecture decisions and design principles used to guide technology decisions within the team, the department, or across the enterprise.
What is expected by “Continually analyze the architecture”?
An architect is expected to continually analyze the architecture and current technology environment and then recommend solutions for improvement.
What is expected by “Keep current with latest trends”?
An architect is expected to keep current with the latest technology and industry trends
What is expected by “Ensure compliance with decisions”?
An architect is expected to ensure compliance with architecture decisions and design principles
What is expected by “Diverse exposure and experience”?
An architect is expected to have exposure to multiple and diverse technologies, frameworks, platforms, and environments.
What is expected by “Have business domain knowledge”?
An architect is expected to have a certain level of business domain expertise.
What is expected by “Possess interpersonal skills”?
An architect is expected to possess exceptional interpersonal skills, including teamwork, facilitation, and leadership.
What is expected by “Understand and navigate politics”?
An architect is expected to understand the political climate of the enterprise and be able to navigate the politics.
What is the first law of software architecture?
Everything in architecture is a trade-off.
What is the second law of software architecture?
Why is more important than how.
What is architectural thinking?
First, it’s understanding the difference between architecture and design and knowing how to collaborate with development teams to make architecture work.
Second, it’s about having a wide breadth of technical knowledge while still maintaining a certain level of technical depth, allowing the architect to see solutions and possibilities that others do not see.
Third, it’s about understanding, analyzing, and reconciling trade-offs between various solutions and technologies.
Finally, it’s about understanding the importance of business drivers and how they translate to architectural concerns.