Dynamic Software Project Scheduling through a Proactive-rescheduling Method

Research output: Contribution to journalArticle

Authors

Colleges, School and Institutes

External organisations

  • Nanjing University of Information, Science and Technology
  • University of Leicester

Abstract

Software project scheduling in dynamic and uncertain environments is of significant importance to real-world software development. Yet most studies schedule software projects by considering static and deterministic scenarios only, which may cause performance deterioration or even infeasibility when facing disruptions. In order to capture more dynamic features of software project scheduling than the previous work, this paper formulates the project scheduling problem by considering uncertainties and dynamic events that often occur during software project development, and constructs a mathematical model for the resulting multi-objective dynamic project scheduling problem (MODPSP), where the four objectives of project cost, duration, robustness and stability are considered simultaneously under a variety of practical constraints. In order to solve MODPSP appropriately, a multi-objective evolutionary algorithm based proactive-rescheduling method is proposed, which generates a robust schedule predictively and adapts the previous schedule in response to critical dynamic events during the project execution. Extensive experimental results on 21 problem instances, including three instances derived from real-world software projects, show that our novel method is very effective. By introducing the robustness and stability objectives, and incorporating the dynamic optimization strategies specifically designed for MODPSP, our proactive-rescheduling method achieves a very good overall performance in a dynamic environment.

Details

Original languageEnglish
Pages (from-to)658 - 686
JournalIEEE Transactions on Software Engineering
Volume42
Issue number7
Early online date24 Dec 2015
Publication statusPublished - 1 Jul 2016

Keywords

  • Schedule and organizational issues, dynamic software project scheduling, search-based software engineering, multi-objective evolutionary algorithms, mathematical modeling