Neal Ford's keynote on Evolutionary Architecture can be found here.
Architecture is the decisions
that you wish you could get right early
in a project, things that people perceive
as hard to change. But what if we built
architectures that expect
An evolutionary architecture supports
incremental, guided change as a first
principle across multiple dimensions.
He goes on to describe different architectural scenarios, starting with Big Ball of Mud, layered architectures, microkernels and REST, and culminating in microservices, which he says have n dimensions of evolutionary capability (where n is the number of distinct microservices).
According to Ford, evolutionary architectures:
- Are loosely-coupled and highly cohesive,
- Are composable; components can be assembled to create new architectures,
- Can be changed incrementally, without requiring an architectural overhaul.
You can think of Evolutionary Architecture as a meta-architecture, if you like; an architecture of architectures. Guidance that dictates design principles that promote casting things in clay instead of stone.