Just Enough Software Architecture

Published January 20th, 2012 Under Programming | Leave a Comment

Is there a middle way between the traditional Big Architecture Upfront and the Natural Architecture Emergence proposed by some Agile developers? This is the goal of this book that tries to provide guidelines and models on how to include just enough architecture in your software development activities. George Fairbanks proposes to use the risks faced by the project as the main criteria for this approach. Read more

Documenting Software Architectures

Published September 9th, 2011 Under Programming | Leave a Comment

The fist thing that I liked about this book on documenting software architectures is that the authors know how to write. It is both easy to read and well structured. The book provides a reading guide for the different categories of readers (architect, novice and stakeholders).  There are also many pointers and quotes in the margins that allow you or your brain to navigate further from the current content.

The book starts by explaining the concepts of architecture views and styles. A second part discusses in a more detailed fashion the process of documenting architecture. My favorite content is a section that deals with the ontology of architecture decisions. Three appendixes present some techniques that can be used to describe the architecture (UML, SysML and AADL)

This book states that its goal is to answer the following question: “How do you document an architecture so that others can successfully use it, maintain it, and build a system from it?”. I think that this objective is broadly achieved. In addition, the book provides very interesting content of how to consider software architecture. I will recommend this book to every software developers. Software architects could be the main category targeted by the book, but both developers and project managers could get their share of knowledge that applies to their daily work.

Reference: “Documenting Software Architectures”, Paul Clements & al., Addison-Wesley, 278 pages, IBSN 978-0-321-55268-6

Web site: https://wiki.sei.cmu.edu/sad

Get more details on this book or buy it on amazon.com
Get more details on this book or buy it on amazon.co.uk

Quotes

“There are some things that we can say with confidence. Every system has an architecture. All complex systems are hierarchical in nature, but also exhibit other patterns of regularity. There’s an intimate dance that occurs between the processes of architecture and the implementation. And, to understand and reason about the architecture of a software-intensive system, one has to consider multiple views from the perspectives of specific concerns from multiple classes of stakeholders.” (Grady Booch in the foreword)

“Even the best architecture, most perfectly suited for the job, will be essentially useless if the people who need to use it do not know what it is, cannot understand it well enough to apply it, or (worst at all) misunderstand it an apply it incorrectly. All of the effort, analysis, hard work, and insightful design on the part of the architecture team will have been wasted. They might as well have gone on vacation for all the good their architecture will do. Creating an architecture isn’t enough. It has to be communicated in a way to let its stakeholders use it properly to do their jobs.”

“Architects need a way to explain their design – what drove them to make the design decisions they did. Documenting rationale is a critical but often underpracticed part of an architect’s duties.”

The Process of Software Architecting

Published December 1st, 2009 Under Requirements | Leave a Comment

This book presents the influence of architecture in the software development process. The interesting aspect of this book is that is it a thoroughly presentation of the architecture role in the software development activities, not only at initial analytic stage but also at the subsequent tasks like software testing or configuration management. The book is very well structured and is certainly an excellent text book for students or for developers that are interested in getting an extensive presentation of software architecture. Read more

Enterprise Architecture for Integration

Published January 22nd, 2007 Under Requirements | Leave a Comment

This book presents a top-down approach to define an information system architecture at the enterprise level. It begins with a short presentation of the Zachman Framework that is used as the basic tool to analyse enterprise architecture. A first part is then devoted to present approaches used to express the strategy. A second part describes the techniques used to translate the strategic goals at the information system level with data and process modelling. Read more