Goodreads helps you keep track of books you want to read.
Start by marking “Building Evolutionary Architectures: Support Constant Change” as Want to Read:
Building Evolutionary Architectures: Support Constant Change
Enlarge cover
Rate this book
Clear rating
Open Preview

Building Evolutionary Architectures: Support Constant Change

3.74  ·  Rating details ·  691 ratings  ·  72 reviews
The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural ...more
Paperback, 190 pages
Published October 13th 2017 by O'Reilly Media
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Building Evolutionary Architectures, please sign up.

Be the first to ask a question about Building Evolutionary Architectures

Community Reviews

Showing 1-30
Average rating 3.74  · 
Rating details
 ·  691 ratings  ·  72 reviews

More filters
Sort order
Start your review of Building Evolutionary Architectures: Support Constant Change
Emre Sevinç
Mar 04, 2018 rated it liked it
This book is a very high-level overview of the current thinking and challenges in modern software architecture and design. If you can stand the overuse and overstretching of terms from physics and biology such as "quantum", "quanta", "fitness function", etc. you can have a general idea about what it means to design for changeability.

If you subscribe to the idea that the software architecture means "the parts that are difficult to change", you already know how important to it is to design for re
Jared Davis
Dec 13, 2017 rated it did not like it
I do not enjoy writing bad reviews, and less so for a book that I've only partially read, but I believe it's warranted in this case. Lots of people will encounter Building Evolutionary Architectures in their professional life -- either as current or as aspiring software architects and/or team leads -- and they'll make decisions based on what they learn ( or misunderstand ). So I think it's fair to pan the book with the understanding that I just want people building software and managing projects ...more
Apr 14, 2020 rated it really liked it  ·  review of another edition
Revolves around fitness functions, the evolvability of systems, and other "-ilities" across multiple dimensions of architecture layers, company political layers, and also time layers, referring to having fast time-to-market for cost optimization.
An interesting note is the mention of Conway's law: "Organizations design systems that mirror their own communication structure.", which is more and more evident by the examples and use cases presented in the book.
Mar 09, 2018 rated it it was ok
Shelves: scicomp, non-fiction
Let me first say that I've still got a deep respect for the authors, even though I didn't particularly enjoy this book.

I've been tracking the work of the authors (and their peers) for some time now and am somewhat invested in the field of evolutionary architecture myself. That being said, I was somewhat disappointed that there were rather only a few new ideas in there for me. The whole book felt more like a unstructured taxonomy on current buzzwords.
Franck Chauvel
Nov 20, 2017 rated it liked it
Neil explains how to use continuous delivery and other modern engineering practices to build architectures that better sustain time and avoid rotting.

I think this text explains well how various practices and tools fit together (DDD, CD, testing, etc.) but does not dive into any. I don’t know if the analogy with evolutionary computing and its fitness functions really helps those unfamiliar with it. What I found less clear is how to decouple those fitness functions from the code so as to enable ev
João Paiva
Sep 13, 2020 rated it really liked it
First book I read that has "architecture" in the title. Very easy read. Good overview of the concepts, and with tons of pointers to more material. Maybe a bit shallow, and I didn't fully buy the main thesis (the few and far between parallels with biology seem more of a marketing move than an actual valuable addition). It also seemed to have the underlying stance of "architects vs developers" which I solemnly hate, but ignoring that it has some pretty good content. ...more
Ricardo Cavalcanti
The book builds on top of ideas from Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation and Building Microservices: Designing Fine-Grained Systems, feeling almost like a continuation.

This book is an agile take on classic software architecture work. The idea of fitness functions as a way to evaluate the architecture as it is being built is very interesting.

It feels a bit short. I'm looking forward to a "Building Evolutionary Architectures: Fieldbook" w
Steve Fenton
Jun 13, 2018 rated it really liked it
Firstly, this is an interesting read and there are several concrete ideas that I know I'm going to use. The writing style makes it easy to read (see below) and the concepts are supported by clear diagrams and descriptions.

I recommend this book to any developer interested in the bigger picture.

