Using Pattern-Based Architecture Reviews to Detect Quality Attribute Issues – an Exploratory Study Neil B. Harrison 1 2 , Paris Avgeriou 1 1 Department of Mathematics and Computing Science, University of Groningen, Groningen, the Netherlands 2 Department Computer Science and Engineering, Utah Valley University, Orem, Utah, USA harrisne@uvsc.edu, paris@cs.rug.nl Abstract. Architecture reviews are effective for identifying potential problems in architectures, particularly concerning the quality attributes of the system, but are generally expensive. We propose that architecture reviews based on the architecture patterns and their interactions with quality attributes can be done with small effort. We performed an exploratory study to investigate how much time and effort is required to perform such a review, and how many related issues it uncovers. We performed nine architecture reviews on small systems, and recorded the time and effort spent, and the number of issues identified. On average, a pattern-based review took less than two person-days of effort and less than a day of calendar time. The median number of issues identified was three, one of which was major. We recommend that where extensive architecture reviews are too expensive, a pattern-based review can be done with small effort and time. Keywords: Software Architecture Patterns, Architecture Reviews, Quality Attributes 1 Introduction Some of the most important requirements concern the system’s quality attributes. These requirements are characteristics that the system has, as opposed to what the system does, such as usability, maintainability, performance, and reliability. Sommerville notes that functional requirements are services the system should provide, while non-functional requirements (quality attributes) are constraints on the functions offered by the system [1]. Bachmann et al and Bass et al [2, 3] use quality attribute scenarios to describe quality-attribute-specific requirements; such a scenario includes a stimulus acting on an artefact (a system or part of a system) within an environment, and a response and its measure. The set of quality attributes is rich and varied, and various classification schemes are used (see for example [3] and [4]). A particular challenge of quality attributes is that because they tend to be system- wide characteristics, system-wide approaches are needed to satisfy them; these approaches are defined at the system architecture level and not the component level.