
Building Evolutionary Architectures
Automated Software Governance
by Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage
2nd Edition
Publisher: O'Reilly Media
Book Details
| Print ISBN | 9781492097549 |
| eText ISBN | 9781492097501 |
| Publisher | O'Reilly Media |
| Publishing Year | 2022 |
| Edition | 2nd Edition |
| Language | English |
| Pages | 262 |
The textbook Building Evolutionary Architectures (2nd Edition) details structured methods for automated software governance and architectural fitness functions. Co-authored by Neal Ford, Rebecca Parsons, Patrick Kua, and Pramod Sadalage, the text outlines strategies for evolving software system architecture over time. The material explains how technical teams protect critical system characteristics through continuous automated checks.
Core thematic areas include engineering incremental change, automating governance controls, and adapting evolutionary data structures. The chapters examine evolutionary architecture topologies alongside techniques for building evolvable architectures. Additional sections analyze common antipatterns and pitfalls that teams encounter when implementing these practices.
The volume concludes with guidance on putting evolutionary architecture concepts into active practice. Spanning 262 pages, this text provides structured instructional support for courses covering software design, continuous integration, and automated system governance.
Table of Contents
Chapter 1: Evolving Software Architecture
- • The Challenges of Evolving Software
- • Evolutionary Architecture
- • Guided Change
- • Incremental Change
- • Multiple Architectural Dimensions
- • How Is Long-Term Planning Possible When Everything Changes All the Time?
- • Once I’ve Built an Architecture, How Can I Prevent It from Degrading Over Time?
- • Why Evolutionary?
- • Summary
Chapter 2: Fitness Functions
- • What Is a Fitness Function?
- • Categories
- • Scope: Atomic Versus Holistic
- • Cadence: Triggered Versus Continual Versus Temporal
- • Case Study: Triggered or Continuous?
- • Result: Static Versus Dynamic
- • Invocation: Automated Versus Manual
- • Proactivity: Intentional Versus Emergent
- • Coverage: Domain-Specific Fitness Functions?
- • Who Writes Fitness Functions?
- • Where Is My Fitness Function Testing Framework?
- • Outcomes Versus Implementations
- • Summary
Chapter 3: Engineering Incremental Change
- • Incremental Change
- • Deployment Pipelines
- • Case Study: Adding Fitness Functions to PenultimateWidgets’ Invoicing Service
- • Case Study: Validating API Consistency in an Automated Build
- • Summary
Chapter 4: Automating Architectural Governance
- • Fitness Functions as Architectural Governance
- • Code-Based Fitness Functions
- • Afferent and Efferent Coupling
- • Abstractness, Instability, and Distance from the Main Sequence
- • Directionality of Imports
- • Cyclomatic Complexity and “Herding” Governance
- • Turnkey Tools
- • Legality of Open Source Libraries
- • A11y and Other Supported Architecture Characteristics
- • ArchUnit
- • Linters for Code Governance
- • Case Study: Availability Fitness Function
- • Case Study: Load-Testing Along with Canary Releases
- • Case Study: What to Port?
- • Fitness Functions You’re Already Using
- • Integration Architecture
- • Communication Governance in Microservices
- • Case Study: Choosing How to Implement a Fitness Function
- • DevOps
- • Enterprise Architecture
- • Case Study: Architectural Restructuring While Deploying 60 Times per Day
- • Fidelity Fitness Functions
- • Fitness Functions as a Checklist, Not a Stick
- • Documenting Fitness Functions
- • Summary
Chapter 5: Evolutionary Architecture Topologies
- • Evolvable Architecture Structure
- • Connascence
- • Connascence Intersection with Bounded Context
- • Architectural Quanta and Granularity
- • Independently Deployable
- • High Functional Cohesion
- • High Static Coupling
- • Dynamic Quantum Coupling
- • Contracts
- • Case Study: Microservices as an Evolutionary Architecture
- • Reuse Patterns
- • Effective Reuse = Abstraction + Low Volatility
- • Sidecars and Service Mesh: Orthogonal Operational Coupling
- • Data Mesh: Orthogonal Data Coupling
- • Summary
Chapter 6: Evolutionary Data
- • Evolutionary Database Design
- • Evolving Schemas
- • Shared Database Integration
- • Inappropriate Data Entanglement
- • Two-Phase Commit Transactions
- • Age and Quality of Data
- • Case Study: Evolving PenultimateWidgets’ Routing
- • From Native to Fitness Function
- • Referential Integrity
- • Data Duplication
- • Replacing Triggers and Stored Procedures
- • Case Study: Evolving from Relational to Nonrelational
- • Summary
Chapter 7: Building Evolvable Architectures
- • Principles of Evolutionary Architecture
- • Last Responsible Moment
- • Architect and Develop for Evolvability
- • Postel’s Law
- • Architect for Testability
- • Conway’s Law
- • Mechanics
- • Step 1: Identify Dimensions Affected by Evolution
- • Step 2: Define Fitness Function(s) for Each Dimension
- • Step 3: Use Deployment Pipelines to Automate Fitness Functions
- • Greenfield Projects
- • Retrofitting Existing Architectures
- • Appropriate Coupling and Cohesion
- • COTS Implications
- • Migrating Architectures
- • Migration Steps
- • Evolving Module Interactions
- • Guidelines for Building Evolutionary Architectures
- • Remove Needless Variability
- • Make Decisions Reversible
- • Prefer Evolvable over Predictable
- • Build Anticorruption Layers
- • Build Sacrificial Architectures
- • Mitigate External Change
- • Updating Libraries Versus Frameworks
- • Version Services Internally
- • Case Study: Evolving PenultimateWidgets’ Ratings
- • Fitness Function-Driven Architecture
- • Summary
Chapter 8: Evolutionary Architecture Pitfalls and Antipatterns
- • Technical Architecture
- • Antipattern: Last 10% Trap and Low Code/No Code
- • Case Study: Reuse at PenultimateWidgets
- • Antipattern: Vendor King
- • Pitfall: Leaky Abstractions
- • Pitfall: Resume-Driven Development
- • Incremental Change
- • Antipattern: Inappropriate Governance
- • Case Study: “Just Enough” Governance at PenultimateWidgets
- • Pitfall: Lack of Speed to Release
- • Business Concerns
- • Pitfall: Product Customization
- • Antipattern: Reporting Atop the System of Record
- • Pitfall: Excessively Long Planning Horizons
- • Summary
Chapter 9: Putting Evolutionary Architecture into Practice
- • Organizational Factors
- • Don’t Fight Conway’s Law
- • Culture
- • Culture of Experimentation
- • CFO and Budgeting
- • The Business Case
- • Hypothesis- and Data-Driven Development
- • Fitness Functions as Experimental Media
- • Building Enterprise Fitness Functions
- • Case Study: Zero-Day Security Vulnerability
- • Carving Out Bounded Contexts Within Existing Integration Architecture
- • Where Do You Start?
- • Low-Hanging Fruit
- • Highest Value First
- • Testing
- • Infrastructure
- • Case Study: Enterprise Architecture at PenultimateWidgets
- • Future State?
- • Fitness Functions Using AI
- • Generative Testing
- • Why (or Why Not)?
- • Why Should a Company Decide to Build an Evolutionary Architecture?
- • Why Would a Company Choose Not to Build an Evolutionary Architecture?
- • Summary
Customer Reviews
0.0
0 reviews
No reviews yet. Be the first to review this book!
Write a Review
Reviewed by GradeFocus Editorial Team
▶Research Sources (15)
- Building Evolutionary Architectures, eBook by Neal Ford ... - Booktopia
- Building Evolutionary Architectures | Rent | 9781492097501 - Valore
- Building Evolutionary Architectures a book by Neal Ford, Rebecca ...
- Building Evolutionary Architectures - Neal Ford (9781492097501 ...
- Building Evolutionary Architectures - Porrúa
- Building Evolutionary Architectures - E-kirja (9781492097501)
- Building Evolutionary Architectures | Rent | 9781492097549
- Building Evolutionary Architectures ebook by Neal Ford - Rakuten Kobo
- Building Evolutionary Architectures: Automated Software Governance
- Building Evolutionary Architectures, 2nd Edition [Book]
- Building Evolutionary Architectures: Automated Software ...
- Building Evolutionary Architectures: Automated Software ...
- Geek read: Building Evolutionary Architectures 2nd edition.
- Building Evolutionary Architectures: 2nd Edition
- Building Evolutionary Architectures: Automated Software ...





