SYSTEM ATLASЗагрузка материала

Эволюционная архитектура

Evolutionary Architecture

Архитектура должна безопасно меняться вместе с требованиями.

Простыми словами

Архитектуру проектируют так, чтобы она могла постепенно меняться вместе с требованиями, а не требовала единственного идеального плана заранее. Для этого важны небольшие обратимые шаги, автоматические проверки и ясные границы. Тогда систему можно направлять и исправлять по мере появления новых знаний.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

В задаче «API» сразу применить привычное решение и назвать происходящее «Эволюционная архитектура», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.

Системный подход

Использовать «Эволюционная архитектура» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.

Ограничения

Эволюционность требует измеримых fitness-функций и обратимых изменений; постоянное изменение без архитектурных ограничений может лишь накапливать случайность.

Источник

Neal Ford; Rebecca Parsons; Patrick Kua, “Building Evolutionary Architectures”, 2017.

Первоисточник