Experiences and Lessons Learned from Real-World Projects in Software Engineering Subject - Sim, Yan Hern Ryan; Lua, Zhi Zhan; Kelaver, Kahbelan Kalisalvam; Chua, Jia Qi; Lim, Ian Zheng Jiang; Cao, Qi; Keoh, Sye Loong; Lim, Li Hong Idris (Proceedings / Conference on Software Engineering Education & Training, 2023)
Teamwork in software development life cycle (SDLC) and Software Engineering (SE) is a cooperative process that all Computing Science (CS) undergraduates need to undergo. It is a critical skill for the industry and is usually trained through group projects in Higher Education. Due to the nature of software development, most software projects involve collaborative efforts of a group of developers. Although teamwork has been studied in many prior works, it is still considered as a dynamic element in SDLC. As the level of complexity, type of deliverables and range of stakeholders in software projects can vary widely, prior experience cannot be applied directly to new projects. The current implementation of SE education in the Professional Software Development (PSD) and Team Project (TP) subjects contains elements to promote teamwork. Students are required to work in groups on real-world problems. This paper examines the current teamwork simulating real-world software projects through an evaluation with the existing and previous cohorts of students, who have experienced the PSD and TP subjects. Several improvements are then proposed by this study. Based on the results, the majority of the respondents agree that our proposed methods such as self-selection of groups, pair programming, and prototyping model will bring about improved teamwork in their group projects.