Effective Tool Support for Architectural Knowledge Sharing

  • Rik Farenhorst
  • Patricia Lago
  • Hans van Vliet
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)


Knowledge management plays an important role in the software architecting process. Recently, this role has become more apparent by a paradigm shift that views a software architecture as the set of architectural design decisions it embodies. This shift has sparked the discussion in both research and practice on how to best facilitate sharing of so-called architectural knowledge, and how tools can best be employed. In order to design successful tool support for architectural knowledge sharing it is important to take into account what software architecting really entails. To this end, in this paper we define the main characteristics of architecting, based on observations in a large software development organization, and state-of-the-art literature in software architecture. Based on the defined characteristics, we determine how best practices known from knowledge management could be used to improve architectural knowledge sharing. This results in the definition of a set of desired properties of architectural knowledge sharing tools. To improve the status quo of architectural knowledge sharing tools, we present the design of an architectural knowledge sharing platform.


Knowledge Management Knowledge Sharing Software Architecture Global Software Development Knowledge Repository 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eeles, P.: The Process of Software Architecting. Technical Report (2006), available online:
  2. 2.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley Pearson Education, Boston (2003)Google Scholar
  3. 3.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2002)Google Scholar
  4. 4.
    Bosch, J.: Software Architecture: The Next Step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)Google Scholar
  5. 5.
    Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: WICSA. 5th Working IEEE/IFIP Conference on Software Architecture, Pittsburgh, USA, pp. 109–120. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  6. 6.
    van der Ven, J.S., Jansen, A., Nijhuis, J., Bosch, J.: Design decisions: The Bridge between Rationale and Architecture. In: Dutoit, A. (ed.) Rationale Management in Software Engineering, pp. 329–346. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Kruchten, P., Lago, P., van Vliet, H.: Building up and Reasoning about Architectural Knowledge. In: Hofmeister, C., Crnkovic, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 39–47. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Shaw, M., Clements, P.: The Golden Age of Software Architecture. IEEE Software 23(2), 31–39 (2006)CrossRefGoogle Scholar
  9. 9.
    Clements, P., Kazman, R., Klein, M., Devesh, D., Reddy, S., Verma, P.: The Duties, Skills, and Knowledge of Software Architects. In: WICSA. 6th Working IEEE/IFIP Conference on Software Architecture (2007)Google Scholar
  10. 10.
    Eeles, P.: Characteristics of a Software Architect. Technical Report (2006), available online:
  11. 11.
    Farenhorst, R., Lago, P., van Vliet, H.: Prerequisites for Successful Architectural Knowledge Sharing. In: ASWEC. 18th Australian Software Engineering Conference, Melbourne, Australia, pp. 27–36 (2007)Google Scholar
  12. 12.
    Avison, D., Lau, F., Myers, M., Nielsen, P.A.: Action Research. Communications of the ACM 42(1), 94–97 (1999)CrossRefGoogle Scholar
  13. 13.
    Eeles, P.: The Benefits of Software Architecting. Technical Report (2006), available online:
  14. 14.
    Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A., America, P.: Generalizing a Model of Software Architecture Design from Five Industrial Approaches. In: WICSA. 5th Working IEEE/IFIP Conference on Software Architecture, Pittsburgh, USA, pp. 77–86 (2005)Google Scholar
  15. 15.
    Lago, P., Avgeriou, P.: 1st Workshop on SHaring and Reusing ARchitectural Knowledge (Final Workshop Report). ACM SIGSOFT Software Engineering Notes 31(5), 32–36 (2006)CrossRefGoogle Scholar
  16. 16.
    Kankanhalli, A., Tan, B.C.Y., Wei, K.K.: Contributing Knowledge to Electronic Knowledge Repositories: An Empirical Investigation. MIS Quarterly 29(1), 113–143 (2005)Google Scholar
  17. 17.
    Cummings, J.: Knowledge Sharing: A Review of the Literature. Technical report, The World Bank Operations Evaluation Department (2003)Google Scholar
  18. 18.
    Nonaka, I., Takeuchi, H.: The Knowledge-Creating Company. Oxford University Press, Oxford (1995)Google Scholar
  19. 19.
    Ghosh, T.: Creating Incentives for Knowledge Sharing. Technical report, MIT Open Courseware, Sloan school of management, Cambridge, Massachusetts, USA (2004)Google Scholar
  20. 20.
    Rus, I., Lindvall, M.: Knowledge Management in Software Engineering. IEEE Software 19(3), 26–38 (2002)CrossRefGoogle Scholar
  21. 21.
    Aurum, A., Jeffery, R., Wohlin, C., Handzic, M.: Managing Software Engineering Knowledge. Springer, Heidelberg (2003)zbMATHGoogle Scholar
  22. 22.
    Basili, V.R., Caldiera, G., Rombach, D.H.: The Experience Factory. In: Encyclopedia of Software Engineering, vol. 2, pp. 469–476. John Wiley & Sons Inc., Chichester (1994)Google Scholar
  23. 23.
    Seaman, C.B., Mendonca̧, M.G., Basili, V.R., Kim, Y.M.: User Interface Evaluation and Empirically-Based Evolution of a Prototype Experience Management Tool. IEEE Transactions on Software Engineering 29(9), 838–850 (2003)CrossRefGoogle Scholar
  24. 24.
    Althoff, K.D., Bomarius, F., Tautz, C.: Knowledge Management for Building Learning Software Organizations. Information Systems Frontiers 2(3/4), 349–367 (2000)CrossRefGoogle Scholar
  25. 25.
    Ruhe, G.: Software Engineering Decision Support - A new Paradigm for Learning Software Organizations. In: LSO. 4th Workshop on Learning Software Organizations, Chicago, USA, pp. 104–113 (2002)Google Scholar
  26. 26.
    Dutoit, A.H., McCall, R., Mistrik, I., Paech, B.: Rationale Management in Software Engineering. Springer, Heidelberg (2006)Google Scholar
  27. 27.
    Haldin-Herrgard, T.: Difficulties in Diffusion of Tacit Knowledge in Organizations. Journal of Intellectual Capital 1(4), 357–365 (2000)CrossRefGoogle Scholar
  28. 28.
    Hansen, M.T., Nohria, N., Tierney, T.: What’s Your Strategy for Managing Knowledge? Harvard Business Review 77(2), 106–116 (1999)Google Scholar
  29. 29.
    Desouza, K.C., Awazu, Y., Baloh, P.: Managing Knowledge in Global Software Development Efforts: Issues and Practices. IEEE Software 23(5), 30–37 (2006)CrossRefGoogle Scholar
  30. 30.
    Hall, H.: Input-Friendliness: Motivating Knowledge Sharing Across Intranets. Journal of Information Science 27(3), 139–146 (2001)CrossRefGoogle Scholar
  31. 31.
    van den Brink, P.: Social, Organization, and Technological Conditions that Enable Knowledge Sharing. PhD thesis, Technische Universiteit Delft (2003)Google Scholar
  32. 32.
    Röll, M.: Distributed KM - Improving Knowledge Workers’ Productivity and Organisational Knowledge Sharing with Weblog-based Personal Publishing. In: Blogtalk 2.0. European Conference on Weblogs, Vienna (2004)Google Scholar
  33. 33.
    Boer, N.I., van Baalen, P.J., Kumar, K.: The Importance of Sociality for Understanding Knowledge Sharing Processes in Organizational Contexts. Technical Report ERS-2002-05-LIS, Erasmus Research Institute of Management (ERIM), Rotterdam (2002)Google Scholar
  34. 34.
    Bush, A.A., Tiwana, A.: Designing Sticky Knowledge Networks. Communications of the ACM 48(5), 66–71 (2005)CrossRefGoogle Scholar
  35. 35.
    Capilla, R., Nava, F., Pérez, S., Dueñnas, J.C.: A Web-based Tool for Managing Architectural Design Decisions. In: SHARK. 1st ACM Workshop on SHaring ARchitectural Knowledge, Torino, Italy, ACM Press, New York (2006)Google Scholar
  36. 36.
    Falessi, D., Becker, M., Cantone, G.: Design Decision Rationale: Experiences and Steps Ahead Towards Systematic Use. In: SHARK. 1st ACM Workshop on SHaring ARchitectural Knowledge, Torino, Italy, ACM Press, New York (2006)Google Scholar
  37. 37.
    Ali Babar, M., Gorton, I., Jeffery, R.: Toward a Framework for Capturing and Using Architecture Design Knowledge. Technical Report UNSW-CSE-TR-0513, The University of New South Wales (2005)Google Scholar
  38. 38.
    Nardi, B.A., Schiano, D.J., Gumbrecht, M., Swartz, L.: Why We Blog. Communications of the ACM 47(12), 41–46 (2004)CrossRefGoogle Scholar
  39. 39.
    Fan, W., Wallace, L., Rich, S., Zhang, Z.: Tapping the Power of Text Mining. Communications of the ACM 49(9), 77–82 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Rik Farenhorst
    • 1
  • Patricia Lago
    • 1
  • Hans van Vliet
    • 1
  1. 1.Department of Computer Science, VU University AmsterdamThe Netherlands

Personalised recommendations