Book
Building Evolutionary Architectures
Neal Ford, Rebecca Parsons, Patrick Kua
Summary
Neal Ford, Rebecca Parsons, and Patrick Kua, all technologists at ThoughtWorks, wrote this to answer a question architects kept raising with them: how do you keep an architecture sound as requirements keep changing under it? Their answer is the fitness function, a term borrowed from genetic algorithms, an executable check that runs inside the CI/CD pipeline and fails the build when a change breaks an architectural characteristic such as performance, security, or modularity. The book works through incremental change, coupling and connascence, and evolving a database schema alongside the code, then closes with the pitfalls teams hit when they try this in practice. It treats architecture as something verified continuously rather than approved once at a design review.
Target Readers
- Architects who want to protect specific architectural characteristics as a system changes, not just document them once at launch
- Teams already running CI/CD who want the pipeline to catch architectural drift, not only failing unit tests
- Engineers weighing a big-bang architecture rewrite against continuous, verified evolution and wanting the reasoning before choosing
Tags
Colophon
- Publisher
- オライリー・ジャパン
- ISBN
- 978-4873118567
- Published
- Aug 2018
- List price
- ¥3,080incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Fundamentals of Software Architecture, 2nd Edition
Mark Richards, Neal Ford
Reason: After learning static architectural decisions, you widen your view to designs that keep adapting to change. You gain the idea of using fitness functions to continuously verify architectural characteristics, making evolution measurable.
Next Books
- Recommended
Software Architecture: The Hard Parts
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Reason: Once you have the idea of guiding evolution with fitness functions, you advance to concrete analysis of the hard parts of distributed architecture—granularity, data ownership, and communication trade-offs—from the same authors.