August 23, 2022
June 26, 2022
June 29, 2022
DevOps technologies that often accompany an agile workflow such as Continuous Integration and Continuous Delivery have become much more widespread in professional software development in the past decade. In recent years, many undergraduate research projects or capstone experiences have begun to incorporate such agile workflows, helping with student self-regulation and teaching them industry-standard practices before entering the workforce. Existing literature shows that while agile practices are becoming more common in student projects, these projects are usually not offering students the opportunity to be exposed to accompanying technologies such as Continuous Integration and Continuous Delivery. Our project defines DevOps as the combination of using CI/CD alongside agile project management practices for the purpose of reducing integration errors while increasing collaboration, the frequency at which code is deployed, and overall understanding of our system. Implementing these techniques in tandem helps provide more instant feedback and reduce long-term technical debt. The Computer Systems Genome project at Virginia Tech is a research experience with approximately twenty undergraduate students being mentored by three undergraduate student leaders and one graduate student leader under the direction of three faculty members. The overall mission of the project is to catalog the lineage of computer systems information and make that information publicly accessible via an Application Programming Interface and website. During the Fall 2021 semester, the project began to incorporate DevOps in order to aid the development process, particularly when onboarding less experienced students. We also believed that exposing students to these technologies would help prepare them for the workforce where the same practices are commonly used. The project implements a Continuous Integration pipeline that runs student-written unit tests against our codebase whenever code is pushed to our central git repository or a merge request is completed. The CI pipeline gives students instant, automated feedback via a web interface whenever code is pushed. Once a merge request has been completed and the Continuous Integration pipeline successfully passes, the project is planning to also utilize a Continuous Delivery pipeline to automatically deploy our most recent codebase giving students the ability to see their updates take effect in real-time. Our study examines participant experience in the project to determine if beginning to implement DevOps practices improved workflow compared to class projects and if students felt more prepared for the workforce through additional exposure to these technologies.
Ellis, M., & Gniadek, R., & Back, G., & Cameron, K. (2022, August), Integrating DevOps to Enhance Student Experience in an Undergraduate Research Project Paper presented at 2022 ASEE Annual Conference & Exposition, Minneapolis, MN. 10.18260/1-2--40747
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2022 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015