From Theory to Interpreting the Practice: Exploring the Role-play to Teach DevOps
Resumo
[Context] While Role-play (RP) has recently attracted increased attention due its capability as an active learning method in Software Engineering (SE) education, a research gap remains regarding its adoption within the context of DevOps, a critical area in SE. [Objective] This study investigates a RP-based teaching model for DevOps. [Method] We follow an empirical, experimental, and descriptive research approach, employing structured questionnaires and participant observation based on three RP sessions (n=30 students). Data analysis included Descriptive Statistics and Thematic Content Analysis. [Results] In summary, 90% of the students agreed that RP, when compared to an usual DevOps class, was more captivating. Moreover, 93.3% of them agreed that RP contributed to their learning. Pair-based learning and integration of industry tools were highly favored by students according to qualitative results. [Contributions] We offer an RP-based teaching model that encourages collaboration and technical proficiency in SE students. Our proposal can also serve as a potential source of inspiration for companies designing in-company training processes.
Referências
Isaque Alves and Carla Rocha. 2021. Qualifying software engineers undergraduates in DevOps-challenges of introducing technical and non-technical concepts in a project-oriented course. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, 144–153.
Laurence Bardin. 1979. Análise de conteúdo. Lisboa: Edições (1979).
Benjamin S Bloom, David R Krathwohl, Bertram B Masia, et al. 1984. Bloom taxonomy of educational objectives. In Allyn and Bacon. Pearson Education London.
Charles C Bonwell and James A Eison. 1991. Active learning: Creating excitement in the classroom. 1991 ASHE-ERIC higher education reports. ERIC.
Virginia Braun and Victoria Clarke. 2006. Using thematic analysis in psychology. Qualitative research in psychology. Qualitative Research in Psychology 3, 2 (2006), 77–101.
Alfredo Capozucca, Nicolas Guelfi, and Benoît Ries. 2019. Design of a (yet another?) devops course. In Software Engineering Aspects of Continuous Development SBES’24, September 30 – October 04, 2024, Curitiba, PR and New Paradigms of Software Production and Deployment: First International Workshop, DEVOPS 2018, Chateau de Villebrumier, France, March 5-6, 2018, Revised Selected Papers 1. Springer, 1–18.
Abour H Cherif and Christine H Somervill. 1995. Maximizing learning: using role playing in the classroom. The American Biology Teacher (1995), 28–33.
Henrik Bærbak Christensen. 2016. Teaching DevOps and cloud computing using a cognitive apprenticeship and story-telling approach. In Proceedings of the 2016 ACM conference on innovation and technology in computer science education. 174–179.
Orges Cico, Letizia Jaccheri, Anh Nguyen-Duc, and He Zhang. 2021. Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends. Journal of Systems and Software 172 (2021), 110736. DOI: 10.1016/j.jss.2020.110736
Victoria Clarke and Virginia Braun. 2017. Thematic analysis. The journal of positive psychology 12, 3 (2017), 297–298.
Adrienne Decker and David Simkins. 2016. Leveraging role play to explore software and game development process. In 2016 IEEE Frontiers in Education Conference (FIE). IEEE, 1–5.
Rebeca P Diaz Redondo, Ana Fernandez Vilas, Jose J Pazos Arias, and Alberto Gil Solla. 2014. Collaborative and role-play strategies in software engineering learning with web 2.0 tools. Computer applications in engineering education 22, 4 (2014), 658–668.
A Dixon and AP Jagodzinski. 2003. Qualitative data analysis of thinking-aloud role-play exercises: Usefulness in software-engineering requirements analysis. Concurrent Engineering: Advanced Design, Production and Management Systems 20 (2003), 107–113.
Samuel Ferino and Uirá Kulesza. 2023. Unveiling the Teaching Methods Adopted in DevOps Courses. In Proceedings of the XXII Brazilian Symposium on Software Quality. 355–357.
Marcelo Fernandes, Samuel Ferino, Uirá Kulesza, and Eduardo Aranha. 2020. Challenges and recommendations in devops education: A systematic literature review. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering. 648–657.
Thaís de Souza Deluca Ferreira, Davi Viana, and Rodrigo Pereira dos Santos. 2021. Árvore de ecos: Um jogo para ensino de conceitos de ecossistemas de software. Revista Brasileira de Informática na Educação 29 (2021), 273–300.
Martin Fowler. 2006. Continuous Integration. [link] Acessado em: 19/11/2021.
Silvia Gabrielli, Stephen Kimani, and Tiziana Catarci. 2017. The design of microlearning experiences: A research agenda (on microlearning). (2017).
Tyson R Henry and Janine LaFrance. 2006. Integrating role-play into software engineering courses. Journal of Computing Sciences in Colleges 22, 2 (2006), 32–38.
Judith A Holton. 2007. The coding process and its challenges. The Sage handbook of grounded theory 3 (2007), 265–289.
Ramtin Jabbari, Nauman bin Ali, Kai Petersen, and Binish Tanveer. 2016. What is DevOps? A systematic mapping study on definitions and practices. In Proceedings of the scientific workshop proceedings of XP2016. 1–11.
Gene Kim, Kevin Behr, and Kim Spafford. 2014. The phoenix project: A novel about IT, DevOps, and helping your business win. IT Revolution.
Kati Kuusinen and Sofus Albertsen. 2019. Industry-academy collaboration in teaching DevOps and continuous delivery to software engineering students: towards improved industrial relevance in higher education. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, 23–27.
Leonardo Leite, Carla Rocha, Fabio Kon, Dejan Milojicic, and Paulo Meirelles. 2019. A survey of DevOps concepts and challenges. ACM Computing Surveys (CSUR) 52, 6 (2019), 1–35.
José Vinícius Vieira Lima, Cleverton Anderson Duarte Silva, Fernanda Maria Ribeiro de Alencar, and Wylliams Barbosa Santos. 2020. Metodologias Ativas como forma de reduzir os desafios do ensino em Engenharia de Software: diagnóstico de um survey. In Anais do XXXI Simpósio Brasileiro de Informática na Educaçao. SBC, 172–181.
Bruce R Maxim, Stein Brunvand, and Adrienne Decker. 2017. Use of role-play and gamification in a software project course. In 2017 IEEE frontiers in education conference (FIE). IEEE, 1–5.
Matthew B Miles, A Michael Huberman, Michael A Huberman, and Michael Huberman. 1994. Qualitative data analysis: An expanded sourcebook. sage.
Lucas Lima Mota, Rodrigo Pereira dos Santos, Awdren Fontão, and Allysson Allex Araújo. 2024. From Theory to Interpreting the Practice: Exploring the Role-play to Teach DevOps - Supporting repository. [link]
Giani Petri, Christiane Gresse von Wangenheim, and Adriano Ferreti Borgatto. 2019. MEEGA+: Um Modelo para a Avaliação de Jogos Educacionais para o ensino de Computação. Revista Brasileira de Informática na Educação 27, 3 (2019).
Giani Petri, Christiane Gresse von Wangenheim, and Adriano Ferreti Borgatto. 2017. Evolução de um Modelo de Avaliação de Jogos para o Ensino de Computação. In Anais do XXV Workshop sobre Educação em Computação. SBC.
Anne-Marie Pinna-Déry. 2019. Teaching DevOps at the Graduate Level. In Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment: First International Workshop, DEVOPS 2018, Chateau de Villebrumier, France, March 5-6, 2018, Revised Selected Papers, Vol. 11350. Springer, 60.
Sten Pittet. 2021. Integração contínua vs. entrega contínua vs. implantação contínua. [link] Acessado em: 19/11/2021.
Rafael Prikladnicki, Adriano Bessa Albuquerque, Christiane G von Wangenheim, and Reinaldo Cabral. 2009. Ensino de engenharia de software: desafios, estratégias de ensino e lições aprendidas. FEES-Fórum de Educação em Engenharia de Software (2009), 1–8.
Lísia Rabelo and Vera Lúcia Garcia. 2015. Role-play para o desenvolvimento de habilidades de comunicação e relacionais. Revista Brasileira de Educação Médica 39, 4 (2015), 586–596.
Guoping Rong, Shenghui Gu, He Zhang, and Dong Shao. 2017. DevOpsEnvy: an education support system for DevOps. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). IEEE, 37–46.
Miguel Ángel Sánchez-Cifo, Pablo Bermejo, and Elena Navarro. 2023. DevOps: Is there a gap between education and industry? Journal of Software: Evolution and Process 35, 12 (2023), e2534.
Rodrigo Ribeiro Silva, Luis Rivero, and Rodrigo Pereira Dos Santos. 2021. Programse: Um jogo para aprendizagem de conceitos de lógica de programação. Revista Brasileira de Informática na Educação 29 (2021), 301–330.
Unity. 2023. O que é CI/CD? [link] Acessado em: 04/03/2023.
C Wangenheim, G Hauck, J Boigatto, F Adriano, and LHM Pacheco. 2018. MEEGA+ A model for evaluating educational games. [link] Acessado em: 24/05/2023.
Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, Anders Wesslén, et al. 2012. Experimentation in software engineering. Vol. 236. Springer.
Didar Zowghi and Suresh Paryani. 2003. Teaching requirements engineering through role playing: Lessons learnt. In Proceedings. 11th IEEE International Requirements Engineering Conference, 2003. IEEE, 233–241.