It's a repository that contains a set of challenges in DevOps teaching. The objective is to help DevOps educators to teach DevOps. Some of theses challenges are found in the paper Challenges and Recommendations in DevOps Education: A Systematic Literature Review published at the academic conference SBES '20: Proceedings of the 34th Brazilian Symposium on Software Engineering.
To facilitate understanding, the challenges were organized in themes. Then, theses are the following themes:
The Curriculum theme is related to the content, hourly load and the number of
subjects needed to use DevOps. The relationship between the DevOps discipline
and the prerequisite disciplines of this subject is also considered, as well
as the interaction with the others of a software engineering course.
- DevOps still received minor attention in higher education.
- The time available to teach CD and CI is devoted to other concepts.
- Devops mindset should be considered to fine tune curricula.
- Teaching DevOps is multidisciplinary and therefore crosscutting the traditional course boundaries.
- The little time available to teaching complexities of CD and CI.
- Courses teach “Dev” rather than “Ops”.
The Tool theme includes software used to operationalize DevOps practices.
They can be those widely used in the industry or those created with a teaching
standard.
- DevOps tools are new and time-consuming for a universitary lecturer.
- Some DevOps tools involve learning curve.
- DevOps tools are complex.
- Many DevOps tools for teacher to learn.
- DevOps overhead of keeping up with the industrial state-of-the-art at universities is often too high.
The Assessment theme includes necessary and permanent didactic tasks in
the teacher's work with the objective of diagnosing the learning situation
of each student, in relation to the curriculum.
The topic Classes preparation refers to the planning of the course, including,
for example, a research of reference material and preparation of classes.
- There is little research into effective teaching pratices for incorporating DevOps into traditional software engineer courses.
- Lack of a proper and sound theory of DevOps.
- DevOps has not yet standardized with the Software Engineering Body of Knowledge.
- Limited research in teaching DevOps.
The DevOps Concepts are related to its main foundations, techniques
and mentality (culture).
- Students have difficulties in explaining IaC.
- Teachers need to learn dev and opt activities.
- The main challenge was to find ways of emphasizing the Ops part of the approach.
- Teach DevOps mindset/cultural.
- Teachers need to learn operations.
- Continuous Delivery and related concepts are complex.
The Environment setup theme refers to the preparatory activities
of the environments used in the practices of students' exercises and projects.
- DevOps requires complex and laborious architectures.
- Setup the tools and workflows increases the effort for educators.
References to the subject of Pedagogy are related to a set of
techniques, principles, methods and strategy for education and teaching.
Our thanks to everyone who helped this project.
You are more than welcome to contribute as well:
- star this repository if you like it
- share your challenge (or recommendation) via issue or Slack
Please have a look at CONTRIBUTING.md for further suggestions and guidelines.
This project is licensed under Attribution 4.0 International (CC BY 4.0).