Insights into software architecture competencies integrating industry and academic perspectives

Authors

DOI:

https://doi.org/10.24054/rcta.v1i43.2798

Keywords:

Software architecture competencies, software engineering, action research, software industry

Abstract

(Purpose) Training a software architect is a complex task requiring a mix of experience and specialized knowledge that is difficult to achieve in the university context. This article seeks to determine the minimum competencies a software architect should achieve, covering industry expectations and the training context of universities and higher education institutions. (Methods) We conducted an action research cycle to identify and document these competencies, in which a study was designed based on surveys and workshops involving software engineers from industry and university professors who teach courses related to architecture design and evaluation. We defined the problem and research questions to contextualize the case study. A literature review was conducted to deepen the study topic and adequately design the study instruments. According to the purpose and with the established literature context, the study was designed, executed, and reported. Finally, a reflection on the results and the lessons learned was carried out, closing the action research cycle. (Results) As a first finding, the study shows a set of 11 essential competencies at the software architecture level that the industry expects from graduates, all of which are technical competencies and none of which are soft competencies.  As a second finding, the study determined that 16.1% of universities do not address the mandatory competencies, and 11.7% do not address them. (Conclusion) The discrepancy between what is taught in universities and what the software industry expects is a problem evidenced throughout this study. Aligning software architecture courses with industry requirements is crucial for computer science, systems engineering, and related program curricula. However, imparting industry-demanded competencies to undergraduate students poses numerous challenges. Knowing the skills required by industry is the first step in creating courses that will help the employability of recent graduates. Identifying which competencies can be incorporated with less effort and greater efficiency allows us to trace a route in which universities can start this path towards meeting the expectations of the software industry.

Downloads

Download data is not yet available.

References

S. Angelov and P. de Beer, “Designing and Applying an Approach to Software Architecting in Agile Projects in Education,” Journal of Systems and Software, vol. 127, no. C, pp. 78–90, 2017, doi: 10.1016/j.jss.2017.01.029. DOI: https://doi.org/10.1016/j.jss.2017.01.029

M. Galster and S. Angelov, “What makes teaching software architecture difficult?,” in Proceedings - International Conference on Software Engineering, Austin Texas: Association for Computing MachineryNew YorkNYUnited States, 2016, pp. 356–359. doi: 10.1145/2889160.2889187. DOI: https://doi.org/10.1145/2889160.2889187

IEEE, “IEEE 1471-2000 - IEEE Recommended Practice for Architectural Description for Software-Intensive Systems,” 2000. doi: 10.1109/IEEESTD.2000.91944. DOI: https://doi.org/10.1109/IEEESTD.2000.91944

M. Richards and N. Ford, Fundamentals of Software Architecture: An Engineering Approach 1st Edicion. Canada: O’Reilly Media, Inc., 2020. [Online]. Available: https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451

M. A. Shah, I. Ahmed, and M. Shafi, “Role of Software Architect: A Pakistani Software Industry Perspective,” Res J Recent Sci, vol. 3, pp. 48–52, 2014.

O. E. Lieh and Y. Irawan, “Teaching adult learners on software architecture design skills,” in Proceedings - Frontiers in Education Conference, FIE, Uppsala, Sweden: IEEE, 2019, pp. 1–9. doi: 10.1109/FIE.2018.8658714. DOI: https://doi.org/10.1109/FIE.2018.8658714

A. Jansen and J. Bosch, “Software Architecture as a Set of Architectural Design Decisions,” in 5th Working IEEE/IFIP Conference on Software Architecture (WICSA’05), Pittsburgh, PA, USA: IEEE, 2005, pp. 109–120. doi: 10.1109/WICSA.2005.61. DOI: https://doi.org/10.1109/WICSA.2005.61

M. Fowler, “Who Needs an Architect?,” IEEE Softw, vol. 20, no. 5, pp. 11–13, 2003, doi: 10.1109/MS.2003.1231144. DOI: https://doi.org/10.1109/MS.2003.1231144

R. C. De Boer and H. Van Vliet, “On the similarity between requirements and architecture,” Journal of Systems and Software, vol. 82, no. 3, pp. 544–550, 2009, doi: https://doi.org/10.1016/j.jss.2008.11.185. DOI: https://doi.org/10.1016/j.jss.2008.11.185

L. Bass, P. Clements, and R. Kazman, Software architecture in practice, third Edition. Massachusetts, USA: Pearson Education, 2012. [Online]. Available: https://www.amazon.com/Software-Architecture-Practice-3rd-Engineering/dp/0321815734

A. E. Sabry, “Decision model for software architectural tactics selection based on quality attributes requirements,” Procedia Comput Sci, vol. 65, pp. 422–431, 2015. DOI: https://doi.org/10.1016/j.procs.2015.09.111

