Other Sellers on Amazon
FREE Delivery.
100% positive over the last 12 months
& FREE Delivery
98% positive over the last 12 months
FREE Delivery.
98% positive over the last 12 months

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera, scan the code below and download the Kindle app.

Building Evolutionary Architectures: Support Constant Change Paperback – 29 September 2017
Save Extra with 3 offers
10 days Replacement
Replacement Reason | Replacement Period | Replacement Policy |
---|---|---|
Physical Damage, Defective, Wrong and Missing Item | 10 days from delivery | Replacement |
Replacement Instructions

Read full returns policy
There is a newer edition of this item:
₹4,528.00
(4)
Usually dispatched in 10 to 11 days.
Enhance your purchase
- ISBN-101491986360
- ISBN-13978-1491986363
- Edition1st
- PublisherO′Reilly
- Publication date29 September 2017
- LanguageEnglish
- Dimensions17.78 x 1.02 x 23.34 cm
- Print length256 pages
Frequently bought together
- +
- +
Customers who viewed this item also viewed
Special offers and product promotions
- 5% Instant Discount up to INR 250 on HSBC Cashback Card Credit Card Transactions. Minimum purchase value INR 1000 Here's how
- No cost EMI available on select cards. Please check 'EMI options' above for more details. Here's how
- Get GST invoice and save up to 28% on business purchases. Sign up for free Here's how
Product description
About the Author
Product details
- Publisher : O′Reilly; 1st edition (29 September 2017)
- Language : English
- Paperback : 256 pages
- ISBN-10 : 1491986360
- ISBN-13 : 978-1491986363
- Item Weight : 376 g
- Dimensions : 17.78 x 1.02 x 23.34 cm
- Country of Origin : USA
- Best Sellers Rank: #577,863 in Books (See Top 100 in Books)
- #968 in Hardware & DIY
- #1,332 in Software Design & Engineering
- #1,430 in Software Architecture
- Customer Reviews:
About the authors
Discover more of the author’s books, see similar authors, read author blogs and more
Patrick Kua, author of Talking with Tech Leads, The Retrospective Handbook and Building Evolutionary Architectures will be running this hands on workshop. Patrick has trained hundreds of tech leads around the world, talks often on this topic of technical leadership and is passionate about constantly building the next generation of technical leaders, after recognising the challenge of people transitioning from an individual contribution role to a leadership role.
He has keynoted and held many other talks at conferences around the world, and is the Chief Scientist and former CTO for N26, a challenger digital bank, based in Berlin (Germany). He blogs often at https://www.thekua.com/atwork, find him on twitter as @patkua and runs Level Up (http://levelup.thekua.com), a curated newsletter for leaders in tech.
Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals, who thinks disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He is an internationally recognized expert on software development and delivery, especially in the intersection of agile engineering techniques and software architecture. Neal has authored magazine articles, eight books (and counting), dozens of video presentations, and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations
Customer reviews

Reviewed in India on 24 January 2018
-
Top reviews
Top review from India
There was a problem filtering reviews right now. Please try again later.
Review
I was engrossed in this book for 3 days and did nothing much except basic life rituals which goes to show the power of the book. First of all this book is very well written for a software architecture book and packed with so many nuggets of knowledge that I ended up highlighting 1/3rd of the book.
We all know that those PPT diagrams of Architecture are so irrelevant when it comes to evolution of software over time and the rapid changes in technology which is explained by the book. Hence this book counsels to build changeability into the architecture which it terms evolvability. Although the word evolution is from biology , this book envisions guidance rather than a more resource intensive natural selection.
When I was doing my Subscription Engine product a decade ago, I went around looking for software that could encode Architectural Validation when developers checkin code. I landed up with using Crap4J (still available) and Lattix. This book aims to create a "fitness function" (atomic/holistic, triggered/continual, static/dynamic, automated/manual, temporal, intentional/emergent, domain/non domain) for key architectural characteristics which are measurable and that protect the key characteristics of architecture. It gives some examples using Jdepends. It then talks about structuring teams as per your Architecture (Inverse Conway). It then talks about how CI/CD can be used for fitness functions.
The book further discusses the context of fitness functions, incremental change, coupling for a vast variety of architecture including big ball of mud, microservices, microkernel, broker, mediator, SOA and Serverless . This is the most invaluable part of the book as a quick reference.
An important chapter talks about evolutionary data and various methods to make schemas evolutionary given the transactionality of system using patterns like routing, feature toggles and an innovative expand/contract mechanism. Data geeks will love this.
The next chapter goes about the howto aspects of identifying dimensions, fitness functions of each dimension and automating the process. It has important insights on migration of architectures and dealing with COTS software and some caveats.The guidelines for evolutionary architecture like removing variability, reversible decision, anti corruption, sacrificial architectures, service templates, external change mitigation, libraries vs frameworks, service versioning, evolve over predict are very useful.
The next chapter talks about anti patterns and pitfalls (I have read the book on same) like Vendor King, Leaky Abstractions, Last 10% trap (nice one), Resume driven development, Inappropriate Governance, Reuse Abuse, Slow releases, Over Customization, Reporting (good points) and Planning Horizons which were very insightful.
The last chapter is more of the practice aspect of evolutionary architectures which include cross functional teams, organization around business capabilities, product over project, culture and budgeting. It further talks about heuristics like highest value, low hanging fruit, infrastructure and testing to select things to write fitness functions first. The remarks on AI and Generative Testing for fitness functions was very interesting. The importance of low cycle time which is a sine qua non to fitness functions was something repeated in multiple places.
Overall, this is one book I plan to come back to as I work with 3 products in my product suite at work and will influence most of my future work too.

