Evaluating Software Architectures by Paul Clements, Mark Klein & Rick Kazman