Architectural Assumptions and Their Management in Industry – An Exploratory Study
As an important type of architectural knowledge, architectural assumptions should be well managed in projects. However, little empirical research has been conducted regarding architectural assumptions and their management in software development. In this paper, we conducted an exploratory case study with twenty-four architects to analyze architectural assumptions and their management in industry. In this study, we confirmed certain findings from our previous survey on architectural assumptions (e.g., neither the term nor the concept of architectural assumption is commonly used in industry, and stakeholders may have different understandings of the architectural assumption concept). We also got five new findings: (1) architects frequently make architectural assumptions in their work; (2) the architectural assumption concept is subjective; (3) architectural assumptions are context-dependent and have a dynamic nature (e.g., turning out to be invalid or vice versa during their lifecycle); (4) there is a connection between architectural assumptions and certain types of software artifacts (e.g., requirements and design decisions); (5) twelve architectural assumptions management activities and four benefits of managing architectural assumptions were identified.
KeywordsArchitectural assumption Architectural assumptions management Case study
This work is partially sponsored by the NSFC under Grant No. 61472286 and the Ubbo Emmius scholarship program by the University of Groningen. This work is also partially supported by the Vinnova FFI projects Next Generation Electronic Architecture and Next Generation Electronic Architecture step 2. We would like to thank the participants of the case study, and the architects who participated in the pilot study.
- 3.Basili, V., Caldiera, G., Rombach, D.: The Goal Question Metric Approach. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering. Wiley, New York (1994)Google Scholar
- 4.Yang, C., Liang, P., Avgeriou, P.: Assumptions and their management in software development: A systematic mapping study (under review)Google Scholar
- 7.Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Publishing, New York (1967)Google Scholar
- 10.Lago, P., van Vliet, H.: Explicit assumptions enrich architectural models. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), St Louis, Missouri, USA, pp. 206–214 (2005)Google Scholar
- 12.Van Landuyt, D., Truyen, E., Joosen, W.: Documenting early architectural assumptions in scenario-based requirements. In: Proceeding of the Joint Working IEEE/IFIP Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), Helsinki, Finland, pp. 329–333 (2012)Google Scholar
- 13.Van Landuyt, D., Joosen, W.: Modularizing early architectural assumptions in scenario-based requirements. In: Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering (FASE), Grenoble, France, pp. 170–184 (2014)Google Scholar
- 14.Ordibehesht, H.: Explicating critical assumptions in software architectures using AADL. Master thesis, University of Gothenburg (2010)Google Scholar
- 15.Mamun, M.A.A., Hansson, J.: Review and challenges of assumptions in software development. In: Proceedings of the 2nd Analytic Virtual Integration of Cyber-Physical Systems Workshop (AVICPS), Vienna, Austria (2011)Google Scholar
- 16.Mamun, M.A.A., Tichy, M., Hansson, J.: Towards formalizing assumptions on architectural level: a proof-of-concept. Research report, University of Gothenburg (2012)Google Scholar
- 17.Ostacchini, I., Wermelinger, M.: Managing assumptions during agile development. In: Proceedings of the 2009 ICSE Workshop on Sharing and Reusing Architectural Knowledge (SHARK), Vancouver, BC, Canada, pp. 9–16 (2009)Google Scholar
- 18.Yang, C., Liang, P.: Identifying and recording software architectural assumptions in agile development. In: Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering (SEKE), Vancouver, Canada, pp. 308–313 (2014)Google Scholar