Book Profile
Fundamentals of Software Architecture: An Engineering Approach
Mark Richards & Neal Ford · 2020
A comprehensive modern engineering guide that equips architects and aspiring architects with the analytical frameworks, architectural styles, and soft skills needed to make principled trade-off decisions in an ever-evolving software ecosystem.
Get the book →Fundamentals of Software Architecture, Second Edition, by Mark Richards and Neal Ford, is the definitive modern reference for anyone stepping into or deepening the software architect role. Starting from three universal laws—that everything is a trade-off, that why matters more than how, and that most decisions exist on a spectrum rather than a binary—the book builds a rigorous yet practical framework spanning four interconnected activities: identifying architectural characteristics ('-ilities'), designing logical components, selecting architectural styles, and documenting decisions. The authors survey eight architectural styles in depth (layered, modular monolith, pipeline, microkernel, service-based, event-driven, space-based, orchestration-driven SOA, and microservices), providing consistent star-rating scorecards, data topologies, cloud considerations, governance guidance, and team-topology alignment for each. New to the second edition are a dedicated chapter on the modular monolith, expanded coverage of architectural patterns (orchestration vs. choreography, CQRS, service mesh, broker-domain), and chapters on architectural intersections, laws revisited, and governance via fitness functions. Part III rounds out the book with practical soft-skills coverage: negotiation techniques, team leadership, risk storming, diagramming standards, and how to write Architectural Decision Records that capture the irreplaceable why behind every choice.
What it argues
A causal model of how architectural design levers and contextual conditions shape intermediate architectural and behavioral states, which in turn drive system quality outcomes and organizational effectiveness outcomes. The model reflects the book's central thesis that trade-off analysis applied to architectural characteristics, component design, style selection, and governance produces systems that are evolvable, reliable, and aligned with business goals.