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

Copy link to clipboard


  • Ev aluation of a process for archit ectural assump tion management in softw are dev elopment

    Final publisher's version, 2.12 MB, PDF document

    Request copy



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.
Original languageEnglish
Pages (from-to)38-70
Number of pages33
JournalScience of computer programming
Publication statusPublished - 15-Dec-2018


  • Architectural assumption, Case study, Management process, Software architecture

ID: 66523340