Unveiling the Teaching Methods Adopted in DevOps Courses
DevOps, Teaching Methods, Systematic Review, Interviews, Qualitative Study
DevOps emerges as a set of practices that deal with conflicts between the development and operation teams. It aims to ensure the development and delivery of high-quality software releases. 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 \textsf{lectures} and unusual teaching methods such as \textsf{studio-based learning}. \textsf{Project-based learning} and \textsf{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.