ABSTRACT
Software architecture evaluation is an essential part of architecture management and a means to uncover problems and increase confidence in the capability of the software architecture in fulfilling the most critical requirements. Architecture evaluation is typically carried out at an early stage of a software development. However, development efforts are often related to further development of existing software. We present a case study of the software architecture board (SWAB) initiative carried out at in a company called NSN. SWAB employed a lightweight architecture evaluation and management approach to exchange architectural experiences with related products and assess ability to fulfill future requirements. SWAB operated for two years but ultimately came to an end because the desired objectives were not achieved. The case study provides lessons for the evaluation of architecture in mature products and for using a lightweight evaluation approach: Evaluation in mature products seems not to be about finding problems and risk or making trade-offs, but about architecture management such as better communication, raising awareness about the architecture, and increased confidence to the architecture throughout the organization; and a lightweight architecture evaluation seems to be a good approach especially for mature products. However, the motivation and justification for architectural evaluation of mature products remains challenging, as their architecture is already in place and evolved over years towards good candidates, although the need for inter-product communication and alignment of architectural issues can be argued for.
- M. Babar and I. Gorton. Software architecture review: The state of practice. Computer, 42(7):26--32, 2009. Google ScholarDigital Library
- M. Babar, L. Zhu, and R. Jeffery. A framework for classifying and comparing software architecture evaluation methods. In Australian Software Engineering Conference, pages 309--318, 2004. Google ScholarDigital Library
- L. Bass and R. L. Nord. Understanding the context of architecture evaluation methods. In Joint Working IEEE/IFIP Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), WICSA-ECSA '12, pages 277--281. IEEE Computer Society, 2012. Google ScholarDigital Library
- J. Bosch. Design and Use of Software Architectures: Adapting and Evolving a Product-Line Approach. Addison-Wesley, 2000. Google ScholarDigital Library
- N. Boucké, D. Weyns, K. Schelfthout, and T. Holvoet. Applying the atam to an architecture for decentralized contol of a agv transportation system. In In 2nd International Conference on Quality of Software Architecture, (QoSA), LNCS 4214, pages 180--198, 2006. Google ScholarDigital Library
- G. Buchgeher and R. Weinreich. An approach for combining model-based and scenario-based software architecture analysis. In International Conference on Software Engineering Advances (ICSEA), pages 141--148, 2010. Google ScholarDigital Library
- P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures--Methods and Case Studies. Addison-Wesley, 2002. Google ScholarDigital Library
- J. O. Coplien and G. Bjørnvig. Lean Architecture: for Agile Software Development. Wiley, 2010. Google ScholarDigital Library
- L. Dobrica and E. Niemelä. A survey on software architecture analysis methods. IEEE Transactions on Software Engineering, 28(7):638--653, 2002. Google ScholarDigital Library
- L. Dominick, R. Hilliard, E. Kahane, R. Kazman, K. P., W. Kozaczynski, H. Obbink, H. Postema, A. Ran, and W. Tracz. Software architecture review and assessment (SARA) report, version 1.0. Technical report, 2002.Google Scholar
- S. Ferber, P. Heidl, and P. Lutz. Reviewing product line architectures: Experience report of ATAM in an automotive context. In Revised Papers from the 4th International Workshop on Software Product-Family Engineering (PFE), LNCS 2290, pages 364--382, 2002. Google ScholarDigital Library
- M. Fowler. Who needs an architect? IEEE Software, Jul/Aug, pages 11--13, 2003. Google ScholarDigital Library
- A. Grimán, M. Pérez, L. Mendoza, and F. Losavio. Feature analysis for architectural evaluation methods. Journal of Systems and Software, 79(6):871--888, 2006. Google ScholarDigital Library
- M. Hammersley. Some notes on the terms 'validity' and 'reliability'. British Educational Research Journal, 13(1):73--81, 1987.Google ScholarCross Ref
- C. Hofmeister, P. Kruchten, R. L. Nord, J. H. Obbink, A. Ran, and P. America. A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software, 80(1):106--126, 2007. Google ScholarDigital Library
- ISO/IEC/(IEEE). ISO/IEC 42010 (IEEE Std) 1471--2000 : Systems and Software engineering - Recomended practice for architectural description of software-intensive systems, 07 2007.Google Scholar
- A. Jansen and J. Bosch. Software architecture as a set of architectural design decisions. In Working IEEE / IFIP Conference on Software Architecture (WICSA), pages 109--120. IEEE Computer Society, 2005. Google ScholarDigital Library
- R. Kazman, M. Barbacci, M. Klein, S. Jeromy Carriere, and S. Woods. Experience with performing architecture tradeoff analysis. In International Conference on Software Engineering (ICSE), pages 54--63. ACM, 1999. Google ScholarDigital Library
- R. Kazman, L. Bass, and M. Klein. The essential components of software architecture design and analysis. Journal of Systems and Software, 79(8):1207--1216, 2006. Google ScholarDigital Library
- R. Kazman, L. Bass, M. Webb, and G. Abowd. SAAM: a method for analyzing the properties of software architectures. In International Conference on Software Engineering (ICSE), pages 81--90. IEEE Computer Society Press, 1994. Google ScholarDigital Library
- R. Kazman, M. Klein, and P. Clements. ATAM: Method for architecture evaluation. Technical Report Carnegie Mellon University/SEI-2000-TR-004, Carnegie Mellon University, Software Engineering Institute, 2000.Google ScholarCross Ref
- A. S. Lee and R. L. Baskerville. Generalizing generalizability in information systems research. Information Systems Research, 14(3):221--243, 2003. Google ScholarDigital Library
- J. F. Maranzano, S. A. Rozsypal, G. H. Zimmerman, G. W. Warnken, P. E. Wirth, and D. M. Weiss. Architecture reviews: Practice and experience. IEEE Software, 22(2):34--43, Mar. 2005. Google ScholarDigital Library
- J. A. Maxwell. Understanding and validity in qualitative research. Harvard Educational Review, 62(3):279--300, 1992.Google ScholarCross Ref
- N. Rozanski and E. Woods. Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley Professional, 2005. Google ScholarDigital Library
- P. Runeson and M. Höst. Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, 14(2):131--164, 2009. Google ScholarDigital Library
- W. Shadish, T. Cook, and D. Campbell. Experimental and Quasi-Experimental Designs for Generalized Causal Inference. Houghton, Mifflin, Boston, 2002.Google Scholar
- A. Strauss and J. Corbin. Basics of Qualitative Research. Sage, 2 edition, 1998.Google Scholar
- C. Urquhart, H. Lehmann, and M. D. Myers. Putting the 'theory' back into grounded theory: guidelines for grounded theory studies in information systems. Information Systems Journal, 20(4):357--381, 2010.Google ScholarCross Ref
- E. Woods. Industrial architectural assessment using TARA. In Working IEEE/IFIP Conference on Software Architecture (WICSA), pages 56--65, 2011. Google ScholarDigital Library
- R. K. Yin. Case Study Research. Sage: Thousand Oaks, London, 3 edition, 2003.Google Scholar
- A. Zalewski and S. Kijas. Beyond ATAM: Early architecture evaluation method for large-scale distributed systems. Journal of Systems and Software, 86(3):683--697, 2013. Google ScholarDigital Library
Index Terms
- Architecture management and evaluation in mature products: experiences from a lightweight approach
Recommendations
Quick Evaluation of a Software Architecture Using the Decision-Centric Architecture Review Method: An Experience Report
Software ArchitectureAbstractSoftware architecture evaluations allow systematic checking of software architecture fitness regarding the context and business. However, selecting and using an evaluation method always have some challenges and issues. This article reports an ...
Supporting ATAM with a collaborative web-based software architecture evaluation tool
Special issue on system and software architectures(IWSSA'04)As software companies are becoming increasingly globalised, a number of issues arise with respect to the social and environmental aspects of conducting the Architecture Tradeoff Analysis Method (ATAM), a software architecture evaluation method developed ...
Tool support for just-in-time architecture reconstruction and evaluation: an experience report
ICSE '05: Proceedings of the 27th international conference on Software engineeringThe need for software architecture evaluation has drawn considerable attention in recent years. In practice, this is a challenging exercise for two main reasons. First, in deployed projects, software architecture documentation is often not readily ...
Comments