Abstract
This study questions the traditional view of software architecture as a specification that needs only be understood by software architects and engineers. Based on an intensive study of three software-producing organizations, we identify multiple metaphors (‘Blueprint,’ ‘Literature,’ ‘Language’ and ‘Decision’) that stakeholders use to understand the term software architecture, which in turn, allows them to effectively participate in its creation and use. Our results point to new research directions that may better encompass a broader view of software architecture.
Similar content being viewed by others
References
Baragry J and Reed K (2001) Why we need a different view of software architecture. In Proceedings of the Working IFIP/IEEE Conference on Software Architecture (WICSA 2001), pp 125–134, IEEE Computer Society, Amsterdam, The Netherlands.
Bass L, Clements P and Kazman R (2003) Software Architecture in Practice 2nd edn. Addison-Wesley, Boston.
Batory D, Coglianese L, Goodwin M and Shafer S (1995) Creating reference architectures: an example from avionics. In Proceedings of the Symposium on Software Reusability, pp 27–37 ACM, Seattle, Washington, April 1995.
Bichler M, Segev A and Zhao JL (1998) Component-based e-commerce: assessment of current practices and future directions. SIGMOD Record 27 (4), 7–14.
Binns P, Englehart M, Jackson M and Vestal S (1996) Domain-specific software architectures for guidance, navigation, and control. Journal of Software Engineering and Knowledge Engineering 6 (2), 201–227.
Bosch J (2000) Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach. Addison-Wesley, Harlow.
Bowker GC and Star SL (1999) Sorting Things Out: Classification and its Consequences. MIT Press, Cambridge, MA.
Calloway LJ and Ariav G (1991) Developing and using a qualitative method to study relationships among designers and tools. In Information Systems Research: Contemporary Approaches and Emergent Traditions (NISSEN HE, KLEIN HK and HIRSCHHEIM R, Eds), pp 175–193, North-Holland, Amsterdam.
Carlile PR (2002) A pragmatic view of knowledge and boundaries: boundary objects in new product development. Organization Science 13 (4), 442–455.
Carlsen S and Gjersvik R (1997) Organizational metaphors as lenses for analyzing workflow technology. In Proceedings of the International ACM SIGGROUP Conference on Supporting Group Work: The Integration Challenge, pp 261–270, ACM Press, Phoenix, AZ, USA.
Ciborra C (2000) Drifting: from control to drift. In Planet Internet (BRAA K, SORENSEN C and DAHLBOM B, Eds), Studentlitteratur, Lund.
Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Nord R and Stafford J (2002) Documenting Software Architectures: Views and Beyond. Addison-Wesley, Boston.
Clements P and Northrop LM (1999) A Framework for Software Product Line Practice – Version 2.0. Software Engineering Institute, Pittsburgh.
Conway ME (1968) How do committees invent? Datamation 14 (4), 28–31.
Curtis B, Krasner H and Iscoe N (1988) A field study of the software design process for large systems. Communications of the ACM 31 (11), 1268–1287.
Dashofy EM, van der Hoek A and Taylor RN (2005) A comprehensive approach for the development of modular software architecture description languages. ACM Transactions on Software Engineering and Methodology 14 (2), 199–245.
Eden C and Ackerman F (1998) Making Strategy: The Journey of Strategic Management. Sage Publications, London.
Erl T (2004) Service-Oriented Architecture: A Field Guide to Integrating Xml and Web Services. Prentice-Hall, Upper Saddle River.
Fan M, Stallaert J and Whinston AB (2000) The adoption and design methodologies of component-based enterprise systems. European Journal of Information Systems 9 (1), 25–35.
Fayad EM and Johnson ER (2000) Domain-specific Application Frameworks. John Wiley & Sons, New York.
Gallupe RB (2000) Images of information systems in the early 21st century. Communications of the AIS 3 (1), 1–16.
Garlan D (2000) Software architecture: a roadmap. In The Future of Software Engineering (FINKELSTEIN A, Ed.), ACM Press, New York.
Garlan D, Monroe RT and Wile D (1997) Acme: an architecture description interchange language. In Proceedings of CASCON’97, pp 169–183, Toronto, Canada.
Garlan D and Shaw M (1993) An introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering, Series on Software Engineering and Knowledge Engineering, (Ambriola V and Tortora G, Eds), Vol. 2, pp 1–39, World Scientific Publishing Co., Singapore.
Glaser B and Strauss AL (1967) The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine, Chicago.
Grinter RE (1999) Systems architecture: product designing and social engineering. ACM SIGSOFT Software Engineering Notes 24 (2), 11–18.
Hevner AR and Mills HD (1993) Box-structured methods for systems development with objects. IBM Systems Journal 32 (2), 232–251.
Hofmann L (2003) Beyond Software Architecture – Creating and Sustaining Winning Solutions. Addison-Wesley, Boston.
Hofmeister C, Kruchten P, Nord RL, Obbink H and America P (2007) A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software 80 (1), 106–126.
Hofmeister C, Nord R and Soni D (1999) Applied Software Architecture. Addison-Wesley, Reading, MA.
Huhns MN and Singh MP (2005) Service-oriented computing: key concepts and principles. IEEE Internet Computing 9 (1), 75–81.
IBM Corporation (1975) Business Systems Planning: Information Systems Planning Guide. IBM, #GE20-0527-4, New York.
IEEE (2000) IEEE Std 1471-2000: IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE, New York.
Jazayeri M, Ran A and Linden F (2000) Software Architecture for Product Families: Principles and Practice. Addison-Wesley, Upper Saddle River.
Karimi J (1988) Strategic planning for information systems: requirements and information engineering methods. Journal of Management Information Systems 4 (4), 5–24.
Kazman R, Asundi J and Klein M (2001) Quantifying the costs and benefits of architectural decisions. In Proceedings of 23rd International Conference on Software Engineering (ICSE 2001), pp 297–306, IEEE Computer Society.
Kazman R, Barbacci M, Klein M, Carrière SJ and Woods SG (1999) Experience with performing architecture tradeoff analysis. In Proceedings of the 1999 International Conference on Software Engineering, pp 54–63, IEEE Computer Society Press.
Kendall JE and Kendall KE (1993) Metaphors and methodologies: living beyond the systems machine. MIS Quarterly 17 (2), 149–171.
Kruchten P, Obbink H and Stafford J (2006) The past, present, and future for software architecture. IEEE Software 23 (2), 22–30.
Kruchten PB (1995) The 4+1 view model of architecture. IEEE Software 12 (6), 42–50.
Kruchten PB (1999) Rational Unified Process: An Introduction. Addison-Wesley, Upper Saddle River.
Kumar K and Hillegersberg JV (2000) Enterprise resource planning: introduction. Communications of the ACM 43 (4), 22–26.
Lakoff G and Johnson M (1980) Metaphors We Live by. The University of Chicago Press, Chicago.
Linthicum D (2000) Enterprise Application Integration. Addison-Wesley, Upper Saddle River.
Luckham DC, Kenney JC, Augustin LM, Vera J, Bryan D and Mann W (1995) Specification and analysis of system architecture using rapide. IEEE Transactions on Software Engineering 21 (4), 336–355.
Maier MW and Rechtin E (2002) The Art of Systems Architecting, 2nd edn. CRC Press, Boca Raton.
Medvidovic N, Dashofy EM and Taylor RN (2007) Moving architectural description from under the technology lamppost. Information and Software Technology 49 (1), 12–31.
Medvidovic N, Rosenblum DS, Redmiles DF and Robbins JE (2002) Modeling software architectures in the unified modeling language. ACM Transactions on Software Engineering and Methodology 11 (1), 2–57.
Medvidovic N and Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26 (1), 70–93.
Merriam-Webster (2002) Merriam Webster's Collegiate Dictionary 10th edn (accessed 12 October 2002).
Miles MB and Huberman AM (1984) Qualitative Data Analysis: A Sourcebook of New Methods. Sage, Beverly Hills.
Monroe RT, Kompanek A, Melton R and Garlan D (1997) Architectural styles, design patterns, and objects. IEEE Software 14 (1), 43–52.
Monteiro E and Hanseth O (1995) Social shaping of information infrastructure: on being specific about the technology. In Information Technology and Changes in Organizational Work (ORLIKOWSKI WJ, WALSHAM G, JONES MR and Degross JI, Eds), pp 325–343, Chapman & Hall, London.
Morgan G (1986) Images of Organization. Sage, Beverly Hills.
Morris M (2006) Models: Architecture and the Miniature (Architecture in Practice. Academy Press, Wiley, New York.
O’neil T, Leaney J, Rowe D, Simpson H, Rangarajan M, Weiss J, Papp Z, Bapty T, Purves B, Horvath G and De JONG E (2000) IEEE ECBS’99 TC Architecture Working Group (AWG) Report. In Proceedings of the Seventh IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS). pp 383–389.
Orlikowski WJ (1993) Case tools as organizational change: investigating incremental and radical changes in systems development. MIS Quarterly 17 (3), 309–340.
Orlikowski WJ (2006) Material knowing: the scaffolding of human knowledgeability. European Journal of Information Systems 15, 460–466.
Papazoglou MP and Georgakopoulos D (2003) Service-oriented computing. Communications of the ACM 46 (10), 25–28.
Rechtin E (1992) The art of systems architecting. IEEE Spectrum 29 (10), 66–69.
Ross JW, Weill P and Robertson DC (2006) Enterprise Architecture as Strategy: Creating a Foundation for Business Execution. Harvard Business School Press, Boston.
Rozanski N and Woods E (2007) Software Systems Architecture – Working with Stakeholders using Viewpoints and Perspectives. Addison-Wesley, Upper Saddle River.
Scientific Software (2005) Atlas.Ti – The Knowledge Workbench. Scientific Software Development, Berlin, Germany.
Seaman CB (1999) Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering 25 (4), 557–572.
Shaw M (2003) Writing good software engineering research papers: minitutorial. In Proceedings of the 25th International Conference on Software Engineering (ICSE’03), pp 726–736, IEEE Computer Society, Portland, Oregon.
Shaw M and Clements P (2006) The golden age of software architecture. IEEE Software 23 (2), 31–39.
Shaw M, Deline R, Klein DV, Ross TL, Young DM and Zelesnik G (1995) Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering 21 (4), 314–335.
Shaw M and Garlan D (1996) Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Upper Saddle River.
Simpson H, Rossak W, Schaffer C, Hammer D, Rozenblit J, Boasson M, Rowe D, Leaney J, Kirova V, Kradjel H and Lawson B (1998) IEEE ECBS TC Architecture Focus Group Discussion Paper. (accessed 6 September 2002).
Sjöberg DIK, Dybå T and Jorgensen M (2007) The future of empirical methods in software engineering research. In FOSE’07: 2007 Future of Software Engineering, (Briand L and Wolf A, Eds), pp 358–378, IEEE Computer Society.
Smolander K, Hoikka K, Isokallio J, Kataikko M and Mäkelä T (2002) What is included in software architecture? A case study in three software organizations. In Proceedings of 9th Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS), pp 131–138 IEEE Computer Society, Lund, Sweden, 8–11 April 2002.
Smolander K and Päivärinta T (2002a) Describing and communicating software architecture in practice: observations on stakeholders and rationale. In Proceedings of CaiSE’02 – The Fourteenth International Conference on Advanced Information Systems Engineering (BANKS PIDDUCK A, MYLOPOULOS J, WOO CC and OZSU MT, Eds), pp 117–133, Springer-Verlag, Toronto, Canada 27–31 May 2002.
Smolander K and Päivärinta T (2002b) Practical rationale for describing software architecture: beyond programming-in-the-large. In Software Architecture: System Design, Development and Maintenance – IFIP 17th World Computer Congress – TC2 Stream/3rd Working IEEE/IFIP Conference on Software Architecture (WICSA3) (BOSCH J, GENTLEMAN M, HOFMEISTER C and KUUSELA J, Eds), pp 113–126 Kluwer Academic Publishers, Montréal, Québec, Canada, 25–30 August 2002.
Smolander K and Rossi M (2008) Conflicts, compromises, and political decisions: methodological challenges of enterprise-wide e-business architecture creation. Journal of Database Management 19 (1), 19–40.
Software Engineering Institute (2006) How do you define software architecture. (accessed 29 September 2006).
Soni D, Nord RL and Hofmeister C (1995) Software architecture in industrial application. In Proceedings of the 17th International Conference on Software Engineering, pp 196–207, ACM Press, Seattle, WA, USA, 24–28 April 1995.
Sowa JF and Zachman JA (1992) Extending and formalizing the framework for information systems architecture. IBM Systems Journal 31 (3), 590–616.
Star SL (1989) The structure of ill-structured solutions: heterogeneous problem-solving, boundary objects and distributed artificial intelligence. In Distributed Artificial Intelligence (HUHNS M and GASSER L, Eds), Vol. 2, pp 37–54, Morgan Kauffmann, Menlo Park, CA.
Star SL and Griesemer JR (1989) Institutional ecology, “Translations” and boundary objects: amateurs and professionals in Berkeley's Museum of Vertebrate Zoology, 1907–39. Social Studies of Science 19, 387–420.
Strauss AL and Corbin J (1990) Basics of Qualitative Research: Grounded Theory Procedures and Applications. Sage Publications, Newbury Park, CA.
Taylor RN and van der Hoek A (2007) Software design and architecture the once and future focus of software engineering. In Future of Software Engineering, 2007. FOSE ’07, (Briand L and Wolf A, Eds), pp 226–243.
Tellioglu H, Wagner I and Lainer R (1998) Open design methodologies. Exploring architectural practice for systems design. In Proceedings of the Participatory Design Conference PDC’98, pp 19–28 Seattle, WA, USA, 12–14 November 1998.
Van der Aalst WMP, Ter Hofstede AHM and Weske M (2003) Business process management: a survey. In BPM’2003, (van der Aalst W, ter Hofstede A and Weske M, Eds), pp 1–12, Springer, Berlin.
Volkoff O, Strong DM and Elmes MB (2005) Understanding enterprise systems-enabled integration. European Journal of Information Systems 14 (2), 110–120.
Ward J and Peppard J (2002) Strategic Planning for Information Systems. John Wiley & Sons, Chichester.
Weill P and Broadbent M (1998) Leveraging the New Infrastructure: How Market Leaders Capitalize on Information Technology. Harvard Business School Press, Boston, MA.
Wile D (1999) AML: an architecture meta-language. In Proceedings of the 14th International Conference on Automated Software Engineering, pp 183–190.
Wynekoop JL and Russo NL (1995) Systems development methodologies: unanswered questions. Journal of Information Technology 10, 65–73.
Yin RK (1994) Case Study Research: Design and Methods 2nd edn. Sage Publications, Thousand Oaks.
Zachman JA (1987) A framework for information systems architecture. IBM Systems Journal 26 (3), 276–292.
Acknowledgements
We would like to acknowledge feedback on an early version of the manuscript from Shawn Clark.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Smolander, K., Rossi, M. & Purao, S. Software architectures: Blueprint, Literature, Language or Decision?. Eur J Inf Syst 17, 575–588 (2008). https://doi.org/10.1057/ejis.2008.48
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/ejis.2008.48