I can't end this review without mention of the disastrous proof reading in this, the first edition (October 2017). It is practically impossible to catch every mistake when preparing a book for release, but
Adam Sipos
Nov 18, 2017 rated it liked it
Shelves: technical
A couple of good ideas but I was expecting more.
Oct 04, 2018 rated it it was ok
Metaphors aside, the basic message of the book is good, though not new. It just scratches the surface. If you want in depth stuff, read other books.
I found the examples redundant.
Avraam Mavridis
Jun 17, 2020 rated it did not like it
What a waste of paper... the only outstanding about this book is how the authors managed to expand in 174 pages the simple "All software evolve over time, plan for changes"... Thank god I read it because of my subscription to Oreily and I didnt had to pay for it... 40 euros for 174 pages of buzzword driven nothingness. The book is the perfect example "lets take something that exist over years, wrap it in a new buzzword and re-sell it" ...more
Osvaldo Santana Neto
Apr 13, 2019 rated it really liked it
Shelves: ebook, owned
The beginning of this book is barely boring and repetitive. They try to explain the concept of fitness functions in several ways but it's a simple concept: automated testing for for architectural aspects of your systems. You define the main aspects of your system and create automated tests to ensure this characteristics. After 40% of the reading the things becomes more "practical" and authors propose some strategies to implement this kind of tests. ...more
Muhammad Khan
Aug 02, 2019 rated it it was amazing
A great attempt at packaging the latest state of the art, software engineering practices with a focus on building "agile" architectures.
A must read for anyone working in software, at any level.
Oct 05, 2017 rated it liked it
Shelves: read-tech
This book gives a high level overview of building evolutionary architectures. An evolutionary architecture supports guided, incremental change across multiple dimensions.

Changes are guided by fitness functions that check if the most important architectural characteristics are on target. Examples vary from coding standards to performance, security.

Incremental changes cover both building and deploying software. The authors emphasize the importance of a deployment pipeline if you want to make inc
Manu Pk
Mar 21, 2020 rated it really liked it
Shelves: tech
The book speaks about fitness functions, to solve this concern. An architectural fitness function provides an objective integrity assessment of some architectural characteristics. So, in a system there may be many characteristics that we want to measure, so you would write separate fitness functions for each of them. In the book, a fitness function is not defined in a concrete way but rather in an abstract form of graphs, tests or any other methods by which we know that our system is doing good ...more
Sten Vesterli
May 22, 2018 rated it really liked it
Even though the main idea of this book is fatally flawed, it is still a good book on IT architecture.

The flawed concept is the idea of a "fitness function" that automatically calculates the quality of an IT architecture. If it were possible to build such a function, it could be included in your build pipeline, you would notice and could prevent your architecture from degrading. The authors present the idea and benefits, but fail to argue convincingly how this can be done in practice.

The good p
Feb 19, 2018 rated it liked it
Shelves: work-stuff
I'm not 100% who the target audience is for this book. I was also very disappointed by some of the terrible scientific analogies, in particular when they use quanta!

But anyway, aside from that I appreciated the writing. There was a lot of spelling mistakes but I noticed that an effort had been made to use gender neutral language. I also though that including examples at the end of each chapter was a good idea.

On the whole though, aside from giving concepts new names I'm not sure how much I learn
Mar 09, 2018 rated it liked it
The book contains good content, but it feels much more like a compendium that a book with new ideas.

This book is basically a summary of and If you have read both these books, "Building Evolutionary Architecture" will bring no novelty to your knowledge about modern software architecture.

The premise of "Evolvability " as one of the "ities" (scalability, security, etc..) we should be concerned with in an architectu
This is an excellent book that crystalizes definitions and approaches to designing software systems that are amenable to change. Many of the concepts captured in this book have been practiced by experienced software engineers for many decades, but the discipline of evolvable software architecture has been lost since the explosion of the Internet ushered in fast and furious development. The authors do a great job of steering clear of discussing technology and instead focus on the essence of archi ...more
Nadim Rafehi
Oct 26, 2017 rated it really liked it
Well written with a lot of useful and insightful information, however it's somewhat lacking in exploring concrete examples of fitness functions. ...more
Francois D’Agostini
Apr 06, 2019 rated it it was amazing
Great book, really putting the emphasis on the capability of architectures rather than end state.

I think I liked the book because it confirms a lot of personal insights and brings me confidence when delivering these to customers

And on top of it, as it is a "generic" book, it is good that it's not too long as it could get a bit abstract
Really enjoyed it.
Nov 24, 2019 rated it liked it
This is an high level overview of the principles you should take care when building an evolutionary architecture. The book is an easy read. I like it in overall. My only criticism is regarding the level of abstraction regarding fitness functions. I would like to see some more concrete examples of this metrics and how to implement them in the real world. But it was a nice read overall
Mar 06, 2018 rated it really liked it  ·  review of another edition
by far the most useful tool out of this book is the idea of automated fitness functions that yield metrics on each effective and desired property of the architecture, running with the rest of the tests.
Jul 21, 2020 rated it really liked it
Nice compilation of best practices and a few new concepts, mixed with practical experiences to illustrate. It is a good read, not terribly long, and I found it useful. Interested in looking into architectural fitness functions and consumer driven contracts for microservices!
Remo Biagioni
Apr 26, 2020 rated it did not like it  ·  review of another edition
This was a hugely disappointing book. The concept of evolutionary architecture is not new: transition architectures are baked into TOGAF. The one piece of brilliance in this book is to identify 'fitness functions' from the architecture and make those testable - indeed introducing those tests into the automated test suite. This idea is covered well in chapters one and two - though perhaps with a bit tighter editing in could have fitted in a single chapter. The remainder of the book purports to be ...more
Vinayak Hegde
Mar 31, 2018 rated it liked it
Shelves: tech-programming
This is quite a good book written by someone who has deep experience in building several systems. Many of the ideas as well the experiences in building systems resonated with me. The idea of fitness functions was good. Also liked the transpose of different types of architecture and their pros and cons.

