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

10 books that every architect must read

Apr 15, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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