Abstract
During the process of software architectural design, numerous questions arise which must be answered. These questions may be about requirements on the proposed system (the problem space) or about how the system should be designed and developed (the solution space). As questions arise they may be answered immediately, deferred until later, or provisionally answered with an assumption about the answer. The objective of this work was to explore the nature of questions that arise during architecture. We explored the types of questions, how they are organized, how they are tracked, and how and when they are answered. We started by surveying highly experienced architects about their practices with respect to architectural questions. We also performed a controlled experiment with master students about organizing architectural questions that clarified and substantiated the survey data. We learned that architectural questions include slightly more questions about the problem space than the solution space, as well as a minority of questions related to the managing of the project. We found that architects often use ad hoc methods to organize and track them, although they typically organize them along more than one dimension. We learned also that, about a third of the time, architects make assumptions about the answers to architectural questions in order to make progress on the architecture. This suggests that some projects may have risks of incorrect design or later costly rework due to inadequate tracking or incorrectly answered architectural questions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Data Availability Statement
Data from the survey and the controlled experiment are available in the ECSA Zenodo community (https://zenodo.org/communities/ecsa) (https://doi.org/10.5281/zenodo.12521472).
References
Software Systems Architecture course, Master in Informatics and Computing Engineering, Faculty of Engineering, University of XXXX. https://sigarra.up.pt/feup/en/UCURR_GERAL.FICHA_UC_VIEW?pv_ocorrencia_id=518812
Anish, P.R.: Towards an approach to stimulate architectural thinking during requirements engineering phase. In: 2016 IEEE 24th International Requirements Engineering Conference (RE), pp. 421–426 (2016). https://doi.org/10.1109/RE.2016.30
Bastani, B.: A requirements analysis framework for open systems requirements engineering. SIGSOFT Softw. Eng. Notes 32(2), 1–19 (2007). https://doi.org/10.1145/1234741.1234753
Castro, J., Kramer, J.: From software requirements to architectures. In: Proceedings of the 23rd International Conference on Software Engineering, ICSE 2001, pp. 764–765. IEEE Computer Society, USA (2001)
Chen, L., Ali Babar, M., Nuseibeh, B.: Characterizing architecturally significant requirements. IEEE Softw. 30(2), 38–45 (2013). https://doi.org/10.1109/MS.2012.174
Clements, P., et al.: Documenting Software architectures. Pearson Education (2011)
Harrison, N.B., Avgeriou, P., Zdun, U.: Focus group report: capturing architectural knowledge with architectural patterns. In: EuroPLoP, p. 691 (2006)
Harrison, N.B., Rudolph, G., Tang, J., Thackeray, L., Wagstaff, D.: Capturing notable architectural decisions. In: 2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C), pp. 179–182 (2023). https://doi.org/10.1109/ICSA-C57050.2023.00047
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, WICSA 2005, pp. 109–120. IEEE Computer Society, USA (2005). https://doi.org/10.1109/WICSA.2005.61
Kazman, R., Klein, M.: Performing architecture tradeoff analysis. In: Proceedings of the Third International Workshop on Software Architecture, ISAW 1998, pp. 85–88. Association for Computing Machinery, New York, NY, USA (1998). https://doi.org/10.1145/288408.288430
Miyachi, C.: Agile software architecture. SIGSOFT Softw. Eng. Notes 36(2), 1–3 (2011). https://doi.org/10.1145/1943371.1943388
Müller, M., Kersten, B., Goedicke, M.: A question-based method for deriving software architectures. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 35–42. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23798-0_4
Nord, R.L., Brown, N., Ozkaya, I.: Architecting with just enough information. In: Proceedings of the 6th International Workshop on SHAring and Reusing Architectural Knowledge, SHARK 2011, pp. 9–12. Association for Computing Machinery, New York, NY, USA (2011). https://doi.org/10.1145/1988676.1988680
Salehin, R.: Missing requirements information and its impact on software architectures: a case study. In: Masters Thesis, University of Western Ontario (2013). https://api.semanticscholar.org/CorpusID:28003460
Sommerville, I., Ransom, J.: An empirical study of industrial requirements engineering process assessment and improvement. ACM Trans. Softw. Eng. Methodol. 14(1), 85–117 (2005). https://doi.org/10.1145/1044834.1044837
Van Landuyt, D., Truyen, E., Joosen, W.: On the modularity impact of architectural assumptions. In: Proceedings of the 2012 Workshop on Next Generation Modularity Approaches for Requirements and Architecture, NEMARA 2012, pp. 13–16. Association for Computing Machinery, New York, NY, USA (2012). https://doi.org/10.1145/2162004.2162008
Wohlin, C., Höst, M., Henningsson, K.: Empirical research methods in web and software engineering. In: Mendes, E., Mosley, N. (eds.) Web Engineering, pp. 409–430. Springer, Berlin, Heidelberg (2006). https://doi.org/10.1007/3-540-28218-1_13
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Disclosure of Interests
The authors have no competing interests to declare that are relevant to the content of this article.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Harrison, N.B., Aguiar, A. (2024). The Nature of Questions that Arise During Software Architecture Design. In: Galster, M., Scandurra, P., Mikkonen, T., Oliveira Antonino, P., Nakagawa, E.Y., Navarro, E. (eds) Software Architecture. ECSA 2024. Lecture Notes in Computer Science, vol 14889. Springer, Cham. https://doi.org/10.1007/978-3-031-70797-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-70797-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-70796-4
Online ISBN: 978-3-031-70797-1
eBook Packages: Computer ScienceComputer Science (R0)