Also one important idea that is not expressed in software enough is the coupling of architecture, culture and team structure. This is dealt at length here. However some of the prose felt repetitiv
Toni Tassani
Jan 28, 2019 rated it really liked it
Shelves: safari
"An evolutionary architecture supports guided, incremental change across multiple dimensions".
The authors suggest three aspects:
- Incremental Change, and they refer to Continuous Delivery and Hypothesis Driven Development
- Fitness Functions, an objective function to summarise how close a prospective solution is.
- Appropriate Coupling, and to discuss coupling the authors introduce the concept of Architectural Quantum: an independently deployable component with high functional cohesion.

Authors di
Koen Wellens
Mar 16, 2018 rated it liked it
Shelves: non-fiction, 2018
Building Evolutionary Architectures is criticised because of its overuse of biological terms. I get that. They do it a lot. However, if you understand what they’re going for, it doesn’t botter you that much. What did bother me was the fact that at some points the book was selling stuff. Either other books from the authors or even products from the company they work. That was a bummer.

There was also a lot of repetition in this book. In the end, there wasn’t that much in it that was new to me. I d
Christopher Brodt
Sep 08, 2019 rated it liked it
Pretty good overview of modern day software architecture landscape. A succinct definition of Evolutionary Architecture might be "An architecture that supports continuous, incremental change". This is achieved through "fitness functions" to evaluate software architectures. These functions encompass traditional measures of software quality: coupling/cohesion, test coverage but there are others related to security or performance that may focus on a system interaction level.

Overall, well written and
Thiago Massa
Aug 21, 2020 rated it it was amazing
Nice and quick read. The whole book is about using fitness functions for software architecture. Having myself seen architectures and software written where either security or changeability weren't initially well thought of, or over time degraded to a very low standard, it seems reasonable to use fitness functions and many of us already do even without thinking to much about it. Such as, a linter that helps code to be concise and avoid complex code to exist, tightly integrated to a CI. What we ar ...more
« previous 1 3 next »
topics  posts  views  last activity   
Goodreads Librari...: This topic has been closed to new comments. Paperback version needs updating 11 47 Oct 05, 2017 09:54AM  

Readers also enjoyed

  • Building Microservices: Designing Fine-Grained Systems
  • Clean Architecture
  • Fundamentals of Software Architecture: An Engineering Approach
  • Accelerate: Building and Scaling High-Performing Technology Organizations
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Designing Data-Intensive Applications
  • Team Topologies: Organizing Business and Technology Teams for Fast Flow
  • Monolith to Microservices: Sustaining Productivity While Detangling the System
  • Test-Driven Development: By Example
  • Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
  • The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
  • Domain-Driven Design Distilled
  • Refactoring: Improving the Design of Existing Code
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility
  • Thinking in Systems: A Primer
  • The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
  • Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Neal Ford is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations, and author and/or editor of 5 books spanning a variety of technologies. He focuses on designing and ...more

News & Interviews

Here’s some trivia for your next vacation get-together: The concept of the summer “beach read” book goes all the way back to the Victorian...
55 likes · 16 comments
“This manifests in two ways. First, many senior developers start writing the infrastructure that other developers use, rather than using existing (often open source) software. We once worked with a client who had once been on the cutting edge of technology. They built their own application server, web framework in Java, and just about every other bit of infrastructure. At one point, we asked if they had built their own operating system, too, and when they said, “No,” we asked, “Why not?!? You built everything else from scratch!” Upon reflection, the company needed capabilities that weren’t available. However, when open-source tools became available, they already owned their lovingly hand-crafted infrastructure. Rather than cut over to the more standard stack, they opted to keep their own because of minor differences in approach. A decade later, their best developers worked in full-time maintenance mode, fixing their application server, adding features to their web framework, and other mundane chores. Rather than applying innovation on building better applications, they permanently slaved away on plumbing.” 0 likes
“DBAs who rarely genuinely restructure schemas build an increasingly fossilized world, with byzantine grouping and bunching strategies. When DBAs don’t restructure the database, they’re not preserving a precious enterprise resource, they’re instead creating the concretized remains of every version of the schema, all overlaid upon one another via join tables.” 0 likes
More quotes…