Skip to content

Structural and Cross-cutting Characteristics Quiz

15 questions on the characteristics felt by the people changing the system, and on the ones that constrain all of it: maintainability, modularity, testability, deployability, configurability, security, observability, usability, portability and interoperability.

Structure

#

Which measurement is the most honest proxy for maintainability?

#

A feature request consistently requires edits in the controller layer, the service layer, and the repository layer. What does this indicate?

#

Connascence of position is discovered between two modules that communicate across a service boundary. What is the recommended direction of change?

#

A "common" library is shared by every service and changes weekly. What has effectively happened?

#

A team's test suite is dominated by slow end-to-end tests, and unit tests are rare. What is the most likely architectural cause?

#

Which change most improves controllability and determinism in tests?

#

Why is building one artefact and promoting it through environments better than rebuilding per environment?

#

The four DORA metrics measure throughput and stability. What does the evidence say about their relationship?

#

Which schema change is safe to deploy alongside a rolling release?

#

What is the main testability cost of adding many independent feature flags?

Cross-cutting

#

An authenticated request from user A asks for order 5001, which belongs to user B. Where must this be stopped?

#

An authorisation check throws an unexpected exception. What must the outcome be?

#

During an incident, what makes logs from a distributed system actually usable?

#

Which alerting policy is most likely to keep on-call engineers responsive?

#

A team builds a full database abstraction layer so they "could switch engines later", with no migration planned. Which characteristic did they over-buy, and at what cost?