L. Dobrica and E. Niemela, “A survey on software architecture analysis methods,” IEEE Transactions on Software Engineering, vol. 28, no. 7, pp. 638–653, 2002, doi: 10.1109/TSE.2002.1019479. DOI: https://doi.org/10.1109/TSE.2002.1019479

N. B. Harrison and P. Avgeriou, “How do architecture patterns and tactics interact? A model and annotation,” Journal of Systems and Software, vol. 83, no. 10, pp. 1735–1758, 2010. DOI: https://doi.org/10.1016/j.jss.2010.04.067

R. S. Pillutla and A. Alladi, “Methodology to bridge the gaps between engineering education and the industry requirements,” in Eurocon 2013, Zagreb, Croatia: IEEE, 2013, pp. 926–932. doi: 10.1109/EUROCON.2013.6625093. DOI: https://doi.org/10.1109/EUROCON.2013.6625093

P. M. Leidig and L. Cassel, “ACM Taskforce efforts on computing competencies for undergraduate data science curricula,” in Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, 2020, pp. 519–520. DOI: https://doi.org/10.1145/3341525.3393962

E. Moreno Vélez, “Arquisoft90 Formación profesional y capacitación,” 2020. Accessed: May 31, 2020. [Online]. Available: https://www.linkedin.com/showcase/arquisoft90-entrenamiento-den-arquitectura-de-software

A. Van Deursen et al., “A Collaborative approach to teaching software architecture,” in Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE, in SIGCSE ’17. New York, NY, USA: Association for Computing Machinery, 2017, pp. 591–596. doi: 10.1145/3017680.3017737.

V. Garousi, G. Giray, E. Tüzün, C. Catal, and M. Felderer, “Closing the gap between software engineering education and industrial needs,” IEEE Softw, vol. 37, pp. 68–77, 2020, doi: 10.1109/MS.2018.2880823. DOI: https://doi.org/10.1109/MS.2018.2880823

E. Lieh Ouh, B. Kok Siew Gan, and Y. Irawan, “Did our Course Design on Software Architecture meet our Student’s Learning Expectations?,” in 2020 IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden: IEEE, 2020, pp. 1–9. doi: 10.1109/FIE44824.2020.9274014. DOI: https://doi.org/10.1109/FIE44824.2020.9274014

L. M. Barbosa Guerrero, “Arquitectura De Software Como Eje Temático De Investigación,” Ingeniería, pp. 78–85, 2006, doi: 10.1109/MC.2015.268. DOI: https://doi.org/10.1109/MC.2015.268

T. Akhriza, Y. ma, and J. Li, “Revealing the Gap Between Skills of Students and the Evolving Skills Required by the Industry of Information and Communication Technology,” International Journal of Software Engineering and Knowledge Engineering, vol. 27, pp. 675–698, 2017, doi: 10.1142/S0218194017500255. DOI: https://doi.org/10.1142/S0218194017500255

M. A. Unigarro Gutiérrez, “Un modelo educativo crítico con enfoque de competencias,” 2017. [Online]. Available: https://revistas.ucc.edu.co/index.php/dotr/article/view/1833/1921 DOI: https://doi.org/10.16925/greylit.1833

A. Van Deursen et al., “A Collaborative approach to teaching software architecture,” in Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE, Seattle Washington USA: ACM, 2017, pp. 591–596. doi: 10.1145/3017680.3017737. DOI: https://doi.org/10.1145/3017680.3017737

A. Lopes, I. Steinmacher, and T. Conte, “UML Acceptance: Analyzing the Students’ Perception of UML Diagrams,” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, in SBES 2019. New York, NY, USA: Association for Computing Machinery, 2019, pp. 264–272. doi: 10.1145/3350768.3352575. DOI: https://doi.org/10.1145/3350768.3352575

D. C. Schmidt and Z. McCormick, “Producing and delivering a MOOC on pattern-oriented software architecture for concurrent and networked software,” in SPLASH 2013 - Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, and Applications: Software for Humanity, Indianapolis Indiana USA: ACM, 2013, pp. 167–176. doi: 10.1145/2508075.2508465. DOI: https://doi.org/10.1145/2508075.2508465

P. Ciancarini, S. Russo, and V. Sabbatino, “A Course on Software Architecture for Defense Applications,” in Proceedings of 4th International Conference in Software Engineering for Defence Applications, P. Ciancarini, A. Sillitti, G. Succi, and A. Messina, Eds., Cham: Springer International Publishing, 2016, pp. 321–330. DOI: https://doi.org/10.1007/978-3-319-27896-4_27

M. Palacin-Silva, J. Khakurel, A. Happonen, T. Hynninen, and J. Porras, “Infusing Design Thinking into a Software Engineering Capstone Course,” in 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE T), Savannah, Georgia, USA: IEEE, 2017, pp. 212–221. doi: 10.1109/CSEET.2017.41. DOI: https://doi.org/10.1109/CSEET.2017.41

