Dynamic Software Project Scheduling through a Proactive-Rescheduling Method

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.

[1]  C. A. Coello Coello,et al.  Evolutionary multi-objective optimization: a historical view of the field , 2006, IEEE Computational Intelligence Magazine.

[2]  Kay Chen Tan,et al.  A Competitive-Cooperative Coevolutionary Paradigm for Dynamic Multiobjective Optimization , 2009, IEEE Transactions on Evolutionary Computation.

[3]  Rabeb Mizouni,et al.  A simulation-based approach to enhancing project schedules by the inclusion of remedial action scenarios , 2011, Proceedings of the 2011 Winter Simulation Conference (WSC).

[4]  Willy Herroelen,et al.  Project scheduling under uncertainty: Survey and research potentials , 2005, Eur. J. Oper. Res..

[5]  Andrzej Jaszkiewicz,et al.  Fuzzy project scheduling system for software development , 1994 .

[6]  R. Langari,et al.  Adaptive Analytic Hierarchy Process-Based Decision Making to Enhance Vehicle Autonomy , 2012, IEEE Transactions on Vehicular Technology.

[7]  Márcio de Oliveira Barros,et al.  Staffing a software project: A constraint satisfaction and optimization-based approach , 2008, Comput. Oper. Res..

[8]  R S Pressman,et al.  Software engineering: a practitioner's approach (2nd ed.) , 1986 .

[9]  Xin Yao,et al.  Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems , 2015, Inf. Sci..

[10]  Tamás Rapcsák,et al.  On sensitivity analysis for a class of decision systems , 1996, Decis. Support Syst..

[11]  Marco Laumanns,et al.  Combining Convergence and Diversity in Evolutionary Multiobjective Optimization , 2002, Evolutionary Computation.

[12]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[13]  Kalyanmoy Deb,et al.  Evaluating the -Domination Based Multi-Objective Evolutionary Algorithm for a Quick Computation of Pareto-Optimal Solutions , 2005, Evolutionary Computation.

[14]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[15]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[16]  Leszek A. Maciaszek,et al.  Practical Software Engineering: A Case-Study Approach , 2004 .

[17]  Xin Yao,et al.  Software effort estimation as a multiobjective learning problem , 2013, TSEM.

[18]  Tao Zhang,et al.  Genetic Algorithms for Project Management , 2001, Ann. Softw. Eng..

[19]  Dirk Sudholt,et al.  Improved Evolutionary Algorithm Design for the Project Scheduling Problem Based on Runtime Analysis , 2014, IEEE Transactions on Software Engineering.

[20]  Sanja Petrovic,et al.  SURVEY OF DYNAMIC SCHEDULING IN MANUFACTURING SYSTEMS , 2006 .

[21]  Luis G. Vargas,et al.  Comparison of eigenvalue, logarithmic least squares and least squares methods in estimating ratios , 1984 .

[22]  J. D. Wiest,et al.  A management guide to PERT/CPM: With GERT/PDM/DCPM and other networks , 1977 .

[23]  Robert Feldt,et al.  Investigating intentional distortions in software cost estimation - An exploratory study , 2012, J. Syst. Softw..

[24]  Giuliano Antoniol,et al.  The use of search‐based optimization techniques to schedule and staff software projects: an approach and an empirical study , 2011, Softw. Pract. Exp..

[25]  Erik Demeulemeester,et al.  Resource-constrained project scheduling: A survey of recent developments , 1998, Comput. Oper. Res..

[26]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[27]  Carlos A. Coello Coello,et al.  Evolutionary multi-objective optimization: a historical view of the field , 2006, IEEE Comput. Intell. Mag..

[28]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..

[29]  Enrique Alba,et al.  Using multi-objective metaheuristics to solve the software project scheduling problem , 2011, GECCO '11.

[30]  Jun Zhang,et al.  Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler , 2013, IEEE Transactions on Software Engineering.

[31]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithm test suites , 1999, SAC '99.

[32]  Francisco Luna,et al.  A Novel Multiobjective Formulation of the Robust Software Project Scheduling Problem , 2012, EvoApplications.

[33]  D. P. Bernardon,et al.  AHP Decision-Making Algorithm to Allocate Remotely Controlled Switches in Distribution Networks , 2011, IEEE Transactions on Power Delivery.

[34]  Giuliano Antoniol,et al.  A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[35]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[36]  Charles Scawthorn,et al.  Fuzzy AHP-based multicriteria decision making systems using particle swarm optimization , 2012, Expert Syst. Appl..

[37]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[38]  Dimitri Golenko-Ginzburg,et al.  Stochastic network project scheduling with non-consumable limited resources , 1997 .

[39]  Fang Liu,et al.  A Novel Immune Clonal Algorithm for MO Problems , 2012, IEEE Transactions on Evolutionary Computation.

[40]  Carl K. Chang,et al.  Time-line based model for software project scheduling with genetic algorithms , 2008, Inf. Softw. Technol..

[41]  Magne Jørgensen,et al.  Better sure than safe? Over-confidence in judgement based software development effort prediction intervals , 2004, J. Syst. Softw..

[42]  Jason R. Schott Fault Tolerant Design Using Single and Multicriteria Genetic Algorithm Optimization. , 1995 .

[43]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[44]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[45]  DebK.,et al.  A fast and elitist multiobjective genetic algorithm , 2002 .

[46]  Francisco Luna,et al.  The software project scheduling problem: A scalability analysis of multi-objective metaheuristics , 2014, Appl. Soft Comput..

[47]  Leon J. Osterweil,et al.  Dynamic Resource Scheduling in Disruption-Prone Software Development Environments , 2010, FASE.

[48]  Joshua D. Knowles A summary-attainment-surface plotting method for visualizing the performance of stochastic multiobjective optimizers , 2005, 5th International Conference on Intelligent Systems Design and Applications (ISDA'05).

[49]  Bruce McMillin,et al.  Software engineering: What is it? , 2018, 2018 IEEE Aerospace Conference.

[50]  Mark Harman,et al.  10 th International Software Metrics Symposium (METRICS 2004) , 2004 .