Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Just Enough Software Architecture: A Risk-Driven Approach 1st Edition
It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face.
It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.
It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts.
It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail.
It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.
- ISBN-100984618104
- ISBN-13978-0984618101
- Edition1st
- PublisherMarshall & Brainerd
- Publication dateAugust 30, 2010
- LanguageEnglish
- Dimensions7.75 x 1.25 x 9.5 inches
- Print length376 pages
Deals on related products
Customers also bought or read
- Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Paperback$43.99$43.99FREE delivery Fri, Mar 6 - Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Paperback$45.10$45.10FREE delivery Fri, Mar 6 - Tidy First?: A Personal Exercise in Empirical Software Design
Paperback$28.23$28.23Delivery Fri, Mar 6 - Fundamentals of Software Architecture: A Modern Engineering Approach#1 Best SellerComputer Programming Logic
Paperback$57.40$57.40FREE delivery Fri, Mar 6 - Domain-Driven Design: Tackling Complexity in the Heart of Software
Hardcover$39.81$39.81FREE delivery Fri, Mar 6 - Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Paperback$14.57$14.57Delivery Mar 14 - 17 - Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
Paperback$40.00$40.00FREE delivery Fri, Mar 6 - Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy
Paperback$37.49$37.49FREE delivery Fri, Mar 6 - Modern Software Engineering: Doing What Works to Build Better Software Faster
Paperback$34.61$34.61Delivery Fri, Mar 6 - Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition
Paperback$36.89$36.89FREE delivery Fri, Mar 6 - Building Evolutionary Architectures: Automated Software Governance
Paperback$55.36$55.36FREE delivery Fri, Mar 6 - Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))
Hardcover$61.29$61.29FREE delivery Fri, Mar 6 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$30.32$30.32Delivery Mar 10 - 11 - Observability Engineering: Achieving Production Excellence
Paperback$36.49$36.49FREE delivery Fri, Mar 6 - Software Architecture in Practice (SEI Series in Software Engineering)
Hardcover$77.98$77.98FREE delivery Fri, Mar 6 - Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps
Paperback$36.99$36.99FREE delivery Fri, Mar 6 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)#1 Best SellerSoftware Testing
Hardcover$47.49$47.49FREE delivery Fri, Mar 6 - Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps (Addison-Wesley Signature Series (Vernon))
Paperback$43.19$43.19FREE delivery Fri, Mar 6 - The Software Architect Elevator: Redefining the Architect's Role in the Digital Enterprise
Paperback$51.69$51.69FREE delivery Fri, Mar 6 - Collaborative Software Design: How to facilitate domain modeling decisions
Paperback$49.27$49.27FREE delivery Fri, Mar 6 - Working Effectively with Legacy Code (Robert C. Martin Series)
Paperback$53.46$53.46FREE delivery Fri, Mar 6 - Architecture Modernization: Socio-technical alignment of software, strategy, and structure
Paperback$36.43$36.43FREE delivery Fri, Mar 6 - C++ Software Design: Design Principles and Patterns for High-Quality Software
Paperback$51.24$51.24FREE delivery Fri, Mar 6 - Code Complete#1 Best SellerClient-Server Networking Systems
Paperback$37.44$37.44FREE delivery Mar 14 - 17
Editorial Reviews
Review
If you're going to read only one book on software architecture, start with this one. --Michael Keeling, professional software engineer
This book reflects the author's rare mix of deep knowledge of software architecture concepts and extensive industry experience as a developer. If you're an architect, you will want the developers in your organization to read this book. If you're a developer, do read it. --Paulo Merson, Visiting Scientist, Software Engineering Institute
The Risk-Driven Model approach described in George Fairbanks' Just Enough Software Architecture has been applied to the eXtensible Information Modeler (XIM) project here at the NASA Johnson Space Center (JSC) with much success. It is a must for all members of the project, from project management to individual developers. In fact, it is a must for every developer's tool belt. The Code Model section and the anti-patterns alone are worth the cost of the book!--Christopher Dean, Chief Architect, XIM, Engineering Science Contract Group
This book shows how software architecture helps you build software instead of distracting from the job; the book lets you identify and address only those critical architectural concerns that would otherwise prevent you from writing code. --Dr. Kevin Bierhoff, professional software engineer
All in all, this book is easy to read, concise, yet rich with references -- a well-architected and finely-designed book! --Dr. Shang-Wen Cheng, flight software engineer
This book presents a unique view on software architecture that makes it both accessible and practical. The concepts of just enough architecture and risk-driven design are breakthrough ideas developed by Fairbanks. This book demonstrates how architectural principles can be effectively used to solve real world applications. I found it extremely useful and a must read for anyone working in software development. --Dr. Marcus Fontoura, Principal Research Scientist & Architect, Yahoo! Research.
This book [is] a uniquely practical and approachable contribution to the field of software architecture. For anyone who must create innovative software systems, for anyone who is faced with tough decisions about design tradeoffs, for anyone who must find an appropriate balance between agility and discipline -- in short, for almost any software engineer -- this is essential reading. --Dr. David Garlan, Professor, School of Computer Science, Carnegie Mellon University
From the Author
Like many books, this is a book about software architecture, but this one is for developers. In it, you'll find not only advice on how to think about design, but also hard-won advice from real projects.
This is not a book specifically about Agile Architecture, but it is fully compatible with Agile processes. It shows you how to build up your conceptual model of architecture rather than shelves of documentation.
I hope you enjoy it. --George Fairbanks
About the Author
He holds a Ph.D. in Software Engineering from Carnegie Mellon University, advised by David Garlan and Bill Scherlis. His dissertation introduced design fragments, a new way to specify and assure the correct use of frameworks through static analysis. He has publications on frameworks and software architecture in selective academic conferences, including OOPSLA and ICSE.
He has written production code for telephone switches, plugins for the Eclipse IDE, and everything for his own web dot-com startup. He maintains a network of Linux servers in his spare time.
George has been a program committee member for the Working International Conference on Software Architecture (WICSA), the International Conference on Software Maintenance (ICSM), and the European Conference on Software Architecture (ECSA). He has been a referee for IEEE Transactions on Software Engineering (TSE) and IEEE Software.
Product details
- Publisher : Marshall & Brainerd
- Publication date : August 30, 2010
- Edition : 1st
- Language : English
- Print length : 376 pages
- ISBN-10 : 0984618104
- ISBN-13 : 978-0984618101
- Item Weight : 2.06 pounds
- Dimensions : 7.75 x 1.25 x 9.5 inches
- Customer Reviews:
About the author

