Recommendations: Patterns in Architecture

Last modified on March 10, 2012   About this page

Patterns in Architecture

Lean Architecture: for Agile Software Development by James Coplien and Gertrud Bjørnvig
Lean Architecture: for Agile Software Development When I received my review copy of this book, I had high expections. And I was not disappointed. As a C++ programmer in the early 90's Coplien's Advanced C++ Programming Styles and Idioms was a source of interview material when looking for programmers. It's a good bet that this book may fill the same role for those looking to see if candidates for architect roles understand what it means to be an architect in a Lean or Agile Organization. This book dispels the myth that Agile and Architecture don't go together and explains the balance between Agile architecture and too much Big Up Front Design. This book emphasizes the importance of frequent collaboration between stakeholders in defining a good architecture and helps you to understand the importance of architecture to the success of agile projects. With code examples throughout, this book emphasizes that architecture and coding must go together. After describing some general principles of how architecture can add value to an agile project, the authors explain the Data Context, Interaction (DCI) architecture, which provides an framework for building lean architectures. My one minor complaint is that the transition between the general discussions of lean architecture and the focused discussion of DCI was a bit abrupt. But this was a minor distraction from an enjoyable and informative read. Rich with citations and historical context, this book will be useful for anyone who is struggling with how to build systems that need to support complicated user interactions.

Related books

A Pattern Language by Christopher Alexander, Sara Ishikawa, Murray Silverstein
A Pattern LanguageA must read if you are interested in patterns or architecture or urban planning. In the software patterns community, A Pattern Language is often used as an example of how, a pattern language (as opposed to solitary patterns) should be structured.

The Timeless Way of Building by Christopher Alexander
The Timeless Way of BuildingThe philiosphy behind patterns and pattern languages. Really helpful in understanding the why of patterns.

The Oregon Experiment by Christopher Alexander
The Oregon ExperimentThis book gives a concrete example of how one would apply patterns and pattern languages to a planning/architecture project. Talks about a project at the University of Oregon. Reading this book put some key ideas into focus, like how you use patterns when not starting from scratch, and how to deal with specialized situations where the book of patterns you have doesn't cover everything.

How Buildings Learn : What Happens After They're Built by Stewart Brand.
How Buildings Learn : What Happens After They're BuiltThis is a great book if you are interested in architecture, history, or just simply how systems change and grow over time.