Abstract

Developer churn is the overall turnover in a software organization’s staff. Existing developers leave and new ones join the project. Retaining the knowledge of the software source code among the development team in such scenarios is an essential factor to keep the software maintenance cost as low as possible. Knowledge diffusion is an activity that could mitigate the negative impact of developer churn, while a task assignment strategy could pay an important role to attain good knowledge diffusion among the team members and effectively lower the likelihood of knowledge loss. In this work, a self-adaptive task assignment (SATA) approach is proposed that adaptively switches between cost-oriented and diffusion-oriented strategies over subsequent rounds of task assignments. An entropy-based model is applied to estimate the current conditions of the development team from the knowledge concentration perspective. This model is assisted by a learning automata and evolutionary algorithms to offer smart assignments. The experimental results show that, particularly in teams with medium churn rates, applying an entropy-aware task assignment model can reduce the total maintenance cost up to slightly over 50%, provided that the knowledge demands in the team over successive rounds of task assignment remain stationary. There are also improvements in terms of the projects’ bus factor which prevent the project to lose its key knowledge. Even for projects where there is no saving in maintenance costs, SATA results in knowledge being more distributed among the developers, resulting in a more resilient project. SATA improves the long-term sustainability of development teams with developer turnover. Projects and their managers can hence rely on it when there is the risk of knowledge loss due to developer turnover.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call