Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
-34% $39.30$39.30
Ships from: Amazon.com Sold by: Amazon.com
$25.88$25.88
$3.99 delivery May 20 - 21
Ships from: HPB-Diamond Sold by: HPB-Diamond
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.
OK
Just Enough Software Architecture: A Risk-Driven Approach 1st Edition
Purchase options and add-ons
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.3 x 1.1 x 9.3 inches
- Print length376 pages
Frequently bought together
Similar items that may deliver to you quickly
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; 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:
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.
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 Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
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.
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!
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.
Thanks
It's a very thoughtful and thought provoking look at the design process.
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.
Top reviews from other countries
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.