Recommending External Developers to Software Projects based on Historical Analysis of Previous Contributions
Marcio Oliveira, Regina M. M. Braga, Gleiph Ghiotto, José David · 2019
The software development industry has evolved in recent years and new challenges have emerged. One of them is the difficulty in recruiting developers who are familiar with technologies that may be important to global software development projects. Currently, this task is aided by tools that delegate the mission of actively seeking developers to human recruiters. Unfortunately, when delegating such a task to humans, these tools may miss opportunities, as they may not be able to find all the information about the candidates. Following the methodology of Design Science Research (DSR), this work presents an architecture that helps to find collaborators for projects, along with an ontology. By mining social-coding repositories, the architecture can provide information, through inference (e.g. dependencies in projects in which developers worked) to be used in the recommendation tasks. An initial feasibility study was conducted to assess the feasibility to recommend developers to projects on the Node.js ecosystem. The recommendation system analyzes the previous contributions of the developers in other projects (n = 7000) and extracts technologies in which they explicitly worked and those they may be familiar as they are present in projects they worked with. After, the system compares them to a set of technologies that are part of the project that is the target of the recommendation. The feasibility study evidenced that the architecture can aid in the task of identifying candidates and technologies known to them.