Unveiling the teaching methods adopted in DevOps courses - Ferino, Samuel Lucas de Moura (2022)
DevOps emerges as a set of practices that deal with conflicts between the development and operation teams. Those practices aim to shorten the time between pushing a new code to a repository and deploying it to the production environment, making it available to users. As a consequence, it improves the development and deployment of high-quality software. Knowledge of these practices is essential to software engineers in the industry. In this context, DevOps education assumes the vital task of preparing new professionals in these practices using appropriate teaching methods. Existing research work shows that teaching methods are helpful to educators in developing and improving their DevOps courses. However, there is a reduced number of studies investigating teaching methods in DevOps Education. In this dissertation, we perform two empirical studies to understand the teaching methods used in DevOps Education. In the first study, we investigate the teaching methods reported in the literature. In the second study, we analyze teaching methods from interviews with educators from existing DevOps courses. Our main aim is to help DevOps educators to improve the selection of teaching methods for their courses. As a result of the studies, we present a comprehensive set of 23 teaching methods, including traditional teaching methods such as lectures and unusual teaching methods such as studio-based learning. Project-based learning and collaborative learning stand as the most recurrent in both studies. Many of these teaching methods require strong interaction between educators and students. We also present association links between the reported teaching methods and DevOps teaching challenges. Those association links can help educators to select teaching methods based on specific challenges to be addressed.