Teaching Software Processes in Collaboration with Companies: A Potentially Extensionist Experience

Abstract


Software Engineering teaching becomes more effective when carried out through real practical experiences. Providing this type of experience requires articulating collaborations with companies and can be characterized as an extension practice to be used for curricular accreditation purposes. This article reports on a software process teaching experience where students, through an active learning methodology, modeled development processes of software development companies and identified opportunities for improvement. The work of modeling and analyzing software development processes developed by student groups produced practical results that are shared in this article. The experience was evaluated in relation to positive and challenging aspects by the students and the teacher. In the students' perception, the experience was positive because it provided the opportunity to get in touch with development processes in real scenarios. In the professor's view, the experience helped in the training of students, as well as strengthening relationships with development companies in the region, increasing the possibilities of curricular extension actions involving this community.

Keywords: Education in Software Engineering, Collaboration with Companies, University Extension

References

Carla Bezerra and Emanuel Coutinho. 2022. Teaching software processes from different application domains. In Anais do XXI Simpósio Brasileiro de Qualidade de Software (Curitiba/PR). SBC, Porto Alegre, RS, Brasil, 277–286. [link].

Andrea Bordin. 2023. Uma Análise da Curricularização da Extensão na Graduação em Computação: Possibilidades e Desafios. In Anais do III Simpósio Brasileiro de Educação em Computação (Evento Online). SBC, Porto Alegre, RS, Brasil, 262–269.

Pierre Bourque, Richard E. Fairley, and IEEE Computer Society. 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 (3rd ed.). IEEE Computer Society Press, Washington, DC, USA.

Brasil. 2012. Política Nacional de Extensão Universitária. [link]

Brasil. 2018. Resolução CNE/CES Nº 7, de 18 de dezembro de 2018. Estabelece as Diretrizes para a Extensão na Educação Superior Brasileira. [link]

D. Carrington, A. Baker, and A. van der Hoek. 2005. It’s All in the Game: Teaching Software Process Concepts. In Proceedings Frontiers in Education 35th Annual Conference. F4G–F4G.

Jianguo Chen, Huijuan Lu, Lixin An, and Yongxia Zhou. 2009. Exploring teaching methods in software engineering education. In 2009 4th International Conference on Computer Science Education. 1733–1738.

Orges Cico, Letizia Jaccheri, Anh Nguyen-Duc, and He Zhang. 2021. Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends. Journal of Systems and Software 172, 110736.

Henrique Hoff de Lima, Guilherme Samuel S. da Silva, Matheus Kildere C. de Vasconcelos, Maicon Bernardino, and Andrea Sabedra Bordin. 2019. Engenharia de Requisitos na Resolução de Problemas da Comunidade: Lições Aprendidas. In Anais da III Escola Regional de Engenharia de Software (Rio do Sul). SBC, Porto Alegre, RS, Brasil, 105–112. [link]

CC2020 Task Force. 2020. Computing Curricula 2020: Paradigms for Global Computing Education. Association for Computing Machinery, New York, NY, USA.

Vahid Garousi, Kai Petersen, and Baris Ozkan. 2016. Challenges and best practices in industry-academia collaborations in software engineering: A systematic literature review. Information and Software Technology 79, 106–127.

Marco Kuhrmann, Daniel Méndez Fernandez, and Jürgen Münch. 2013. Teaching software process modeling. In 2013 35th International Conference on Software Engineering (ICSE). 1138–1147.

Dieter Landes, Yvonne Sedelmaier, Volkhard Pfeiffer, Jürgen Mottok, and Georg Hagel. 2012. Learning and teaching software process models. In Proceedings of the 2012 IEEE Global Engineering Education Conference (EDUCON). 1–8.

Jonnathan Lopes, Gabriela Medeiros, Dienefer Fialho, and Andréa Bordin. 2017. Resolução de Problemas no Curso de Engenharia de Software: Uma Experiência Envolvendo Extensão e Ensino. In Anais da I Escola Regional de Engenharia de Software (Alegrete). SBC, Porto Alegre, RS, Brasil, 97–104. [link]

Maíra R. Marques, Alcides Quispe, and Sergio F. Ochoa. 2014. A systematic mapping study on practical approaches to teaching software engineering. In 2014 IEEE Frontiers in Education Conference (FIE) Proceedings. 1–8.

Ministério da Educação. 2016. Resolução Nº 5, de 16 de novembro de 2016. Institui as Diretrizes Curriculares Nacionais para os cursos de graduação na área da Computação. Retrieved May 11, 2018 from [link]

Melody Moore and Colin Potts. 1994. Learning by doing: Goals and experiences of two software engineering project courses. In Software Engineering Education, Jorge L. Díaz-Herrera (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 151– 164.

Victor Moura and Gleison Santos. 2018. ProcSoft: A Board Game to Teach Software Processes Based on ISO/IEC 29110 Standard. In Proceedings of the XVII Brazilian Symposium on Software Quality (Curitiba, Brazil) (SBQS ’18). Association for Computing Machinery, New York, NY, USA, 363–372.

Maria Paasivaara, Jari Vanhanen, and Casper Lassenius. 2019. Collaborating with Industrial Customers in a Capstone Project Course: The Customers’ Perspective. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 12–22.

Maria Spichkova. 2019. Industry-Oriented Project-Based Learning of Software Engineering. In 2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS). 51–60.

Jayakanth Srinivasan and Kristina Lundqvist. 2007. A Constructivist Approach to Teaching Software Processes. In Proceedings of the 29th International Conference on Software Engineering (ICSE ’07). IEEE Computer Society, USA, 664–672.

Daniel Ståhl, Kristian Sandahl, and Lena Buffoni. 2022. An Eco-System Approach to Project-Based Learning in Software Engineering Education. IEEE Transactions on Education 65, 4, 514–523.

Saurabh Tiwari and Santosh Singh Rathore. 2019. Teaching Software Process Models to Software Engineering Students: An Exploratory Study. In 2019 26th Asia-Pacific Software Engineering Conference (APSEC). 308–315.

A. F. Zorzo, D. Nunes, E. Matos, J. Steinmacher, I.and Leite, R. Araujo, R. M.and Correia, and S. Martins. 2017. Referenciais de Formação para os Cursos de Graduação em Computação. 153.
Published
2024-04-22
BORDIN, Andréa Sabedra. Teaching Software Processes in Collaboration with Companies: A Potentially Extensionist Experience. In: BRAZILIAN SYMPOSIUM ON COMPUTING EDUCATION (EDUCOMP), 4. , 2024, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 153-160. ISSN 3086-0733. DOI: https://doi.org/10.5753/educomp.2024.237414.