Lean architecture for agile software development - Coplien, James (Wiley, 2010)