Buy new:
-34% $39.30
FREE delivery Friday, May 17
Ships from: Amazon.com
Sold by: Amazon.com
$39.30 with 34 percent savings
List Price: $59.75

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE Returns
FREE delivery Friday, May 17
Or fastest delivery Thursday, May 16. Order within 16 hrs 31 mins
Only 6 left in stock (more on the way).
$$39.30 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$39.30
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
30-day easy returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$25.88
Connecting readers with great books since 1972! Used books may not include companion materials, and may have some shelf wear or limited writing. We ship orders daily and Customer Service is our top priority! Connecting readers with great books since 1972! Used books may not include companion materials, and may have some shelf wear or limited writing. We ship orders daily and Customer Service is our top priority! See less
$3.99 delivery May 20 - 21. Details
Only 1 left in stock - order soon.
$$39.30 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$39.30
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by HPB-Diamond.
Kindle app logo image

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.

QR code to download the Kindle App

Something went wrong. Please try your request again later.

Just Enough Software Architecture: A Risk-Driven Approach 1st Edition

4.2 4.2 out of 5 stars 71 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$39.30","priceAmount":39.30,"currencySymbol":"$","integerValue":"39","decimalSeparator":".","fractionalValue":"30","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"sa1DkO8wh4PAUVOnyGMQewPEOLR7u8zCMTOvSh9hisgxVleMBWy%2BUEIPSUpk54s13MC3iIEoRrUgkpoF2jwYo%2Fid34paQ7nyPpSGz3m1VdzksscPHM8GwH75I5chXUG2F5nPY3yQJEg%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$25.88","priceAmount":25.88,"currencySymbol":"$","integerValue":"25","decimalSeparator":".","fractionalValue":"88","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"sa1DkO8wh4PAUVOnyGMQewPEOLR7u8zCfhPEZBBfC0AZ5w%2BINq85sODTr0DM%2F2wrBFypWcGdZvQapvy4Dou0kIYzOiLy8%2BLsPL3vt1Kdd5VUOeajkJM56TJInZfRSVD4bT2nJ%2Feo2rXM%2Bib8nvSXlnDOoc10HTVtYjDACyVptPVi5utw75bm%2Bg%3D%3D","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

This is a practical guide for software developers, and different than other software architecture books. Here's why:

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.

Read more Read less

Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$39.30
Get it as soon as Friday, May 17
Only 6 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$41.99
Get it as soon as Friday, May 17
Only 2 left in stock - order soon.
Sold by PrimeSaves and ships from Amazon Fulfillment.
+
$43.99
Get it as soon as Friday, May 17
In Stock
Ships from and sold by Amazon.com.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

Review

The presentation is brisk, and the examples are frequent and interesting. This is a worthy book, a joy to read, and one I wish I had earlier in my career --- to help me avoid making so many mistakes! It is deserving of a place on your shelf if you want become a better software designer. --Dr. Timothy J. Halloran, Director of Engineering at SureLogic Inc.

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

This is the book I wish I'd had when I started developing software. At the time, there were books on languages and books on object-oriented programming, but few books on design. Knowing the features of the Java or C++ language does not mean you can design a good object-oriented system, nor does knowing the Unified Modeling Language (UML) mean you can design a good system architecture.

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

Product details

  • Publisher ‏ : ‎ Marshall & Brainerd; 1st edition (August 30, 2010)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 376 pages
  • ISBN-10 ‏ : ‎ 0984618104
  • ISBN-13 ‏ : ‎ 978-0984618101
  • Item Weight ‏ : ‎ 2 pounds
  • Dimensions ‏ : ‎ 7.3 x 1.1 x 9.3 inches
  • Customer Reviews:
    4.2 4.2 out of 5 stars 71 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
George Fairbanks
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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.

Customer reviews

4.2 out of 5 stars
4.2 out of 5
71 global ratings

Top reviews from the United States

