Skip to content
all episodes
Code of Architecture · episode 35

Building Evolutionary Architectures — Episode 2

1:06:41

Episode participants

  • Dmitry Gaevsky

    guest

Conversation

What we discussed on the recording

Chapter four turns fitness functions into a set of practices. Architecture reviews and governance boards help but scale poorly. An automated check produces a fast green or red signal, yet not every rule should block delivery: some functions collect evidence for analysis and review.

At codebase level, the discussion covers afferent and efferent coupling, abstractness, instability, and distance from the main sequence. Metrics reveal zones of uselessness and pain but need context. Ten is a common cyclomatic-complexity threshold; the authors suggest five. A complex domain and poor code can look the same.

Tools cover license policy, accessibility, dependencies, naming, and layers. ArchUnit and linters execute rules inside a codebase. In distributed systems, relationships can be reconstructed from uniform logs or constrained through network policies; service catalogs and platform abstractions hide infrastructure details.

Chaos engineering tests resilience through Netflix Simian Army. At enterprise level, functions depend on role and planning horizon; the Frozen Caveman antipattern is a warning. GitHub Scientist compares old and new behavior during migration. A guest-built tool and the road-guardrail metaphor show the purpose of rules: keep movement safe without dictating the route.

Book series
Building Evolutionary Architectures
Neal Ford, Rebecca Parsons, Patrick Kua
Book playlist