An Empirical Study of Search-Based Task Scheduling in Global Software Development

Josiane Kroll, Shai Friboim, Hadi Hemmati · 2017

Scheduling tasks is one of the critical duties of software project managers. The main objective of the scheduling is typically reducing the project's cost and duration. However, the numerous possible assignments of tasks to the team members and the dependencies between tasks make task scheduling an NP-hard problem. In the context of Global Software Development (GSD) projects, specifically, reducing the development time is one of the cornerstones. However, some of the GSD characteristics such as having people from different locations, working in different time zones, and perhaps involved in the same software tasks (Follow the Sun approach) make the scheduling even more difficult for the manager. Recently, several techniques based on evolutionary search algorithms have been proposed to automatically optimize the task scheduling in traditional software development projects. In this paper, we apply the same concepts in the context of GSD projects. We have implemented a Genetic algorithm-based assignment technique that uses a queue-based GSD simulator for fitness function evaluation. Our technique has been evaluated based on three project's datasets from two large-scale organizations that practice GSD. The results show that the search-based approach can in some cases improve the assignments compared to the actual assignments by the managers, in terms of reducing the projects duration. We also report the actual project managers' feedback on the automatic assignments.

Read the paper · More papers on PaperTik