Do We Teach the Right Thing? A Comparison of Global Software Engineering Education and Practice - Beecham, S; Clear, Tony; Noll, J (IEEE, 2017)
Global Software Engineering (GSE) is a reality for even the smallest companies, so software engineering students need to learn how to work in a globally distributed development context. Many approaches to teaching GSE have been described in the literature. Since the majority of software development is done by engineers working in small or medium sized enterprises (SMEs) we now ask: Are today's students being trained to work effectively in small distributed companies?We surveyed three GSE SMEs to identify which of 70 Global Teaming Model (GTM) practices were problematic and important to this sample. We then mapped recommendations for GSE educators to those pinpointed GTM practices. Finally, we analysed the level to which these needed GTM practices were addressed by the GSE-Education (GSE-Ed) literature, and who performed these practices. Nine GTM practices were found important and relevant to all three SMEs. Seven of these were addressed by GSE-Ed recommendations, and two were seen to be lacking. A rich set of 63 unique GSE-Ed recommendations were found to support the seven GTM practices, but our analysis unearthed a surprising complexity of roles and responsibilities undertaken by the instructor in GSE-Ed courses. As a result student and client involvement in coordination and collaboration activities tended to be weakened or non-existent. In order to ensure graduates are prepared for the reality, practitioners of SMEs need to take on a more active role in the education process. Also, students need to be given more responsibility so they can learn the broader professional and management skills required when developing software in multi-site SME teams.
Keywords: Global Software Engineering; Software Engineering Education; Global Software Engineering; GSE; Software Engineer; Small to Middle Sized Enterprises; SMEs; Empirical Software Engineering