Architectural Assumptions and Their Management in Industry – An Exploratory Study

  • Chen Yang
  • Peng Liang
  • Paris Avgeriou
  • Ulf Eliasson
  • Rogardt Heldal
  • Patrizio Pelliccione
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10475)

Abstract

As an important type of architectural knowledge, architectural assumptions should be well managed in projects. However, little empirical research has been conducted regarding architectural assumptions and their management in software development. In this paper, we conducted an exploratory case study with twenty-four architects to analyze architectural assumptions and their management in industry. In this study, we confirmed certain findings from our previous survey on architectural assumptions (e.g., neither the term nor the concept of architectural assumption is commonly used in industry, and stakeholders may have different understandings of the architectural assumption concept). We also got five new findings: (1) architects frequently make architectural assumptions in their work; (2) the architectural assumption concept is subjective; (3) architectural assumptions are context-dependent and have a dynamic nature (e.g., turning out to be invalid or vice versa during their lifecycle); (4) there is a connection between architectural assumptions and certain types of software artifacts (e.g., requirements and design decisions); (5) twelve architectural assumptions management activities and four benefits of managing architectural assumptions were identified.

Keywords

Architectural assumption Architectural assumptions management Case study 

References

  1. 1.
    Haley, C.B., Laney, R.C., Moffett, J.D., Nuseibeh, B.: Using trust assumptions with security requirements. Requir. Eng. 11(2), 138–151 (2006)CrossRefMATHGoogle Scholar
  2. 2.
    Lehman, M.M., Ramil, J.F.: Rules and tools for software evolution planning and management. Annal. Soft Eng. 11(1), 15–44 (2001)CrossRefMATHGoogle Scholar
  3. 3.
    Basili, V., Caldiera, G., Rombach, D.: The Goal Question Metric Approach. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering. Wiley, New York (1994)Google Scholar
  4. 4.
    Yang, C., Liang, P., Avgeriou, P.: Assumptions and their management in software development: A systematic mapping study (under review)Google Scholar
  5. 5.
    Yang, C., Liang, P., Avgeriou, P.: A survey on software architectural assumptions. J. Syst. Softw. 113(3), 362–380 (2016)CrossRefGoogle Scholar
  6. 6.
    Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–164 (2009)CrossRefGoogle Scholar
  7. 7.
    Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Publishing, New York (1967)Google Scholar
  8. 8.
    Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, New york (2012)CrossRefGoogle Scholar
  9. 9.
    Roeller, R., Lago, P., van Vliet, H.: Recovering architectural assumptions. J. Syst. Softw. 79(4), 552–573 (2006)CrossRefGoogle Scholar
  10. 10.
    Lago, P., van Vliet, H.: Explicit assumptions enrich architectural models. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), St Louis, Missouri, USA, pp. 206–214 (2005)Google Scholar
  11. 11.
    Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is still so hard. IEEE Softw. 26(4), 66–69 (2009)CrossRefGoogle Scholar
  12. 12.
    Van Landuyt, D., Truyen, E., Joosen, W.: Documenting early architectural assumptions in scenario-based requirements. In: Proceeding of the Joint Working IEEE/IFIP Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), Helsinki, Finland, pp. 329–333 (2012)Google Scholar
  13. 13.
    Van Landuyt, D., Joosen, W.: Modularizing early architectural assumptions in scenario-based requirements. In: Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering (FASE), Grenoble, France, pp. 170–184 (2014)Google Scholar
  14. 14.
    Ordibehesht, H.: Explicating critical assumptions in software architectures using AADL. Master thesis, University of Gothenburg (2010)Google Scholar
  15. 15.
    Mamun, M.A.A., Hansson, J.: Review and challenges of assumptions in software development. In: Proceedings of the 2nd Analytic Virtual Integration of Cyber-Physical Systems Workshop (AVICPS), Vienna, Austria (2011)Google Scholar
  16. 16.
    Mamun, M.A.A., Tichy, M., Hansson, J.: Towards formalizing assumptions on architectural level: a proof-of-concept. Research report, University of Gothenburg (2012)Google Scholar
  17. 17.
    Ostacchini, I., Wermelinger, M.: Managing assumptions during agile development. In: Proceedings of the 2009 ICSE Workshop on Sharing and Reusing Architectural Knowledge (SHARK), Vancouver, BC, Canada, pp. 9–16 (2009)Google Scholar
  18. 18.
    Yang, C., Liang, P.: Identifying and recording software architectural assumptions in agile development. In: Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering (SEKE), Vancouver, Canada, pp. 308–313 (2014)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Chen Yang
    • 1
    • 2
  • Peng Liang
    • 1
  • Paris Avgeriou
    • 2
  • Ulf Eliasson
    • 3
    • 4
  • Rogardt Heldal
    • 4
  • Patrizio Pelliccione
    • 4
  1. 1.State Key Lab of Software Engineering, School of Computer ScienceWuhan UniversityWuhanChina
  2. 2.Department of Mathematics and Computing ScienceUniversity of GroningenGroningenThe Netherlands
  3. 3.Volvo CarsGothenburgSweden
  4. 4.Department of Computer Science and EngineeringChalmers University of Technology and University of GothenburgGothenburgSweden

Personalised recommendations