Automatic team recommendation for collaborative software development
Suppawong Tuarob,Noppadol Assavakamhaenghan,Waralee Tanaphantaruk,Ponlakit Suwanworaboon,Saeed-Ul Hassan,Morakot Choetkiertikul
DOI: https://doi.org/10.1007/s10664-021-09966-4
IF: 3.762
2021-05-07
Empirical Software Engineering
Abstract:In large-scale collaborative software development, building a team of software practitioners can be challenging, mainly due to overloading choices of candidate members to fill in each role. Furthermore, having to understand all members' diverse backgrounds, and anticipate team compatibility could significantly complicate and attenuate such a team formation process. Current solutions that aim to automatically suggest software practitioners for a task merely target particular roles, such as developers, reviewers, and integrators. While these existing approaches could alleviate issues presented by choice overloading, they fail to address team compatibility while members collaborate. In this paper, we propose <i>RECAST</i>, an intelligent recommendation system that suggests team configurations that satisfy not only the role requirements, but also the necessary technical skills and teamwork compatibility, given task description and a task assignee. Specifically, <i>RECAST</i> uses Max-Logit to intelligently enumerate and rank teams based on the team-fitness scores. Machine learning algorithms are adapted to generate a scoring function that learns from heterogenous features characterizing effective software teams in large-scale collaborative software development. <i>RECAST</i> is evaluated against a state-of-the-art team recommendation algorithm using three well-known open-source software project datasets. The evaluation results are promising, illustrating that our proposed method outperforms the baselines in terms of team recommendation with 646% improvement (MRR) using the exact-match evaluation protocol.
computer science, software engineering