Dr. George Fairbanks has been teaching software architecture and object-oriented design for over a decade for companies including Kinetium, Valtech, and Platinum Technology. In the Spring of 2008 he was the co-instructor for the graduate software architecture course at Carnegie Mellon University.
He holds a Ph.D. in Software Engineering from Carnegie Mellon University, advised by David Garlan and Bill Scherlis. His dissertation introduced design fragments, a new way to specify and assure the correct use of frameworks through static analysis. He has publications on frameworks and software architecture in selective academic conferences, including OOPSLA and ICSE.
He has written production code for telephone switches, plugins for the Eclipse IDE, and everything for his own web dot-com startup. He maintains a network of Linux servers in his spare time.
George has been a program committee member for the Working International Conference on Software Architecture (WICSA), the International Conference on Software Maintenance (ICSM), and the European Conference on Software Architecture (ECSA). He has been a referee for IEEE Transactions on Software Engineering (TSE) and IEEE Software.
Related products with free delivery on eligible orders
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Generated from the text of customer reviewsSelect to learn more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on February 5, 2018Format: HardcoverVerified PurchaseI rarely write reviews but really enjoyed this book! I thought it was so useful that we're using it as part of an internal book club at our company.
Here's what I found useful for me and why I think it will be more useful if more people have read it (at our company).
* It's an introduction to software architecture principles that many people without formal computer science backgrounds don't get without a lot of experience, it doesn't give you all of the answers but it highlights what you don't know and acts as a starting point for further research. WHY should we model and WHAT should we model.
* It gives a really comprehensive look at architecture and modeling from a high level. It highlighted for me relevant concepts and terms that I've consistently encountered (and partially understood) in a very accessible way.
* It offers an introduction to thinking about WHEN modeling makes sense. It gives you license to think about modeling on a spectrum, when I'd often thought of it as binary ("to model" or "not to model").
* Finally, for our team it further standardizes our vocabulary. It helps get people thinking and speaking on the same page, which is huge when you're frequently getting new hires (especially if they're not from standard comp sci backgrounds). This helps us get closer to understanding HOW modeling can improve our product and company.
- Reviewed in the United States on May 4, 2011Format: HardcoverVerified PurchaseI thought overall that the book was pretty good. The author did a good job of laying the groundwork for how to determine when to stop designing your architecture and how to effectively accomplish the design with a special ear towards quality attributes.
The author was a bit wordy towards the end, but given that those chapters were meant as a reference, I guess that's ok. You really only need to read the first part of the book to understand the methodology. For a deep dive into the concepts introduced in the first part, the second part is where it's at. It would have been nice if the author had used a single over-arching example throughout the book. The examples he gave, like the Yinzer system (a job-advertising social network), felt incomplete to me. For example, he started the Yinzer example to include the domain and design models, but switched to a new example, an email processing system, for the code model.
In any case, after reading the book, I'm finding myself thinking about work projects at a higher level now. I'm definitely recognizing and applying architectural styles more consciously, instead of by accident. So, I would consider that a success in my mind and would recommend it to others!
- Reviewed in the United States on February 20, 2012Format: HardcoverVerified PurchaseSo far I have read the first 7 chapters of the book. By what I have seen so far the book contents are interesting and relevant for architecture development. The book contains examples or case studies that makes it easier to understand the topics and see architecture development concepts in practice.
The book has hardcover and seems to be a book that will last long if well taken care of. This book will definitely reside on my bookshelf of books of reference.
- Reviewed in the United States on March 20, 2013Format: HardcoverVerified PurchasePragmatism, thy name is software. I really appreciate the non-dogmatic approach to architecture. The simple premise that the more danger you are in the more tightly one wants to predict the outcome is simple. To those who build software every day it is a lovely antidote to those who value process over results and a lovely reality check to wave at those who value "organic" over everything else.
Thanks
- Reviewed in the United States on September 3, 2012Format: HardcoverVerified PurchaseDesigning good software architecture is, in my opinion, undervalued. "Just Enough Software Architecture" gives specific and valuable evidence on the need and on the value of having appropriate architecture. Rather than the blind "document it all" attitude, it gives insight into how to decide what to architect and what to ignore.
It's a very thoughtful and thought provoking look at the design process.
Top reviews from other countries
SaMReviewed in India on September 11, 20155.0 out of 5 stars must have book to learn risk-based architecting
Format: HardcoverVerified PurchaseCompletely different focus on architecture method - Risk based. In today's design risk of failure or security breaches etc are very high. This book helps in identifying them through risk based design methods.
gfarfanbReviewed in Mexico on May 22, 20235.0 out of 5 stars Good book
As a software architecture learner, this book is very good for the purpose.
-
Eduardo VieiraReviewed in Brazil on July 24, 20164.0 out of 5 stars Abordagem de custo-benefício a Arquitetura de Software
Format: HardcoverVerified PurchaseAté que ponto discutir a arquitetura de um sistema? Onde começa o "design"?
Esse tipo de questão atormenta os profissionais da área. A pressão para se começar o trabalho de execução de um sistema conflita com a necessidade de estudar o problema o suficiente para tomar boas decisões macro que permitam uma execução tranquila.
O autor sugere um modelo que basicamente pode ser resumido a: invista em arquitetura nos projetos de maior risco.
Os primeiros capítulos, onde o autor define o seu modelo, são bons. A parte onde ele tenta exemplificar com um estudo de caso, nem tanto.
É uma boa tentativa para um assunto onde os livros normalmente são muito genéricos. Eu trabalho com isso, tenho um grande conhecimento tácito adquirido, mas acho muito difícil colocar no papel regras que fundamentem o que eu penso. Então entendo a dificuldade dos autores. Mas ainda não achei o livro definitivo sobre o assunto.
Hadi ElmougyReviewed in Germany on November 19, 20185.0 out of 5 stars Great book
Format: HardcoverVerified PurchaseOne of the best books about software architecture. The content is very rich and easy to follow.
-
まっこうReviewed in Japan on October 27, 20125.0 out of 5 stars Just enoughが素敵!
Format: HardcoverVerified Purchaseリスクに応じたJust Enoughなソフトウェアアークテクチャというコンセプトが素敵です。
アーキテクトは普段からこういうことを無意識に意識しているんじゃないかと思うのですが、
これを読みながら今一度 自分の中のアーキテクト的な思考回路を整理できました。
なぜアーキテクト(本書ではもっと広くデベロパーと位置付けていますが)はアーキテクチャを意識するべきなのか。
アーキテクチャがシステム全体の中で果たす役割は何なのか。が明瞭に述べられています。
アジャイル、ウォータフォールといった特定の開発プロセスに依存しないレベルで語られているため
読む人にとっては抽象的過ぎるという印象を持たれるかもしれません。よって経験の少ない初心者向けとは言えません。
また実際のソフトウェア開発の現場で使える即効薬ではありません。ソフトウェア開発プロジェクト全体を通しての
リスクとは何なのかをそれぞれの当事者が深く考えるきっかけにする第一歩に過ぎないかもしれません。
しかし、書かれている内容はとても本質的なのでシステム開発に関わる全ての人に読んでほしいと思います。














