SERIOUS GAMES AS A DRIVER FOR TEACHING AGILE SOFTWARE DEVELOPMENT IN UNDERGRADUATE SOFTWARE ENGINEERING STUDIES
University of Almería (SPAIN)
About this paper:
Conference name: 13th annual International Conference of Education, Research and Innovation
Dates: 9-10 November, 2020
Location: Online Conference
Abstract:
Teaching strategies that use games are a good thread in the learning of Software Engineering based on agile methods. We intertwine master class with gaming activities that not only strengthen the motivation of the students but also the mechanics of the game helps them to be trained in agile skills. In this paper, a teaching experience, carried out in 2018-19 and 2019-20 academic years, is presented. We have introduced a set of games, called LudoScrum, as a powerful component of Scrum tuition.
This approach has already been used and described successfully in the Computer Engineering domain. What´s more, the use of game dynamics is a widespread practice in workshops and seminars on agility in companies and software development teams. Besides, there are numerous repositories and blogs where these experiences of game use can be shared. This is because agilism is fundamentally a system of values and principles, and therefore cannot rely on propositions or statements to be communicated as they only have meaning in the context of experience.
The procedure applied in the definition and execution of gaming activities follows a five steps process, identification of the audience, the definition of the learning objectives, the configuration of the experience, identification of the resources, and execution of the games.
The basic learning objectives are for students to adopt the agile practices and apply them by working in Scrum teams on the development of a Project, acquiring a practical vision of its use in a software development project that can be reformulated through the following sub-objectives.
1. Know what characterizes the agile methods by reviewing the principles and values of the agile manifesto.
2. Identify the responsibilities of each Scrum role.
3. Building and estimating user stories.
4. Know the workflow and events of Scrum.
5. Track the sprint with the burndown charts.
The selected games, LudoScrum, cover these objectives, for each one, the proposal and dynamics of the game have been sought, adapted, or constructed as appropriate, and in some cases, new material has been build or translated.
• Marshmallow challenge, objective 1.
• Jedi 21, objective 1.
• Make a product, objective 1.
• Each one in his place, objective 2.
• Values and role cards, objective 2.
• Planning game, objective 3.
• Draw a picture and tell me a story, objectives 1, 3.
• Colored Kanban, targets 1, 4.
• Parcheesi, objectives 4, 5.
• Scrum simulations cards, targets 4, 5.
• The best flying toy, objectives 4, 5.
• Cards against agilism, objectives 1, 2, 4.
• Who am I? objectives 1, 2, 4.
The initiative to introduce games as a strategy in learning software development techniques with agile methodologies, specifically Scrum, has been a success among students.
In addition to training in the main agile techniques, such as agile estimation and the use of burndown charts, the students’ commitment has improved and teamwork, which is basic in this discipline, has been strengthened, as shown in the project developed in the laboratory sessions. The overall satisfaction of the students during these two years has been very positive.
The successful students’ answer to the activity reinforces our proposal, which is a preliminary result it could be considered a starting point to extrapolate the experience to other subjects.Keywords:
Serious games, agile methodologies training, gamification experience, game techniques, agile, games, training.