10 books that every architect must read

14
10 books that every architect must read ganesh samarthyam chaitanya kvnk

Transcript of 10 books that every architect must read

Page 1: 10 books that every architect must read

10 books that every architect must read

ganesh samarthyam chaitanya kvnk

Page 2: 10 books that every architect must read
Page 3: 10 books that every architect must read

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

Page 4: 10 books that every architect must read

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

Page 5: 10 books that every architect must read

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

Page 6: 10 books that every architect must read

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

Page 7: 10 books that every architect must read

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

Page 8: 10 books that every architect must read

“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

Page 9: 10 books that every architect must read

“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

Page 10: 10 books that every architect must read

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

Page 11: 10 books that every architect must read

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

Page 12: 10 books that every architect must read

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

Page 13: 10 books that every architect must read