DOI QR코드

DOI QR Code

Bridging the Gap: Follow-up Strategies for Effective Software Architecture Implementation

  • Received : 2024.07.05
  • Published : 2024.07.30

Abstract

Software architecture are High-level design decisions shaping a software system's components, structure, and interactions. It can be a blueprint for development, evolution, and ongoing maintenance. This research investigates the communication practices employed by software architects and developers to ensure adherence to the designed software architecture. It explores the factors influencing the selection of follow-up methods and the impact of follow-up frequency on successful implementation. Findings reveal that formalized follow-up procedures are not yet a ubiquitous element within the software development lifecycle. While electronic communication, particularly email, appears to be the preferred method for both architects and developers, physical and online meetings are utilized less frequently. Interestingly, the study suggests a potential confidence gap, with architects expressing concerns about developers' ability to faithfully implement the architecture. This may lead to architects providing additional clarification. Conversely, while most developers reported confidence in their software knowledge, overly detailed architecture documentation may pose challenges, highlighting the need for architects to consider alternative communication strategies. A key limitation of this study is the sample size, restricting the generalizability of the conclusions. However, the research offers valuable preliminary insights into the communication practices employed for architecture implementation, paving the way for further investigation with a larger and more diverse participant pool.

Keywords

Acknowledgement

This research journey would not have been possible without the unwavering support of a remarkable network. I extend my deepest gratitude to my esteemed family and friends whose constant encouragement, patience, and unwavering belief in me fueled my determination throughout this process. I am also incredibly thankful to Umm Al Qura University for providing the exceptional environment and invaluable resources that facilitated my exploration of software development within the vast field of software engineering. Their guidance proved instrumental in shaping this project. To all of you, my heartfelt thanks.

