#215 – Evolvable Architecture

In their book, Building Evolutionary Architectures (from which we have kindly borrowed the example), authors Neal Ford, Rebecca Parsons and Patrick Kua describe three steps for building an evolutionary architecture: firstly, Architects must identify the dimensions of the architecture that should be protected as it evolves (e.g., security, performance, data design and/or scalability). Secondly, they should define the Fitness Function for each dimension (e.g., a collection of code metrics for preventing component dependency cycles)—and, lastly, Architects should use deployment pipelines to automate fitness functions (e.g., measuring the cycle time of changes).

So, what to do in the case of this strip where the change to the service is not an additive one? Well, the answer is creating an evolutionary database design with evolvable schemas, which you can also read much more about in the book mentioned above.