Abstract
In the daily work of a software architect, knowledge is ubiquitous. In addition to technical expertise, architecture knowledge (AK) also requires practical experience in the representation, communication, and management of architectural decisions. However, there is a pressing need to also incorporate sustainability aspects, i.e., capturing decisions towards software systems that are environmentally, economically, and socially balanced in the long term. With this study, we aim to provide a review of AK concepts and their representation and communication from a practical point of view. Having this understanding, we explore where sustainability can be applied in daily practice and how we can address sustainability in architecture processes in the future. The paper presents an empirical study conducted in an industrial context encompassing a questionnaire survey with 32 participants and semi-structured interviews with 15 practitioners; both groups are from a major bank in the Netherlands. Based on the insights gained from combining our findings, we (i) provide a map of applied concepts for communicating and representing AK in a large enterprise, and (ii) discuss potential avenues for carving sustainability into current software architecture practice.
We thank the architects participating in this survey; Antony Tang, John Klein, and Rich Hilliard for discussions on current state-of-research; and Haben Birhane Gebreweld for executing the questionnaire survey.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Replication package: https://github.com/S2-group/ECSA23-AKCR-rep-pkg.
- 2.
QualtricsXM: https://www.qualtrics.com.
- 3.
ATLAS.ti: https://atlasti.com.
- 4.
- 5.
C4-model: https://c4model.com.
- 6.
- 7.
The “as-is” states are based on real-world examples; however, they have been generalised to avoid disclosing sensitive information.
References
Ali Babar, M., Dingsøyr, T., Lago, P., van Vliet, H.: Software Architecture Knowledge Management. Springer, Berlin Heidelberg (2009)
Andrikopoulos, V., Boza, R.D., Perales, C., Lago, P.: Sustainability in Software Architecture: A Systematic Mapping Study. In: 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), IEEE (2022)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 4th edn. Sei Series in Software Engineering, Addison-Wesley (2021)
Calero, C., et al.: 5Ws of green and sustainable software. Tsinghua Sci. Technol. 25(3) (2020)
Capilla, R., Jansen, A., Tang, A., Avgeriou, P., Babar, M.A.: 10 years of software architecture knowledge management: Practice and future. J. Syst. Softw. 116, 191–205 (2016)
Clements, P., et al.: Documenting Software Architectures: Views and Beyond. SEI Series in Software Engineering, Addison-Wesley (2003)
Dasanayake, S., Markkula, J., Aaramaa, S., Oivo, M.: Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study. In: 24th Australasian Software Engineering Conference, IEEE (2015)
Ding, W., Liang, P., Tang, A., van Vliet, H.: Knowledge-based approaches in software documentation: a systematic literature review. Inform. Softw. Technol. 56(6), 545–567 (2014)
Kasunic, M.: Designing an Effective Survey. Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst, Tech. rep. (2005)
Koziolek, H.: Sustainability evaluation of software architectures: A systematic review. In: Proceedings of the Joint ACM SIGSOFT Conference and Symposium on Quality of Software Architectures and Architecting Critical Systems, ACM (2011)
Kruchten, P.: What do software architects really do? J. Syst. Softw. 81(12), 2413–2416 (2008)
Kruchten, P., Lago, P., van Vliet, H.: Building Up and Reasoning About Architectural Knowledge. In: Quality of Software Architectures, vol. 4214, Springer, Berlin Heidelberg (2006)
Kruchten, P., Obbink, H., Stafford, J.: The Past, Present, and Future for Software Architecture. IEEE Software 23(2), 22–30 (2006)
Lago, P.: Architecture Design Decision Maps for Software Sustainability. In: 41st International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS), IEEE (2019)
Lago, P., Condori-Fernandez, N.: The Sustainability Assessment Framework. SAF) toolkit, Instruments to help sustainability-driven software architecture design decision making (2022)
Lago, P., Greefhorst, D., Woods, E.: Architecting for Sustainability. In: EnviroInfo (2022)
Lago, P., Koçak, S.A., Crnkovic, I., Penzenstadler, B.: Framing sustainability as a property of software quality. Commun. ACM 58(10), 70–78 (2015)
Malavolta, I., Lago, P., Pelliccione, P., Tang, A.: What industry needs from architectural languages: a survey. IEEE Trans. Softw. Eng. 39(6) (2013)
Saldaña, J.: The Coding Manual for Qualitative Researchers. SAGE (2016)
Vos, S., Lago, P., Verdecchia, R., Heitlager, I.: Architectural Tactics to Optimize Software for Energy Efficiency in the Public Cloud. In: ICT4S, IEEE (2022)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Funke, M., Lago, P. (2023). Carving Sustainability into Architecture Knowledge Practice. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds) Software Architecture. ECSA 2023. Lecture Notes in Computer Science, vol 14212. Springer, Cham. https://doi.org/10.1007/978-3-031-42592-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-42592-9_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42591-2
Online ISBN: 978-3-031-42592-9
eBook Packages: Computer ScienceComputer Science (R0)