Context: Software development is often characterised as a "wicked problem" due to changing requirements and the realization that the problem to be solved is not really understood until a solution is created. global software development (GSD) introduces a host of additional complexities to software development as a result of global distance (geographic separation, timezone differences, and language and cultural gaps). Problem: A common approach to teaching software engineering concepts is to have students form teams to create a software product, this allow them to experience the problems first hand. However, this approach is much more difficult for GSD, due to the need to have distributed project teams. Approach: We developed a serious game, called "GSD Sim", that allows players to manage a globally distributed software project. Players allocate teams of programmers to different locations around the world, and assign these teams to develop modules that comprise the software product. A simulator generates events, such as integration failures or requirements misunderstandings that cause project delays, players can make tactical and strategic interventions to address and prevent adverse events. Result: GSD Sim allows students to experience the difficulties involved in GSD from a project manager's point of view, in a much shorter time and at lower cost than a real global software development project. The game is also entertaining in its own right. Conclusion: GSD Sim has the potential to reinforce conceptual instruction with hands-on learning at a fraction of the time and cost that would be required to run a true distributed software project.
['John Noll', 'Andrew Butterfield', 'Kevin Farrell', 'Tom Mason', 'Miles McGuire', 'Ross McKinley']
GSD Sim: A Global Software Development Game