How well do student software engineering teams practice Continuous Integration?

Joshua Zeitsoff

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2020-183
October 9, 2020

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-183.pdf

Student teams in software engineering courses are taught many processes to make collaboration easier, yet it is challenging to know if these processes are being followed when teamwork occurs out of view of the instructor. To gain a better understanding of what the teams are doing, we propose measuring the data exhaust generated by web-based project management, code management, and deployment management tools. To help students in our course coordinate their work with other developers, we recommend a simplified workflow based on tasks and tools, such as Pivotal Tracker, GitHub, and Heroku, common to the Agile/XP practice of Continuous Integration. We designed several tools to help us determine if students were following our recommended workflow. We analyze a current offering of a course in which students are taught our recommended workflow. Our results suggest that teams did follow the recommended workflow but at various levels of compliance; that many teams show substantial variation in compliance among individual team members; and that our recommended workflow should be expanded to explicitly address some student behaviors that we did not foresee.

Advisor: Armando Fox


BibTeX citation:

@mastersthesis{Zeitsoff:EECS-2020-183,
    Author = {Zeitsoff, Joshua},
    Title = {How well do student software engineering teams practice Continuous Integration?},
    School = {EECS Department, University of California, Berkeley},
    Year = {2020},
    Month = {Oct},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-183.html},
    Number = {UCB/EECS-2020-183},
    Abstract = {Student teams in software engineering courses are taught many processes to make collaboration easier, yet it is challenging to know if these processes are being followed when teamwork occurs out of view of the instructor. To gain a better understanding of what the teams are doing, we propose measuring the data exhaust generated by web-based project management, code management, and deployment management tools. To help students in our course coordinate their work with other developers, we recommend a simplified workflow based on tasks and tools, such as Pivotal Tracker, GitHub, and Heroku, common to the Agile/XP practice of Continuous Integration.  We designed several tools to help us determine if students were following our recommended workflow. We analyze a current offering of a course in which students are taught our recommended workflow. Our results suggest that teams did follow the recommended workflow but at various levels of compliance; that many teams show substantial variation in compliance among individual team members; and that our recommended workflow should be expanded to explicitly address some student behaviors that we did not foresee.}
}

EndNote citation:

%0 Thesis
%A Zeitsoff, Joshua
%T How well do student software engineering teams practice Continuous Integration?
%I EECS Department, University of California, Berkeley
%D 2020
%8 October 9
%@ UCB/EECS-2020-183
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-183.html
%F Zeitsoff:EECS-2020-183