Download - 10 books that every architect must read
10 books that every architect must read
ganesh samarthyam chaitanya kvnk
BEST TEXTBOOK ON SA
➤ Covers a wide range of topics in considerable depth + with rigour
➤ Perhaps the best textbook available today on software architecture
➤ Drawback: Written in “academic” style - lots of theory
➤ Can provide a solid foundation for becoming an architect
“Software Architecture: Foundations, Theory, and Practice”, Richard N. Taylor, Nenad Medvidović, and Eric M. Dashofy, John Wiley and Sons, 2009.
http://amzn.com/0470167742
PATTERNS IN SA
➤ This is one of the earliest and best books on architectural patterns/styles.
➤ First (and perhaps the best) in the series of book (POSA series)
➤ Disadvantage: Somewhat outdated (this is a 1996 book!)
➤ Does not cover modern patterns/styles
“Pattern-Oriented Software Architecture Volume 1: A System of Patterns”, Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal,
Addison-Wesley, 1996. http://amzn.com/0471958697
THE BOOK ON PATTERNS
➤ Classic work on patterns
➤ Provides insights on creating effective object oriented designs
➤ Generic “reusable” design knowledge
➤ Though dated (1994!), contents still relevant for architects
➤ Helps us think at a deeper level about design in general and object oriented design in particular
Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides,
Addison-Wesley, 1995. http://amzn.com/0201633612
DON’T MISS THIS BOOK
➤ This is perhaps the best book available for students and practitioners alike for learning software architecture.
➤ Focuses on key topics in software architectures: “ilities”, patterns/styles, documenting architectures, and evaluating architectures
➤ My opinion: “in Practice” in the title does not accurately reflect the contents of the book!
Software Architecture in Practice (3rd Edition), Len Bass, Paul Clements, Rick Kazman, Addison Wesley, 2012.
http://amzn.com/0321815734
REFACTORING IN PRACTICE
➤ Refactoring is a practical way to approach software architecture and design
➤ This book covers why care about software design viewed from the perspective of technical debt
➤ Covers 25 design smells classified as violation of the principles of abstraction, encapsulation, modularization, or hierarchy
➤ Interesting anecdotes and case studies reported from the trenches working in real-world projects
“Refactoring for Software Design Smells: Managing Technical Debt”, Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma, Morgan
Kaufmann/Elsevier, 2014. http://amzn.com/0128013974
www.designsmells.com
“NO-NONSENSE” BOOK ON SA
➤ If you like “no-nonsense” introduction to software architecture (especially useful if you are a programmer), this book is for you
➤ This book provides a good overview of software architecture
➤ It is written in an easy-to-read style with practices that an architect can adopt in their regular work
➤ Check slides here before purchasing the book
“Software Architecture for Developers”, Simon Brown, LeanPub, 2012. https://leanpub.com/software-architecture-for-developers
“IS” PERSPECTIVE ON SA
➤ This book shares practical experiences in architecting enterprise IT systems
➤ This book is more relevant for architects working in Information Systems domain
➤ if you are working in embedded systems or other specialized domains, you may perhaps gain very little
➤ Otherwise, it is an excellent and practical book on software architecture
“Essential Software Architecture”, Ian Gorton, Springer, 2006. http://amzn.com/3540287132
ON WORKING WITH STAKEHOLDERS
➤ Written by experienced/practicing architects, you will find it to be quite practical (though the book mixes quite a bit of theory)
➤ Emphasizes on working with stakeholders, and using viewpoints and perspectives
➤ However, be warned: with the focus on viewpoints and perspectives, many other important topics in software architectures (e.g., NFRs, styles) are not covered well
➤ Also it is a bit voluminous, so you need patience if you want to complete reading this book
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives, 2nd Edition, Nick Rozanski, Eóin Woods,
2011. http://amzn.com/032171833X
SOFT SKILLS FOR ARCHITECTS
➤ Having only technical skills isn’t enough for an architect – softskills (in addition to business skills and domain knowledge) are equally important to live effectively as an architect
➤ This book presents a lucid and detailed discussion on 12 specific skills required for an architect
➤ If you are a developer and aspire to become an architect, you’ll find this fun-to-read book useful to hone your non-technical skills
12 Essential Skills for Software Architects, Dave Hendricksen, Addison-Wesley, 2011 http://amzn.com/0321717295
ON DEVELOPING ENTERPRISE APPLICATIONS
➤ Covers patterns related to domain logic, database mapping and access, web presentation, concurrency, etc.
➤ This book does for enterprise application development in comparison to what GoF (Gang of Four) did for software development in general.
➤ Written well with numerous examples
➤ Also guides us on choosing from a vast number of different types of patterns available (structural, web presentation, behavioral, domain logic, etc.).
➤ Given changes in this domain, a bit dated now
➤ Strongly recommended if you are involve in developing enterprise applications Patterns of Enterprise Application Architecture, Martin Fowler,
Addison-Wesley Professional, 2002. http://amzn.com/0321127420
www.designsmells.com
bit.ly/sgganesh
@GSamarthyam