Reviewed in India 🇮🇳 on 24 January 2018
Review
I was engrossed in this book for 3 days and did nothing much except basic life rituals which goes to show the power of the book. First of all this book is very well written for a software architecture book and packed with so many nuggets of knowledge that I ended up highlighting 1/3rd of the book.
We all know that those PPT diagrams of Architecture are so irrelevant when it comes to evolution of software over time and the rapid changes in technology which is explained by the book. Hence this book counsels to build changeability into the architecture which it terms evolvability. Although the word evolution is from biology , this book envisions guidance rather than a more resource intensive natural selection.
When I was doing my Subscription Engine product a decade ago, I went around looking for software that could encode Architectural Validation when developers checkin code. I landed up with using Crap4J (still available) and Lattix. This book aims to create a "fitness function" (atomic/holistic, triggered/continual, static/dynamic, automated/manual, temporal, intentional/emergent, domain/non domain) for key architectural characteristics which are measurable and that protect the key characteristics of architecture. It gives some examples using Jdepends. It then talks about structuring teams as per your Architecture (Inverse Conway). It then talks about how CI/CD can be used for fitness functions.
The book further discusses the context of fitness functions, incremental change, coupling for a vast variety of architecture including big ball of mud, microservices, microkernel, broker, mediator, SOA and Serverless . This is the most invaluable part of the book as a quick reference.
An important chapter talks about evolutionary data and various methods to make schemas evolutionary given the transactionality of system using patterns like routing, feature toggles and an innovative expand/contract mechanism. Data geeks will love this.
The next chapter goes about the howto aspects of identifying dimensions, fitness functions of each dimension and automating the process. It has important insights on migration of architectures and dealing with COTS software and some caveats.The guidelines for evolutionary architecture like removing variability, reversible decision, anti corruption, sacrificial architectures, service templates, external change mitigation, libraries vs frameworks, service versioning, evolve over predict are very useful.
The next chapter talks about anti patterns and pitfalls (I have read the book on same) like Vendor King, Leaky Abstractions, Last 10% trap (nice one), Resume driven development, Inappropriate Governance, Reuse Abuse, Slow releases, Over Customization, Reporting (good points) and Planning Horizons which were very insightful.
The last chapter is more of the practice aspect of evolutionary architectures which include cross functional teams, organization around business capabilities, product over project, culture and budgeting. It further talks about heuristics like highest value, low hanging fruit, infrastructure and testing to select things to write fitness functions first. The remarks on AI and Generative Testing for fitness functions was very interesting. The importance of low cycle time which is a sine qua non to fitness functions was something repeated in multiple places.
Overall, this is one book I plan to come back to as I work with 3 products in my product suite at work and will influence most of my future work too.

Top reviews from other countries


The author has a strong bias towards micro architectures and 'the developer as king' neither of which idea is argued particularly well often using sweeping statements with no evidence.
The author relies a lot on Conway's principle. Though, the principle remains a useful lens to analyse a system, fifty years later, it is hardly revolutionary.
If you support the view that today's engineering practices and micro architectures can solve any problem, you just need business people to leave you alone, you'll enjoy this book. If you want something to challenge your point of view and bring in new ideas, keep browsing the bookshelf.


Fitness functions. Check.
Microservices. Check.
Continuous delivery. Check.
I think it presents some useful arguements and stories for anyone looking to convince members of their teams around the new ideas. It's a very theoretical book so no code samples of that's what you're after.
The concepts laid out are practical and up to date. Ahead of most businesses out there.
