"The focus of this well-organized guidebook is the evaluation of software architectures. It presents practical experience- and context-based guidance for software architecture evaluations. ... it is of value to software engineers, software architects, designers, managers, and software evaluators. ... this book contributes to our understanding of software architecture via guidance for the pragmatic evaluation of software architecting and supports software architecture's central role in the development, maintenance, and improvement of software." (J. M. Perry, Computing Reviews, November, 2016)
Foreword.- Preface.- Table of Questions about Architecture Evaluation.- Table of Frequent Mistakes and Lessons Learned in Architecture Evaluation.- PART I – What is the Point of Architecture Evaluation?.- PART II – How to Evaluate Architectures Effectively and Efficiently?.- PART III – How to Apply Architecture Evaluation in Practice?.- Bibliography.
Jens Knodel is senior architect and consultant at the Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany. He is responsible for project management, software and system architecture design, and smart ecosystems in research and industry projects. He shares his experience about software engineering at international conferences and journal publications, in scientific publications and is a lecturer for software architecture at the Fraunhofer Academy, the Technical University of Kaiserslautern, and the Hochschule Mannheim.
Matthias Naab is head of the Architecture-Centric Engineering department at Fraunhofer IESE and a lecturer for software architecture at the Fraunhofer Academy. He led and conducted dozens of architecture evaluations for customers from many industries, helping customers to make adequate decisions around their software systems. He shares his experience about architecture evaluation at practitioner conferences and in scientific publications.
Thorough and continuous architecting is the key to overall success in software engineering, and architecture evaluation is a crucial part of it. This book presents a pragmatic architecture evaluation approach and insights gained from its application in more than 75 projects with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through architecture evaluation.
By providing comprehensive answers to more than 100 typical questions and discussing more than 60 frequent mistakes and lessons learned, the book allows readers to not only learn how to conduct architecture evaluations and interpret its results, but also to become aware of risks such as false conclusions, manipulating data, and unsound lines of argument. It equips readers to become confident in assessing quantitative measurement results and recognize when it is better to rely on qualitative expertise.
The target readership includes both practitioners and researchers. By demonstrating its impact and providing clear guidelines, data, and examples, it encourages practitioners to conduct architecture evaluations. At the same time, it offers researchers insights into industrial architecture evaluations, which serve as the basis for guiding research in this area and will inspire future research directions.