Publication

Evaluation of a process for architectural assumption management in software development

Yang, C., Liang, P. & Avgeriou, P., 15-Dec-2018, In : Science of computer programming. 168, p. 38-70 33 p.

Research output: Contribution to journalArticleAcademicpeer-review

APA

Yang, C., Liang, P., & Avgeriou, P. (2018). Evaluation of a process for architectural assumption management in software development. Science of computer programming, 168, 38-70. https://doi.org/10.1016/j.scico.2018.08.002

Author

Yang, Chen ; Liang, Peng ; Avgeriou, Paris. / Evaluation of a process for architectural assumption management in software development. In: Science of computer programming. 2018 ; Vol. 168. pp. 38-70.

Harvard

Yang, C, Liang, P & Avgeriou, P 2018, 'Evaluation of a process for architectural assumption management in software development', Science of computer programming, vol. 168, pp. 38-70. https://doi.org/10.1016/j.scico.2018.08.002

Standard

Evaluation of a process for architectural assumption management in software development. / Yang, Chen; Liang, Peng; Avgeriou, Paris.

In: Science of computer programming, Vol. 168, 15.12.2018, p. 38-70.

Research output: Contribution to journalArticleAcademicpeer-review

Vancouver

Yang C, Liang P, Avgeriou P. Evaluation of a process for architectural assumption management in software development. Science of computer programming. 2018 Dec 15;168:38-70. https://doi.org/10.1016/j.scico.2018.08.002


BibTeX

@article{0dd4080213e94684b620273fb039d1f6,
title = "Evaluation of a process for architectural assumption management in software development",
abstract = "Context: Architectural assumption management is critical to the success of software development projects. In this paper, we propose an Architectural Assumption Management (AAM) process, comprised of four AAM activities: Architectural Assumption Making, Description, Evaluation, and Maintenance. Objective: Evaluating the AAM process in architectural assumption management, regarding the ease of understanding and the effort of conducting the AAM process, as well as the effectiveness of using the AAM process to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions. Method: An explanatory study with 88 first-year master students in software engineering, and an exploratory study with five practitioners from five companies. Results: (1) the ease of understanding the AAM process is moderate for first-year master students but easy for practitioners; (2) the effort of conducting the AAM process is moderate for first-year master students; (3) Making and Evaluation took the students more time than Description and Maintenance; (4) the practitioners considered Evaluation as the most time consuming activity; (5) the AAM process can help to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions in projects. The majority of the students and practitioners agreed that Architectural Assumption Evaluation is the most helpful activity for all these three aspects. For other activities, there are different opinions about their helpfulness; and (6) there are various factors identified that can impact the aforementioned results. Being aware of and properly adjusting these factors can facilitate the application of the AAM process in projects. Conclusions: The AAM process aims at systematically managing architectural assumptions in software development. The results of the case studies provide preliminary empirical evidence for the evaluation of the AAM process.",
keywords = "Architectural assumption, Case study, Management process, Software architecture",
author = "Chen Yang and Peng Liang and Paris Avgeriou",
year = "2018",
month = dec,
day = "15",
doi = "10.1016/j.scico.2018.08.002",
language = "English",
volume = "168",
pages = "38--70",
journal = "Science of computer programming",
issn = "0167-6423",
publisher = "ELSEVIER SCIENCE BV",

}

RIS

TY - JOUR

T1 - Evaluation of a process for architectural assumption management in software development

AU - Yang, Chen

AU - Liang, Peng

AU - Avgeriou, Paris

PY - 2018/12/15

Y1 - 2018/12/15

N2 - Context: Architectural assumption management is critical to the success of software development projects. In this paper, we propose an Architectural Assumption Management (AAM) process, comprised of four AAM activities: Architectural Assumption Making, Description, Evaluation, and Maintenance. Objective: Evaluating the AAM process in architectural assumption management, regarding the ease of understanding and the effort of conducting the AAM process, as well as the effectiveness of using the AAM process to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions. Method: An explanatory study with 88 first-year master students in software engineering, and an exploratory study with five practitioners from five companies. Results: (1) the ease of understanding the AAM process is moderate for first-year master students but easy for practitioners; (2) the effort of conducting the AAM process is moderate for first-year master students; (3) Making and Evaluation took the students more time than Description and Maintenance; (4) the practitioners considered Evaluation as the most time consuming activity; (5) the AAM process can help to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions in projects. The majority of the students and practitioners agreed that Architectural Assumption Evaluation is the most helpful activity for all these three aspects. For other activities, there are different opinions about their helpfulness; and (6) there are various factors identified that can impact the aforementioned results. Being aware of and properly adjusting these factors can facilitate the application of the AAM process in projects. Conclusions: The AAM process aims at systematically managing architectural assumptions in software development. The results of the case studies provide preliminary empirical evidence for the evaluation of the AAM process.

AB - Context: Architectural assumption management is critical to the success of software development projects. In this paper, we propose an Architectural Assumption Management (AAM) process, comprised of four AAM activities: Architectural Assumption Making, Description, Evaluation, and Maintenance. Objective: Evaluating the AAM process in architectural assumption management, regarding the ease of understanding and the effort of conducting the AAM process, as well as the effectiveness of using the AAM process to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions. Method: An explanatory study with 88 first-year master students in software engineering, and an exploratory study with five practitioners from five companies. Results: (1) the ease of understanding the AAM process is moderate for first-year master students but easy for practitioners; (2) the effort of conducting the AAM process is moderate for first-year master students; (3) Making and Evaluation took the students more time than Description and Maintenance; (4) the practitioners considered Evaluation as the most time consuming activity; (5) the AAM process can help to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions in projects. The majority of the students and practitioners agreed that Architectural Assumption Evaluation is the most helpful activity for all these three aspects. For other activities, there are different opinions about their helpfulness; and (6) there are various factors identified that can impact the aforementioned results. Being aware of and properly adjusting these factors can facilitate the application of the AAM process in projects. Conclusions: The AAM process aims at systematically managing architectural assumptions in software development. The results of the case studies provide preliminary empirical evidence for the evaluation of the AAM process.

KW - Architectural assumption

KW - Case study

KW - Management process

KW - Software architecture

U2 - 10.1016/j.scico.2018.08.002

DO - 10.1016/j.scico.2018.08.002

M3 - Article

VL - 168

SP - 38

EP - 70

JO - Science of computer programming

JF - Science of computer programming

SN - 0167-6423

ER -

ID: 66523340