CPSA Risk Management and Technical Debt 2 — Questions and Answers
Question 1: What is an Architecture Fitness Function as described by Ford, Parsons, and Kua?
- A formula for calculating the cost-benefit ratio of an architectural decision
- An automated check that verifies whether the system continues to meet a specific architectural characteristic (Correct answer)
- A manual review process conducted by senior architects quarterly
- A performance benchmark for measuring system throughput
Correct answer: An automated check that verifies whether the system continues to meet a specific architectural characteristic
Fitness functions are automated tests or checks that continuously verify that the architecture conforms to defined characteristics, catching erosion early.
Question 2: How should an architect PRIORITIZE which technical debt to address first?
- Always address the oldest debt first, regardless of impact
- Address debt that poses the highest risk to quality attributes and is in frequently changed areas (Correct answer)
- Address the easiest debt first to build team confidence
- Let developers choose which debt to fix based on personal preference
Correct answer: Address debt that poses the highest risk to quality attributes and is in frequently changed areas
Prioritizing debt in hot spots — code areas that change frequently and carry high risk — maximizes the return on debt repayment effort.
Question 3: What does Conway's Law state, and why is it relevant to architectural risk?
- Systems grow in complexity proportional to the number of users
- Organizations tend to design systems that mirror their own communication structures, creating a risk of misaligned architecture (Correct answer)
- The cost of fixing a defect grows exponentially the later it is found
- Performance degrades linearly as the number of components increases
Correct answer: Organizations tend to design systems that mirror their own communication structures, creating a risk of misaligned architecture
Conway's Law warns that team communication structures shape the architecture, so poor organizational design can become an architectural risk.
Question 4: What is the Strangler Fig pattern and how does it relate to managing architectural risk?
- A pattern for isolating security vulnerabilities in a legacy system
- A refactoring technique where new functionality is built alongside a legacy system until the old system can be safely retired (Correct answer)
- A monitoring strategy that detects performance degradation in production
- A risk assessment framework for evaluating vendor lock-in
Correct answer: A refactoring technique where new functionality is built alongside a legacy system until the old system can be safely retired
The Strangler Fig pattern reduces the risk of replacing legacy systems by gradually migrating functionality to a new system while the old one continues to operate.
Question 5: Which of the following BEST describes 'architecture drift'?
- Intentional migration of components to a new technology stack
- A gradual unplanned deviation from intended architectural decisions due to local developer choices (Correct answer)
- The planned evolution of an architecture over several major releases
- The movement of services between cloud regions for cost optimization
Correct answer: A gradual unplanned deviation from intended architectural decisions due to local developer choices
Architecture drift occurs when developers make local decisions that cumulatively move the system away from the intended design without explicit approval.
Question 6: What is the primary purpose of conducting an architectural risk assessment?
- To assign blame when a system fails in production
- To identify and prioritize uncertainties that could prevent the architecture from meeting its goals (Correct answer)
- To document all known bugs in the current system
- To calculate the total cost of ownership of the software
Correct answer: To identify and prioritize uncertainties that could prevent the architecture from meeting its goals
Architectural risk assessments proactively surface and rank uncertainties so architects can address them before they become critical failures.
Question 7: In a risk matrix, how is overall risk level typically determined?
- By summing all identified risks regardless of probability
- By multiplying the probability of occurrence by the impact severity (Correct answer)
- By averaging the team's subjective fear ratings for each risk
- By counting the number of components affected by the risk
Correct answer: By multiplying the probability of occurrence by the impact severity
Risk level = Probability × Impact; this formula gives a prioritized ranking so teams can focus effort on high-probability, high-impact risks first.
What is an Architecture Fitness Function as described by Ford, Parsons, and Kua?