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. © 2016 IEEE.
Original language | English |
---|---|
Article number | 7365465 |
Pages (from-to) | 658-686 |
Number of pages | 29 |
Journal | IEEE Transactions on Software Engineering |
Volume | 42 |
Issue number | 7 |
Early online date | 24 Dec 2015 |
DOIs | |
Publication status | Published - 1 Jul 2016 |
Externally published | Yes |
Funding
This work was partially supported by the National Natural Science Foundation of China (NSFC) under Grant No. 61502239, No. 61329302 and No. 61503191, Natural Science Foundation of Jiangsu Province of China under Grant No. BK20150924 and No. BK20150933, an EPSRC Grant (No. EP/J017515/1) on "DAASE: Dynamic Adaptive Automated Software Engineering", and an EPSRC Grant (No. EP/K001523/1) on "Evolutionary Computation for Dynamic Optimization in Network Environments".
Keywords
- dynamic software project scheduling
- mathematical modeling
- multi-objective evolutionary algorithms
- Schedule and organizational issues
- search-based software engineering