Eliciting better quality architecture evaluation scenarios: a controlled experiment on top-down vs. bottom-up

Scenarios are extensively used in software architecture evaluation. These scenarios are elicited from stakeholders using either a topdown or bottom-up approach. The former approach uses categorization schemes to focus stakeholders on developing scenarios for each required category. The latter approach uses brainstorming without any explicit categories of scenarios. It is claimed that top-down approach can result in improved quality of scenarios. However, there has been no empirical evidence on the relative effectiveness of the scenario elicitation techniques. In this paper we report on a controlled experiment with 24 subjects (postgraduate and final year undergraduate students with industry experience) in an academic context with the goal to assess the relative effectiveness of the two scenario elicitation approaches. Two groups developed scenarios to characterize quality attributes: the treatment group was given software change categories, the control group was not. The outcome variable was the quality of the scenarios produced by each participant. The average quality score for individual scenario profiles in the treatment group was significantly greater than the control group. All participants using the change categories reported that the knowledge of change categories helped them develop better quality scenarios. Our results support the claim that the provision of domainspecific software change categories helps generate better quality scenarios.

[1]  Ritu Agarwal,et al.  Knowledge Acquisition Using Structured Interviewing: An Empirical Investigation , 1990, J. Manag. Inf. Syst..

[2]  Muhammad Ali Babar,et al.  The value of architecturally significant information extracted from patterns for architecture evaluation: a controlled experiment , 2006, Australian Software Engineering Conference (ASWEC'06).

[3]  Jan Bosch,et al.  Analyzing Software Architectures for Modifiability. , 2000 .

[4]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[5]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[6]  Mark Klein,et al.  Applicability of General Scenarios to the Architecture Tradeoff Analysis Method , 2001 .

[7]  N. H. Lassing,et al.  The goal of software architecture analysis: confidence building or risk assessment , 1999 .

[8]  N. H. Lassing,et al.  On software architecture analysis of flexibility, Complexity of changes: Size isn't everything , 1999 .

[9]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[10]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[11]  Liming Zhu,et al.  A framework for classifying and comparing software architecture evaluation methods , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[12]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Robert P. Biuk-Aghai,et al.  Analysis of virtual workspaces , 1999, Proceedings 1999 International Symposium on Database Applications in Non-Traditional Environments (DANTE'99) (Cat. No.PR00496).

[14]  Jan Bosch,et al.  Experiences with ALMA: Architecture-Level Modifiability Analysis , 2002, J. Syst. Softw..

[15]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[16]  Hans van Vliet,et al.  How well can we predict changes at architecture design time? , 2003, J. Syst. Softw..

[17]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[18]  Liming Zhu,et al.  An empirical study of groupware support for distributed software architecture evaluation process , 2004, J. Syst. Softw..

[19]  PerOlof Bengtsson,et al.  Architecture-Level Modifiability Analysis , 2002 .

[20]  Jan Bosch,et al.  An experiment on creating scenario profiles for software change , 2000, Ann. Softw. Eng..

[21]  Jan Bosch,et al.  Architecture-level modifiability analysis (ALMA) , 2004, J. Syst. Softw..

[22]  Rick Kazman,et al.  Toward a discipline of scenario‐based architectural engineering , 2000, Ann. Softw. Eng..

[23]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[24]  Connie U. Smith,et al.  PASASM: a method for the performance assessment of software architectures , 2002, WOSP '02.