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.

Highlights

  • EFFECTIVE software project scheduling is crucial, when managing the development of medium to large scale projects to meet the deadline and budget [1]

  • The poor convergence performance of dynamic MOEA (dCOEA) in our experiments indicates that the dynamic optimization strategies it adopts may not be suitable for solving multi-objective dynamic project scheduling problem (MODPSP)

  • This paper introduced a novel multi-objective evolutionary algorithm (MOEA)-based dynamic scheduling method to regenerate new schedules in response to real-time events and uncertainties in MODPSP

Read more

Summary

Introduction

EFFECTIVE software project scheduling is crucial, when managing the development of medium to large scale projects to meet the deadline and budget [1]. This method is different from de-MOEA in that only three objectives (durationI, costI and robustness) are optimized simultaneously at each scheduling point (heuristic initialization is adopted) From this group of comparisons, a software manager can gain insight into how the initial duration, cost and robustness would be affected by considering stability and whether the human allocation and dedication changes would become smaller at different scheduling points. This method is different from de-MOEA in that the initial population is generated at random at each scheduling point (four objectives are considered simultaneously) This group of experiments can provide a software manager with a better understanding of whether it would be helpful to utilize dynamic features of a problem and exploit the previous schedule information when re-planning a schedule. Note that all algorithms stop after 10,000 objective vector evaluations in one run

Objectives
Methods
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call