Fitness Functions
Automated checks that an architectural characteristic still holds.
5 to work through
-
intermediate Multiple choice
A broker's order-placement path has a 200ms p99 budget that quietly degraded over eighteen months without any single change being responsible. What kind of control prevents this, and where must it run?
1 min answer -
intermediate
You want to enforce that the domain layer does not depend on infrastructure. How do you make it stick?
2 min answer -
advanced
"Interview. You are the architect for a grocery marketplace where item availability changes constantly. Name three fitness functions you would put in CI to protect the architecture, and explain what each one would have caught." What makes a strong answer?
2 min answer -
advanced
Architecture decisions in your organisation are either ignored or bottlenecked in a review board. Design something better.
3 min answer -
advanced
In 2023 a team added a build rule forbidding the domain module from importing the persistence module, and it went green. In 2026 the domain module imports persistence in fourteen places and the build is still green. No one disabled the rule and no one edited it. Reconstruct how a passing check ended up protecting nothing.
3 min answer
3 terms in this topic
Architecture Fitness Function in CI
An executable check in the build that fails when an architectural constraint is violated, turning a design rule into a property the codebase cannot lose.
practiceAutomated Governance
Encoding architectural rules as executable checks in the build pipeline, so conformance is verified continuously rather than reviewed periodically.
conceptFitness Function Drift
The failure mode in which an architecture check keeps passing after it has stopped examining anything, so a green build certifies a rule that is no l…
Neighbouring topics
Architecture Fundamentals
General material on what solution architecture is and what an architect is accountable for.
Requirements to Constraints
Turning stated requirements into the constraints that actually bound a design.
Functional vs Non-Functional
Behaviour versus quality of behaviour, and why only the second constrains structure.
Architectural Drivers
The small subset of requirements whose change would force the structure to change.
Quality Attributes
Availability, latency, throughput, security, cost — expressed as testable scenarios.
Architecture Principles
Durable agreed rules that rule options out, stated with rationale and implications.
Coupling
How much one component must know about, or change alongside, another.
Cohesion
Whether the things inside a boundary belong together and change for the same reason.
Modularity
Composing a system from parts that can be understood and replaced independently.
Separation of Concerns
Organising so that a change to one concern touches one place.
Abstraction & Encapsulation
Hiding mechanism behind contract, and protecting invariants by owning state.
Architecture Styles
System-level organising shapes, and how they differ from problem-level patterns.
Evolutionary Architecture
Designing for guided incremental change rather than for correctness on day one.
Architecture Documentation
What to write down, at what altitude, and what nobody will ever read.
Conway's Law
Systems mirroring the communication structure of the organisation that builds them.
Trade-off Fundamentals
Why every architecture is a set of purchases, and how to state what you gave up.
Technical Constraints
Existing estate, skills, licences and platforms as inputs rather than obstacles.
Architecture Roles
Solution, enterprise, domain and platform architecture, and where each is accountable.
Reference Models
Shared conceptual frames — layering, tiers, viewpoints — and their limits.