References

  1. M. C. Oussalah, Software architecture 1. Wiley Online Library, 2023. Accessed: Jun. 06, 2024. [Online]. Available: https://onlinelibrary.wiley.com/doi/pdf/10.1002/9781118930960
  2. S. Al-Saqqa, S. Sawalha, and H. AbdelNabi, "Agile software development: Methodologies and trends.," Int. J. Interact. Mob. Technol., vol. 14, no. 11, 2020, Accessed: Jun. 06, 2024. [Online]. Available: https://pdfs.semanticscholar.org/2fef/154748093288894dbd0b98db1b9b54731c71.pdf
  3. E. Laaraib et al., "A Methodology for Incorporating Quality Assurance Practices during Software Development Life Cycle," Int J, vol. 10, pp. 2296-2301, 2021.
  4. P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, Agile Software Development Methods: Review and Analysis. arXiv, 2017. Accessed: Jun. 05, 2024. [Online]. Available: http://arxiv.org/abs/1709.08439
  5. V. R. Basili, "Software development: A paradigm for the future," in [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference, IEEE, 1989, pp. 471-485. Accessed: Jun. 05, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/65127/
  6. H. S. Bok and K. S. Raman, "Software Engineering Productivity Measurement using Function Points: A Case Study," J. Inf. Technol., vol. 15, no. 1, pp. 79-90, 2000, doi: 10.1177/026839620001500108.
  7. I. C. S. S. E. T. Committee, IEEE Standard Glossary of Software Engineering Terminology, vol. 729. IEEE, 1983.
  8. I. Sommerville, Software Engineering, 10th edition. Boston: Pearson, 2015.
  9. D. E. Perry and A. L. Wolf, "Foundations for the study of software architecture," ACM SIGSOFT Softw. Eng. Notes, vol. 17, no. 4, pp. 40-52, Oct. 1992, doi: 10.1145/141874.141884.
  10. D. Spinellis and G. Gousios, Beautiful architecture: leading thinkers reveal the hidden beauty in software design. O'Reilly Media, Inc., 2009. Accessed: Jun. 07, 2024. [Online]. Available: https://books.google.com/books?hl=en&lr=&id=h34pwy005nYC&oi=fnd&pg=PR5&dq=beautiful+architectures&ots=YWhejCmTV2&sig=YKo_a69ks28hrobI1yry1t6Rq5g
  11. S. Herold, C. Knieke, M. Schindler, and A. Rausch, "Towards improving software architecture degradation mitigation by machine learning," in The Twelfth International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE 2020), Nice, France, October, 26-29 2020, 2020. Accessed: Jun. 06, 2024. [Online]. Available: https://www.divaportal.org/smash/record.jsf?pid=diva2:1484805
  12. N. Ford, M. Richards, P. Sadalage, and Z. Dehghani, Software Architecture: The Hard Parts. O'Reilly Media, Inc., 2021. Accessed: Jun. 06, 2024. [Online]. Available: https://books.google.com/books?hl=en&lr=&id=OX1EEAAAQBAJ&oi=fnd&pg=PP1&dq=%22Software++Architecture:++The+Hard+Parts%22&ots=eS4q_nkmUQ&sig=PAZm7Wh-F7ZqtjfcMOUypg2pPI8
  13. S. Berczuk and B. Appleton, Software configuration management patterns: effective teamwork, practical integration. Addison-Wesley Professional, 2020. Accessed: Jun. 07, 2024. [Online]. Available: https://books.google.com/books?hl=en&lr=&id=kmfnDwAAQBAJ&oi=fnd&pg=PR11&dq=%22Software+Configuration+Management+Patterns:+Effective+Teamwork,+Practical+Integration%22&ots=cHCqEwu2r&sig=qYtsrS1SyTSEKIjGK0797TP703o
  14. P. A. Laplante and M. Kassab, What every engineer should know about software engineering. CRC Press, 2022. Accessed: Jun. 07, 2024. [Online]. Available: https://www.taylorfrancis.com/books/mono/10.1201/9781003218647/every-engineer-know-software-engineeringphillip-laplante-mohamad-kassab
  15. A. Goldberg, "Collaborative software engineering," J. Object Technol., vol. 1, no. 1, pp. 1-19, 2002. https://doi.org/10.5381/jot.2002.1.1.c1
  16. M. Wiese, A.-F. Brand, and A. Van Hoorn, "Learning from Each Other: How Are Architectural Mistakes Communicated in Industry?," in Software Architecture, vol. 14212, B. Tekinerdogan, C. Trubiani, C. Tibermacine, P. Scandurra, and C. E. Cuesta, Eds., in Lecture Notes in Computer Science, vol. 14212. , Cham: Springer Nature Switzerland, 2023, pp. 319-336. doi: 10.1007/978-3-031-42592-9_22.
  17. H. Muccini and K. Vaidhyanathan, "Software architecture for ML-based systems: What exists and what lies ahead," in 2021 IEEE/ACM 1st Workshop on AI Engineering-Software Engineering for AI (WAIN), IEEE, 2021, pp. 121-128. Accessed: Jun. 07, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/9474391/
  18. I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, and A. Tang, "What industry needs from architectural languages: A survey," IEEE Trans. Softw. Eng., vol. 39, no. 6, pp. 869-891, 2012. https://doi.org/10.1109/TSE.2012.74
  19. K. Bailey, M. Nagapan, and D. Dig, "Examining User-Developer Feedback Loops Facilitated by Mobile Application Stores", Accessed: Jun. 07, 2024. [Online]. Available: http://dig.cs.illinois.edu/papers/FeedbackPaper.pdf
  20. M. Ozkaya and F. Erata, "A survey on the practical use of UML for different software architecture viewpoints," Inf. Softw. Technol., vol. 121, p. 106275, 2020.
  21. M. Haoues, A. Sellami, H. Ben-Abdallah, and L. Cheikhi, "A guideline for software architecture selection based on ISO 25010 quality related characteristics," Int. J. Syst. Assur. Eng. Manag., vol. 8, no. S2, pp. 886-909, Nov. 2017, doi: 10.1007/s13198-016-0546-8.
  22. L. P. da S. Carvalho, R. Novais, and M. Mendonca, "Investigating the Relationship between Code Smell Agglomerations and Architectural Concerns: Similarities and Dissimilarities from Distributed, Service-Oriented, and Mobile Systems," in Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse, in SBCARS '18. New York, NY, USA: Association for Computing Machinery, Sep. 2018, pp. 3-12. doi: 10.1145/3267183.3267184.
  23. J. Garcia et al., "Constructing a shared infrastructure for software architecture analysis and maintenance," in 2021 IEEE 18th International Conference on Software Architecture (ICSA), IEEE, 2021, pp. 150-161. Accessed: Jun. 06, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/9426737/
  24. N. Nahar, S. Zhou, G. Lewis, and C. Kastner, "Collaboration challenges in building ML-enabled systems: communication, documentation, engineering, and process," in Proceedings of the 44th International Conference on Software Engineering, Pittsburgh Pennsylvania: ACM, May 2022, pp. 413-425. doi: 10.1145/3510003.3510209.
  25. B. T. R. Savarimuthu, S. A. Licorish, M. Devananda, G. Greenheld, V. Dignum, and F. Dignum, "Developers' Responses to App Review Feedback - A Study of Communication Norms in App Development," in Coordination, Organizations, Institutions, Norms, and Ethics for Governance of Multi-Agent Systems XIII, vol. 12298, A. Aler Tubella, S. Cranefield, C. Frantz, F. Meneguzzi, and W. Vasconcelos, Eds., in Lecture Notes in Computer Science, vol. 12298. , Cham: Springer International Publishing, 2021, pp. 57-75. doi: 10.1007/978-3-030-72376-7_4.
  26. N. Chen, J. Lin, S. C. H. Hoi, X. Xiao, and B. Zhang, "AR-miner: mining informative reviews for developers from mobile app marketplace," in Proceedings of the 36th International Conference on Software Engineering, Hyderabad India: ACM, May 2014, pp. 767-778. doi: 10.1145/2568225.2568263.
  27. S. Panichella, A. Di Sorbo, E. Guzman, C. A. Visaggio, G. Canfora, and H. C. Gall, "How can i improve my app? classifying user reviews for software maintenance and evolution," in 2015 IEEE international conference on software maintenance and evolution (ICSME), IEEE, 2015, pp. 281-290. Accessed: Jun. 07, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/7332474/
  28. F. Kooti, L. M. Aiello, M. Grbovic, K. Lerman, and A. Mantrach, "Evolution of Conversations in the Age of Email Overload," in Proceedings of the 24th International Conference on World Wide Web, Florence Italy: International World Wide Web Conferences Steering Committee, May 2015, pp. 603-613. doi: 10.1145/2736277.2741130.
  29. F. Kooti, H. Yang, M. Cha, K. Gummadi, and W. Mason, "The emergence of conventions in online social networks," in Proceedings of the International AAAI Conference on Web and Social Media, 2012, pp. 194-201. Accessed: Jun. 07, 2024. [Online]. Available: https://ojs.aaai.org/index.php/ICWSM/article/view/14267
  30. E. Guzman, R. Alkadhi, and N. Seyff, "A needle in a haystack: What do twitter users say about software?," in 2016 IEEE 24th international requirements engineering conference (RE), IEEE, 2016, pp. 96-105. Accessed: Jun. 07, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/7765515/
  31. G. G. Lucassen, "Dynamics of Software Product Management & Software Architecture," Master's Thesis, 2014. Accessed: Jun. 07, 2024. [Online]. Available: https://studenttheses.uu.nl/bitstream/handle/20.500.12932/18340/Thesis%20FINAL.pdf?sequence=2
  32. O. G. Fragoso-Diaz, R. Santaolaya-Salgado, and S. De Gyves-Avila, "Web Services for Software Development: The Case of a Web Service That Composes Web Services," in 2008 The Third International Conference on Software Engineering Advances, IEEE, 2008, pp. 31-36. Accessed: Jun. 07, 2024. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/4668084/
  33. H.-K. Kim, "Diversity of Mobile Distribution Systems," Int. J. Smart Home, vol. 7, no. 3, pp. 355-364, 2013.