Understanding challenges and recommendations in DevOps Education - Fernandes, Marcelo Rômulo (2023)
DevOps represents a set of practices that integrates software development andoperation, now widely adopted inthe software industry. It involves implementing various vital concepts, such as a culture of collaboration, continuous delivery, and infrastructure as code. The high demand for DevOps practitioners requires non-trivial adjustments in traditional software engineering courses and educational methodologies. As a new area, DevOps has brought significant challenges for the academy regarding research topics and teaching strategies. From aneducational perspective, it is essential to understand how existing courses teach fundamental DevOps concepts. In this thesis, we perform empirical studies to investigate existing challenges of DevOps courses and recommendations to overcome them. Understanding those challenges and recommendations can contribute to improving the learning of DevOps concepts and practices. Our f irst study presents a systematic literature review to identify challenges and recommendationsfor teaching DevOps. Our findingsshowatotal of73 challenges and85recommendationsorganizedintosevencategories (pedagogy, curriculum, assessment, tool, DevOps concepts, class preparation, and environment setup) from 18 papers selected. We also discuss how existing recommendations address the challenges found in the study, thus contributing to the preparation and execution of DevOps courses. Finally, we investigate if challenges and recommendations are specific to teaching DevOps. Our second study involves interviews with 14 DevOps educators from different universities and countries to identify the main challenges and recommendations for DevOps teaching. It identified 83 challenges, 185 recommendations, and several association links and conflicts between them. Our findings can help educators plan, execute, andevaluate DevOpscourses. They also highlight several opportunities for researchers to propose new methods and tools for teaching DevOps. The last study in this thesis interviews 11 DevOps educators from different universities to evaluate the usefulness of the reported challenges and recommendations for DevOpseducationwhenpreparingnewcoursesandimprovingexistingones. It identified that about 22.6% of the recommendations shown are new to the educators and they are interested in using them to improve their courses. In addition, 64.6% of the challenges shown are relevant to the educators and have useful associated recommendations to overcome the challenges.