Authors:
Michail D. Papamichail
;
Themistoklis Diamantopoulos
;
Vasileios Matsoukas
;
Christos Athanasiadis
and
Andreas L. Symeonidis
Affiliation:
Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki, Thessaloniki and Greece
Keyword(s):
DevOps, Developer Role Identification, Developer Behavior Extraction, GitHub Contributions, Agile.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Business Analytics
;
Cardiovascular Technologies
;
Computing and Telecommunications in Cardiology
;
Data Engineering
;
Decision Support Systems
;
Decision Support Systems, Remote Data Analysis
;
Health Engineering and Technology Applications
;
Knowledge-Based Systems
;
Symbolic Systems
Abstract:
Lately, the popular open source paradigm and the adoption of agile methodologies have changed the way software is developed. Effective collaboration within software teams has become crucial for building successful products. In this context, harnessing the data available in online code hosting facilities can help towards understanding how teams work and optimizing the development process. Although there are several approaches that mine contributions’ data, they usually view contributors as a uniform body of engineers, and focus mainly on the aspect of productivity while neglecting the quality of the work performed. In this work, we design a methodology for identifying engineer roles in development teams and determine the behaviors that prevail for each role. Using a dataset of GitHub projects, we perform clustering against the DevOps axis, thus identifying three roles: developers that are mainly preoccupied with code commits, operations engineers that focus on task assignment and acce
ptance testing, and the lately popular role of DevOps engineers that are a mix of both. Our analysis further extracts behavioral patterns for each role, this way assisting team leaders in knowing their team and effectively directing responsibilities to achieve optimal workload balancing and task allocation.
(More)