Authors:
Razieh Saremi
1
;
Hardik Yardik
1
;
Julian Togelius
2
;
Ye Yang
1
and
Guenther Ruhe
3
Affiliations:
1
School of Systems and Enterprises, Stevens Institute of Technology, Hoboken, NJ, U.S.A.
;
2
Tandon School of Engineering, New York University, NYC, NY, U.S.A.
;
3
University of Calgary, Calgary, Alberta, Canada
Keyword(s):
Crowdsourcing, Task Scheduling, Task Failure, Task Similarity, Evolutionary Algorithm, Genetic Algorithm.
Abstract:
The complexity of software tasks and the uncertainty of crowd developer behaviors make it challenging to plan crowdsourced software development (CSD) projects. In a competitive crowdsourcing marketplace, competition for shared worker resources from multiple simultaneously open tasks adds another layer of uncertainty to potential outcomes of software crowdsourcing. These factors lead to the need for supporting CSD managers with automated scheduling to improve the visibility and predictability of crowdsourcing processes and outcomes. To that end, this paper proposes an evolutionary algorithm-based task scheduling method for crowdsourced software development. The proposed evolutionary scheduling method uses a multiobjective genetic algorithm to recommend optimal task start date. The method uses three fitness functions, based on project duration, task similarity, and task failure prediction, respectively. The task failure fitness function uses a neural network to predict the probability
of task failure with respect to a specific task start date. The proposed method then recommends the best tasks’ start dates for the project as a whole and each individual task so as to achieve the lowest project failure ratio. Experimental results on 4 projects demonstrate that the proposed method has the potential to reduce project duration by a factor of 33-78%.
(More)