Cheat sheetCD-02

Evolutionary Architecture

Core Design / Evolutionary Architecture

An evolutionary architecture supports guided, incremental change across multiple dimensions, using fitness functions to turn architectural characteristics into automated, always-enforced guardrails.

01
Guided changeSteered toward desired characteristics via fitness functions rather than left to drift.
02
Incremental changeSmall, safe, deployable steps enabled by a strong pipeline and automated testing.
03
Fitness functionAny objective, executable check of a characteristic: test, metric threshold, monitor, or chaos experiment.
04
Two axesAtomic vs holistic (scope: one vs many dimensions); triggered vs continuous (timing: event vs always-on).

Name the characteristics you must protect, then encode each as a fitness function and wire it into the pipeline or production monitoring. Use atomic structural tests for layering/coupling rules and holistic continuous monitors for runtime qualities like latency. Governance becomes code: rules are versioned and enforced on every change, not in review boards.

Triggered + atomicArchUnit test: presentation layer must not access persistence layer; runs on every commit.
Continuous + holisticProduction monitor fails a deploy when 99th-percentile checkout latency regresses past its threshold.
evolutionary = guided + incremental + multi-dimensional
fitness function = objective check of a characteristic
scope axis: atomic | holistic
timing axis: triggered | continuous
governance => rules as code, enforced every change
evolutionaryfitness-functionsgovernanceincrementalautomation
review in 6d