Learning through practice via role-playing: Lessons learnt - Ahmad, S.; Kasmuri, E.; Muda, N. A.; Muda, A. K. (2012)
Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machine. Sound software engineering closely related with socio-technical activity that depends on several human issues which are communication, collaboration, motivation, work environment, team harmony, engagement, training and education. These issues affect everything for students to fully understand software engineering and be prepared for software development careers. Therefore courses offered in the university must also consider the sociological and communication aspects, often called the socio-technical aspects. One popular method is to use role-playing exercises. Role-playing is a less technologically elaborate form of simulation for learning interpersonal skills and is analogous to rehearsal. It is particularly helpful when students are having difficulties to relate lessons learnt in the university to the applicability of the knowledge in the real implementation. This is because many students view software engineering as meaningless bureaucracy and have little interest in the knowledge delivered in the lecture hall. This scenario impedes the expansion of current knowledge and inhibits the possibility of knowledge exploration to solve range of industry problems. Simply lecturing about software engineering will never engage students or convince them that software engineering has value. Given this student bias, the goal of teaching software engineering often becomes convincing students that it has value. To achieve this, students need to experience firsthand the sociological and communication difficulties associated with developing software systems. In this paper, we argue that in teaching software engineering we must cover two essential things; delivery of knowledge and skills required in the software engineering domain in a form of lecture and hands-on practice to experience the value of the knowledge and skills learnt. We report on our experiences gained in deploying role-playing in master degree program. Role-playing is used as pedagogical tool to give students a greater appreciation of the range of issues and problems associated with software engineering in real settings. We believe that the lessons learnt from this exercise will be valuable for those interested in advancing software engineering education and training.