  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 the 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 an 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%.