Reviewed in the United States on February 5, 2018
I 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.
11 people found this helpful
Report
Reviewed in the United States on May 4, 2011
I 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!
6 people found this helpful
Report
Reviewed in the United States on February 20, 2012
So 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.
8 people found this helpful
Report
Reviewed in the United States on March 20, 2013
Pragmatism, 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
5 people found this helpful
Report
Reviewed in the United States on September 3, 2012
Designing 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.
5 people found this helpful
Report
Reviewed in the United States on December 31, 2010
During my last year of graduate school several years ago, I wrote reviews for two software books that I still consider exemplary: "Object Technology: A Manager's Guide", by David A. Taylor, which I called "the best concise introduction to object-oriented technology", and "Software Architecture in Practice", by Len Bass, Paul Clements, and Rick Kazman, the software architecture Bible at the time. As a consultant whose experience includes software, systems, and enterprise architecture, "Just Enough Software Architecture: A Risk-Driven Approach" is the book I will now be recommending to software developers who either have no architecture-level experience, or who need to get back to the basics of what software architecture is really all about.

Although I recently rated another text entitled "97 Things Every Software Architect Should Know: Collective Wisdom from the Experts" with high marks, I commented in my review that "after reading [that] book the reader will likely leave with an understanding of a broad range of architect responsibilities communicated by dozens of different architects with varying levels of experience across numerous business industries", and that "the degree to which their thoughts subtly differ on this aspect somewhat reflects what one will find in the workplace, especially when working as a consultant". However, for a cohesive treatment of software architecture, the goal of which is to start students and professionals on the right track, there are no other texts than can stand up to this one in the year-2010 marketplace.

Thinking back to my use of both the first and second editions of "Software Architecture in Practice" during my first graduate-level architecture course, I remember using the second edition to a greater extent than the first edition because of its use of UML. In fact, I had been known for quite some time to be a bit of a stickler for proper UML notation. Now I am known to combine component and deployment diagrams on a frequent basis just because it often makes sense to do so (if the tools being used are permissive in that sense). That said, the only aspect of the content that Fairbanks provides that I am not sure about is the ample use of legends within UML diagrams to explain what different lines and shapes convey. Because the goal of this book is not to teach UML, however, holistically speaking this is just a slight annoyance.

The first part of this book, "Risk-Driven Software Architecture", is what I especially enjoyed about what Fairbanks has to share with readers. Right off the bat, the delineation that the author provides between the job role of "architect", the process of "architecting", and the "architecture" engineering artifact is well done, as are his explanations of risk-driven architecture and agile architecture, and why software architecture is important. In addition, the extended example of risk-driven software architecture approach usage is effective, especially the points that the author makes about team communication, an extremely important aspect of architecture that is somehow often missed in other works of this genre.

Of the chapters within the second part of this book, "Architecture Modeling", I especially enjoyed Chapter 13, "Model Relationships". Although perhaps best read by novice architects, as a professional I found this chapter appealing because I have noticed the prevalent misunderstanding that exists in industry of how models relate to each other, and Fairbanks writes extremely well in this chapter as with the rest of the book, patiently walking the reader through every step along the way. Some potential purchasers of this book might be interested in knowing that the author shares effective "further reading" sections throughout that not only suggest other books to read, but provide CliffsNotes-styled commentaries of why each should be read. Well recommended.
6 people found this helpful
Report
Reviewed in the United States on September 10, 2014
Plain theory.

Top reviews from other countries

Translate all reviews to English
gfarfanb
5.0 out of 5 stars Good book
Reviewed in Mexico on May 22, 2023
As a software architecture learner, this book is very good for the purpose.
Hadi Elmougy
5.0 out of 5 stars Great book
Reviewed in Germany on November 19, 2018
One of the best books about software architecture. The content is very rich and easy to follow.
Eduardo Vieira
4.0 out of 5 stars Abordagem de custo-benefício a Arquitetura de Software
Reviewed in Brazil on July 24, 2016
Até 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.
16 people found this helpful
Report
SaM
5.0 out of 5 stars must have book to learn risk-based architecting
Reviewed in India on September 11, 2015
Completely 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.
One person found this helpful
Report
Mr. Zebedee W. T. Mason
5.0 out of 5 stars Great book
Reviewed in the United Kingdom on September 9, 2012
Needed a book on software architecture and this just suited me - my perspective is C++, desktop applications and this book seems pretty background neutral compared to another that got sent back. Good overview of the different basic architectures. It should allow me to argue over the coming weeks during our Scrum project where we are doing big upfront design - doesn't make sense to me either.
2 people found this helpful
Report