Review of 'Building Evolutionary Architectures: Support Constant Change' on 'Storygraph'
1 star
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 do a great job and don't create more confusion than already exists out there.
I have a simple complaint: the author does not seem to know much about evolutionary theories. I am not an expert either, but I do understand three things:
1. an evolutionary theory explains (with predictive power) the effect of reproduction on a species' population
2. an evolutionary theory explains (with …
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 do a great job and don't create more confusion than already exists out there.
I have a simple complaint: the author does not seem to know much about evolutionary theories. I am not an expert either, but I do understand three things:
1. an evolutionary theory explains (with predictive power) the effect of reproduction on a species' population
2. an evolutionary theory explains (with predictive power) the effect of survival of an individual has on a species' population
3. an evolutionary theory explains (with predictive power) the effect of mutation (or adaptation) on a species' population
A "fitness function" basically encapsulates some interpretation of those three aspects of evolutionary theories. The output basically predicts growth or decline of a species population given adjustable parameters.
So what's an evolutionary theory of software architecture? What's a "species" in terms of software architecture? What does it mean for an architecture to "reproduce", or "survive", or "mutate"? The book does a woeful job settling these terminological points.
One might defend the book's approach by suggesting that evolutionary theories serve only as a metaphor, and that a reader should not look for a close correspondence between the practices the authors describe and the theories that inspire those descriptions. But I am not so sure.... why reach for a highly technical ( and not-at-all-unified-yet ), deeply researched collection of biological theories as the basis for a business-process metaphor if you're not going to be precise? It's too easy to be mistaken about the science in such a way that the business-practices become pathological... hence, one star.