CPSA Architecture Fundamentals and Roles 5 — Questions and Answers
Question 1: According to iSAQB, which activity is considered part of 'architecture evaluation'?
- Measuring developer productivity using lines of code metrics
- Assessing whether architectural decisions meet stakeholder concerns and quality requirements (Correct answer)
- Calculating the total cost of software licenses in the system
- Reviewing the project manager's sprint planning decisions
Correct answer: Assessing whether architectural decisions meet stakeholder concerns and quality requirements
Architecture evaluation systematically assesses whether the architecture meets its quality requirements and adequately addresses stakeholder concerns, often using methods like ATAM.
Question 2: What is the primary goal of applying the 'open/closed principle' at the architectural level?
- Ensuring all modules are open-source and freely available
- Designing components so they can be extended with new behavior without modifying existing code (Correct answer)
- Allowing any developer to close and reopen source files freely during development
- Preventing external systems from accessing internal APIs
Correct answer: Designing components so they can be extended with new behavior without modifying existing code
At the architectural level, the open/closed principle means designing extension points so new behavior can be added through extension rather than modification of stable components.
Question 3: A software architect discovers that two teams have independently implemented identical utility functionality in separate services. Which architectural concern does this represent?
- Horizontal scaling
- Redundancy in deployment
- Code and knowledge duplication creating consistency and maintenance risk (Correct answer)
- Proper service isolation following microservices principles
Correct answer: Code and knowledge duplication creating consistency and maintenance risk
Duplicated implementations create a risk that the two copies will diverge over time, leading to inconsistent behavior and doubled maintenance effort.
Question 4: Which of the following BEST describes the architect's role in an agile project?
- Producing a complete upfront design before any code is written
- Avoiding all technical decisions to preserve team autonomy
- Continuously collaborating with teams, making just-enough decisions, and enabling evolutionary design (Correct answer)
- Attending only the initial sprint and the final release sprint
Correct answer: Continuously collaborating with teams, making just-enough decisions, and enabling evolutionary design
In agile contexts, architects collaborate continuously with teams, make decisions at the last responsible moment, and support evolutionary architecture rather than producing a complete upfront design.
Question 5: What is the main risk of over-engineering an architecture?
- The system becomes too simple to maintain
- Unnecessary complexity increases cost, development time, and maintenance burden without proportional benefit (Correct answer)
- The system will automatically become insecure due to too many abstractions
- Over-engineering only affects performance, not other quality attributes
Correct answer: Unnecessary complexity increases cost, development time, and maintenance burden without proportional benefit
Over-engineering adds complexity that does not deliver business value, increasing the cost and time to build and maintain the system while often making it harder to understand.
Question 6: Which of the following describes the concept of 'Conway's Law' and its architectural implication?
- Systems are always more complex than originally planned due to scope creep
- Organizations tend to produce system designs that mirror their own communication structures (Correct answer)
- Larger teams always produce higher-quality software than smaller teams
- The performance of a system is inversely proportional to the number of its components
Correct answer: Organizations tend to produce system designs that mirror their own communication structures
Conway's Law states that organizations design systems that reflect their communication structures, so architects must consider team topology when designing system boundaries.
Question 7: In the context of CPSA-F, which of the following is the BEST definition of 'abstraction' as an architectural principle?
- Hiding implementation details behind well-defined interfaces to manage complexity (Correct answer)
- Removing all documentation from code to save storage space
- Using abstract classes instead of interfaces in object-oriented programming
- Delegating all implementation decisions to the development team
Correct answer: Hiding implementation details behind well-defined interfaces to manage complexity
Abstraction in architecture means exposing only the essential aspects of a component through clear interfaces while hiding internal complexity, which is key to managing system complexity.
According to iSAQB, which activity is considered part of 'architecture evaluation'?