5 Books Every Software Architect Should Read – Vedcraft
Patterns of Enterprise Application Architecture
– Martin FowlerA classic collection of prevalent enterprise patterns including domain logic patterns, data source architectural patterns, object-relations patterns, web presentation patterns, distribution patterns, offline concurrent patterns, session state patters, and base patterns.Software Architecture Patterns
– Mark RichardsIt outlines common software architecture patterns prevalent in designing systems under consideration. Key patterns are:
– Layered architecture
– Event-driven architecture
– Microkernel architecture
– Microservices architecture
– Space-based architectureFundamentals of Software Architecture: An Engineering Approach
– Mark Richards, Neal FordPublished by ThoughtWorks seasoned architects to explore principles of software architecture; examines the strengths and weaknesses of different architectural patterns. It discusses foundational elements like architectural thinking and component-based thinking plus architecture styles like layered, pipeline, microkernel, service-based, event-based, microservices, etc. It also has a section on soft skills and techniques required for software architects.Building Evolutionary Architectures
– Neal Ford, Rebecca Parsons, Patrick KuaPublished by ThoughtWorks seasoned architects to support guided, incremental change across multiple dimensions. It discusses concepts like Fitness Functions, Engineering Incremental Change, Architectural Coupling, Evolutionary Data, Building Evolvable Architectures, and Evolutionary Architecture Pitfalls and Antipatterns.Release It!: Design and Deploy Production-Ready Software
– Michael T. NygardFor implementing production-ready software applying stability, capacity, general design, and operations patterns and anti-patterns. One of the most recommended books for maintaining production systems applying modern practices.97 Things Every Software Architect Should Know
– Richard Monson-HaefelCollective advice from more than four dozen architects offering advice on communication, eliminating complexity, empowering developers, and many more practical lessons they’ve learned from years of experience. Examples – Chances Are, Your Biggest Problem Isn’t Technical, Quantify, Stand-Up, Architects Mist Be Hands-On, Record Your Rationale, Don’t Control but Observe, etc.Documenting Software Architectures: Views and Beyond
– SEIProvides a detailed overview of architecture styles (decomposition, layered, generalization, etc.), architecture documentation essentials (context diagrams, variation points, interfaces, etc.), and architecture views for reviews.The Software Architect Elevator
– Gregor Hohpe (2020)This book is getting popular because of the modernized approach towards enabling architects to be successful in large-scale IT organizations.
It discusses the architect’s journey starting in IT engine room and progressing towards the organizational penthouse. Understanding architecture, communication, organizational structure, transformation, and living the life of change agents are key topics discussed.The Phoenix Project (A Novel About IT, DevOps, and Helping Your Business Win)
– Gene Kim, Kevin Behr, and George SpaffordIt has been recommended for business and IT executives to understand the growing complexity of IT programs. With a real-world example (code name Phoenix) in the writing style as Novel helps to connect with the use-case.The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data
– Gene KimIt is considered to be a companion novel to The Phoenix Project (six years apart by the same author). It introduces the concept of five ideals:
– Locality and Simplicity
– Focus, Flow, and Joy
– Improvement of Daily Work
– Psychological Safety
– Customer FocusClean Architecture: A Craftsman’s Guide to Software Structure and Design
– Robert MartinIt starts with the differentiation between design and architecture. Programming paradigms (structured, object-oriented, and functional programming), Design Principles (SRP, OCP, LSP, ISP, DIP), Component Principles (Cohesion & Coupling), and Clean Architecture principles with case study have been discussed in detail.Chess and the Art of Enterprise Architecture – Gerben WierdaIn this book, (hidden) assumptions behind the existing approaches to enterprise architecture are challenged, and a more realistic perspective that helps us battle the complexities and unpredictabilities of today’s Business-IT landscapes is described.Technology Strategy Patterns. Architecture as Strategy – Eben HewittThis book covers:
Architecture and strategy: Adopt a strategic architectural mindset to make a meaningful material impact
Creating your strategy: Define the components of your technology strategy using proven patterns
Communicating the strategy: Convey your technology strategy in a compelling way to a variety of audiences
Bringing it all together: Employ patterns individually or in clusters for specific problems; use the complete framework for a comprehensive strategyContinous Architecture in Practice – Murat Erder, Pierre Pureur, Eoin Woods (2021)This book covers Architectural Practices for New Challenges, Environments, and Stakeholder Expectations. It focuses on data architecture, emerging technologies impact on software architecture, architectural concern areas such as security, scalability, performance, and resiliency.Leading Lean Software Development – by Mary Poppendieck,
Tom Poppendieck (2009)Building on top of their previous book, Lean Software Development and Implementing Lean Software Development, this book goes beyond generic implementation guidelines, demonstrating exactly how to make lean work in real projects, environments, and companies.Software Architecture: The Hard Parts – by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani (2021)This book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect:
– Analyze trade-offs and effectively document your decisions
– Make better decisions regarding service granularity
– Understand the complexities of breaking apart monolithic applications
– Manage and decouple contracts between services
– Handle data in a highly distributed architecture
– Learn patterns to manage workflow and transactions when breaking apart applicationsLearning Domain-Driven Design – by Vlad Khononov (2021)This book covers domain-driven design with a modern mindset covering:
– Analyze a company’s business domain to learn how the system you’re building fits its competitive strategy
– Use DDD’s strategic and tactical tools to architect effective software solutions that address business needs
– Build a shared understanding of the business domains you encounter
– Decompose a system into bounded contexts
– Coordinate the work of multiple teams
– Gradually introduce DDD to brownfield projectsJust Enough Software Architecture – by George FairbanksIt is focused on teaching risk-driven software architecture with practical aspects of building and democratizing software architecture.
– Martin FowlerA classic collection of prevalent enterprise patterns including domain logic patterns, data source architectural patterns, object-relations patterns, web presentation patterns, distribution patterns, offline concurrent patterns, session state patters, and base patterns.Software Architecture Patterns
– Mark RichardsIt outlines common software architecture patterns prevalent in designing systems under consideration. Key patterns are:
– Layered architecture
– Event-driven architecture
– Microkernel architecture
– Microservices architecture
– Space-based architectureFundamentals of Software Architecture: An Engineering Approach
– Mark Richards, Neal FordPublished by ThoughtWorks seasoned architects to explore principles of software architecture; examines the strengths and weaknesses of different architectural patterns. It discusses foundational elements like architectural thinking and component-based thinking plus architecture styles like layered, pipeline, microkernel, service-based, event-based, microservices, etc. It also has a section on soft skills and techniques required for software architects.Building Evolutionary Architectures
– Neal Ford, Rebecca Parsons, Patrick KuaPublished by ThoughtWorks seasoned architects to support guided, incremental change across multiple dimensions. It discusses concepts like Fitness Functions, Engineering Incremental Change, Architectural Coupling, Evolutionary Data, Building Evolvable Architectures, and Evolutionary Architecture Pitfalls and Antipatterns.Release It!: Design and Deploy Production-Ready Software
– Michael T. NygardFor implementing production-ready software applying stability, capacity, general design, and operations patterns and anti-patterns. One of the most recommended books for maintaining production systems applying modern practices.97 Things Every Software Architect Should Know
– Richard Monson-HaefelCollective advice from more than four dozen architects offering advice on communication, eliminating complexity, empowering developers, and many more practical lessons they’ve learned from years of experience. Examples – Chances Are, Your Biggest Problem Isn’t Technical, Quantify, Stand-Up, Architects Mist Be Hands-On, Record Your Rationale, Don’t Control but Observe, etc.Documenting Software Architectures: Views and Beyond
– SEIProvides a detailed overview of architecture styles (decomposition, layered, generalization, etc.), architecture documentation essentials (context diagrams, variation points, interfaces, etc.), and architecture views for reviews.The Software Architect Elevator
– Gregor Hohpe (2020)This book is getting popular because of the modernized approach towards enabling architects to be successful in large-scale IT organizations.
It discusses the architect’s journey starting in IT engine room and progressing towards the organizational penthouse. Understanding architecture, communication, organizational structure, transformation, and living the life of change agents are key topics discussed.The Phoenix Project (A Novel About IT, DevOps, and Helping Your Business Win)
– Gene Kim, Kevin Behr, and George SpaffordIt has been recommended for business and IT executives to understand the growing complexity of IT programs. With a real-world example (code name Phoenix) in the writing style as Novel helps to connect with the use-case.The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data
– Gene KimIt is considered to be a companion novel to The Phoenix Project (six years apart by the same author). It introduces the concept of five ideals:
– Locality and Simplicity
– Focus, Flow, and Joy
– Improvement of Daily Work
– Psychological Safety
– Customer FocusClean Architecture: A Craftsman’s Guide to Software Structure and Design
– Robert MartinIt starts with the differentiation between design and architecture. Programming paradigms (structured, object-oriented, and functional programming), Design Principles (SRP, OCP, LSP, ISP, DIP), Component Principles (Cohesion & Coupling), and Clean Architecture principles with case study have been discussed in detail.Chess and the Art of Enterprise Architecture – Gerben WierdaIn this book, (hidden) assumptions behind the existing approaches to enterprise architecture are challenged, and a more realistic perspective that helps us battle the complexities and unpredictabilities of today’s Business-IT landscapes is described.Technology Strategy Patterns. Architecture as Strategy – Eben HewittThis book covers:
Architecture and strategy: Adopt a strategic architectural mindset to make a meaningful material impact
Creating your strategy: Define the components of your technology strategy using proven patterns
Communicating the strategy: Convey your technology strategy in a compelling way to a variety of audiences
Bringing it all together: Employ patterns individually or in clusters for specific problems; use the complete framework for a comprehensive strategyContinous Architecture in Practice – Murat Erder, Pierre Pureur, Eoin Woods (2021)This book covers Architectural Practices for New Challenges, Environments, and Stakeholder Expectations. It focuses on data architecture, emerging technologies impact on software architecture, architectural concern areas such as security, scalability, performance, and resiliency.Leading Lean Software Development – by Mary Poppendieck,
Tom Poppendieck (2009)Building on top of their previous book, Lean Software Development and Implementing Lean Software Development, this book goes beyond generic implementation guidelines, demonstrating exactly how to make lean work in real projects, environments, and companies.Software Architecture: The Hard Parts – by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani (2021)This book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect:
– Analyze trade-offs and effectively document your decisions
– Make better decisions regarding service granularity
– Understand the complexities of breaking apart monolithic applications
– Manage and decouple contracts between services
– Handle data in a highly distributed architecture
– Learn patterns to manage workflow and transactions when breaking apart applicationsLearning Domain-Driven Design – by Vlad Khononov (2021)This book covers domain-driven design with a modern mindset covering:
– Analyze a company’s business domain to learn how the system you’re building fits its competitive strategy
– Use DDD’s strategic and tactical tools to architect effective software solutions that address business needs
– Build a shared understanding of the business domains you encounter
– Decompose a system into bounded contexts
– Coordinate the work of multiple teams
– Gradually introduce DDD to brownfield projectsJust Enough Software Architecture – by George FairbanksIt is focused on teaching risk-driven software architecture with practical aspects of building and democratizing software architecture.