B. Wei, Y. Li, L. Deng, and N. Visalli, “Teaching Distributed Software Architecture by Building an Industrial Level E-Commerce Application,” in Studies in Computational Intelligence, vol. 845, Cham: Springer International Publishing, 2020, pp. 43–54. doi: 10.1007/978-3-030-24344-9_3. DOI: https://doi.org/10.1007/978-3-030-24344-9_3

C. R. Rupakheti and S. V Chenoweth, “Teaching Software Architecture to Undergraduate Students: An Experience Report,” in Proceedings - International Conference on Software Engineering, Florence Italy: IEEE Press, 2015, pp. 445–454. doi: 10.1109/ICSE.2015.177. DOI: https://doi.org/10.1109/ICSE.2015.177

J. Joy and V. G. Renumol, “Activity oriented teaching strategy for software engineering course: An experience report,” Journal of Information Technology Education: Innovations in Practice, vol. 17, pp. 181–200, 2018, doi: 10.28945/4116. DOI: https://doi.org/10.28945/4116

Z. Li, “Using Public and Free Platform-as-a-Service (PaaS) based Lightweight Projects for Software Architecture Education,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training, Seoul South Korea: Association for Computing Machinery, 2020, pp. 1–11. doi: 10.1145/3377814.3381704. DOI: https://doi.org/10.1145/3377814.3381704

L. Zhang, Y. Li, and N. Ge, “Exploration on theoretical and practical projects of software architecture course,” in 15th International Conference on Computer Science and Education, ICCSE 2020, Delft, Netherlands: IEEE, 2020, pp. 391–395. doi: 10.1109/ICCSE49874.2020.9201748. DOI: https://doi.org/10.1109/ICCSE49874.2020.9201748

O. E. Lieh and Y. Irawan, “Exploring Experiential Learning Model and Risk Management Process for an Undergraduate Software Architecture Course,” in 2018 IEEE Frontiers in Education Conference (FIE), San Jose, CA, USA: IEEE, 2018, pp. 1–9. doi: 10.1109/FIE.2018.8659200. DOI: https://doi.org/10.1109/FIE.2018.8659200

F. G. Silva, P. E. D. Dos Santos, and C. von Flach G. Chavez, “FLOSS in Software Engineering Education: Supporting the Instructor in the Quest for Providing Real Experience for Students,” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, Salvador Brazil: ACM, 2019, pp. 234–243. doi: 10.1145/3422392.3422493. DOI: https://doi.org/10.1145/3350768.3353815

K. May, B. Yang, J. Zhou, Y. Lin, K. Zhang, and Z. Yu, “Outcome-based school-enterprise cooperative software engineering training,” in ACM International Conference Proceeding Series, Shanghai China: Association for Computing MachineryNew YorkNYUnited States, 2018, pp. 15–20. doi: 10.1145/3210713.3210722. DOI: https://doi.org/10.1145/3210713.3210722

S. Mohan, S. Chenoweth, and S. Bohner, “Towards a Better Capstone Experience,” in Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, in SIGCSE ’12. New York, NY, USA: Association for Computing Machinery, 2012, pp. 111–116. doi: 10.1145/2157136.2157173. DOI: https://doi.org/10.1145/2157136.2157173

Z. S. H. Abad, M. Bano, and D. Zowghi, “How Much Authenticity Can Be Achieved in Software Engineering Project Based Courses?,” in Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training, in ICSE-SEET ’19. Montreal Quebec Canada: IEEE Press, 2019, pp. 208–219. doi: 10.1109/ICSE-SEET.2019.00030. DOI: https://doi.org/10.1109/ICSE-SEET.2019.00030

M. Niño and R. Anaya, “Hacia un enfoque basado en competencias para la enseñanza de la ingeniería de software utilizando investigación-acción,” in Encuentro Internacional de Educación en Ingeniería ACOFI, Cartagena de Indias, 21017. [Online]. Available: https://acofipapers.org/index.php/eiei/article/view/586

A. W. Kiwelekar and H. S. Wankhede, “Learning objectives for a course on software architecture,” in European Conference on Software Architecture, 2015, pp. 169–180. DOI: https://doi.org/10.1007/978-3-319-23727-5_14

S. M. Putman and T. Rock, Action Research: Using Strategic Inquiry to Improve Teaching and Learning. SAGE Publications, 2016. [Online]. Available: https://books.google.com.co/books?id=AX1ZDwAAQBAJ

Published

2024-02-26 — Updated on 2024-02-25

How to Cite

[1]
W. L. Pantoja Yépez, A. F. Solano Alegría, A. Bandi, and J. A. Hurtado Alegría, “Insights into software architecture competencies integrating industry and academic perspectives”, RCTA, vol. 1, no. 43, pp. 9–23, Feb. 2024.

Most read articles by the same author(s)