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.


INTRODUCTION
Effective software project scheduling is crucial, when managing the development of medium to large scale projects to meet the deadline and budget [1].The process of software project scheduling includes some duties [1], [2]: "identify project activities; identify activity dependencies; estimate resources for activities; allocate people to activities; and create project charts."The so-called Project Scheduling Problem (PSP) [2], [3], [4], [5] deals with the fourth duty which allocates employees with certain skills to activities (tasks) so that the required objectives (project cost, duration, etc.) can be achieved subject to various constraints.Good allocations are very important for software projects, since human resources are their main resources [6].PSP is solved based on the information obtained from prior duties, i.e., the indentified tasks, task dependencies, and the estimated effort required for tasks provided by the software manager.Besides, information about the available employees and their salaries and skills is also needed.PSP has been tackled by both classical and meta-heuristic approaches.
The classical methods include the program evaluation and review technique [7] and the critical path method [8], which represent projects by activity-on-the-arc networks, and the resource-constrained project scheduling problem model [9].PSP has also been formulated as a search-based optimization problem in [10], [11], [12] to provide near-optimal schedules in a large search space, and to automate the task of allocations, which would otherwise be performed by humans [2].
In previous studies on software project scheduling, it was assumed that the system information, such as the effort required by each task and the skills of each employee, are known beforehand and remain unchanged.They also assumed that no disruptions occur during the project lifetime to interrupt the task execution.However, in the real world, the working environment changes dynamically [1] by unpredictable events, such as requirement changes during the lifecycle of a project, a new urgent task arriving suddenly, an employee leaving, etc.A previously optimal schedule may become obsolete and infeasible in the new environment.Moreover, it is common that project activities are subject to considerable uncertainties.For instance, the task effort may have been estimated incorrectly, the task specification may be modified so that the originally estimated effort required by the task is changed, the employee skill level may be improved because of increasing experience, etc.The optimal schedule generated according to the initial data may have large performance deterioration when facing dis-turbances.
Pressman [14] indicated eight reasons for late software delivery, five of which are related to uncertainties, risks and unpredictable events appearing during the project execution, which are: "changing customer requirements that are not reflected in schedule changes; an honest underestimate of the amount of effort and/or the number of resources that will be required to do the job; predictable and/or unpredictable risks that were not considered when the project commenced; technical difficulties that could not have been foreseen in advance; and human difficulties that could not have been foreseen in advance."Thus, it is vital to develop a dynamic software project scheduling approach which can deal with both uncertainties and dynamic events to reduce the late software delivery.Furthermore, software engineering in emerging paradigms (e.g. the cloud, mobility, ultra-large software systems) calls for new scheduling methods that explicitly cater for uncertainties and dynamism in scheduling.This is because many of the requirements may be unique to the said project and exhibit little resemblance to prior projects.Consequently, static scheduling methods may be ineffective and may render myopic outcome if used.
In the field of scheduling, there are mainly three approaches to dynamic scheduling: completely reactive, predictive-reactive, and proactive (robust) scheduling [15].Completely reactive scheduling creates partial schedules for the immediate future based on local information at each decision point.For example, when a machine becomes idle, the job with the highest priority will be selected from the waiting queue according to a priority dispatching rule.This approach is in essence a greedy one and can be trapped into a local optimum easily.Predictive-reactive scheduling has a scheduling/rescheduling process where previous schedules are adapted to the new environment caused by dynamic events, while proactive scheduling attempts to generate a schedule in advance, which has the ability to satisfy performance requirements predictably in an uncertain environment [16].
Although scheduling in dynamic and uncertain environments has attracted attention in construction and manufacturing domains [17], little effort has been made to capture the dynamic features of real-world software projects, let along multi-objective dynamic project scheduling problems (MODPSP).This paper tackles the challenge by first proposing a mathematical model to define the problem and then proposing a new proactiverescheduling method that combines proactive and predictive-reactive scheduling to solve it.In static PSP, efficiency measures like project cost and duration are usually used as the objectives to be optimized.In dynamic PSP, a new schedule may be regenerated by simply minimizing the impact of disruptions to the project efficiency.For example, a software engineer may be redeployed on different tasks from the ones that he/she was originally assigned to.Consequently, he/she may need some time to learn and understand the newly assigned tasks, which delays the project, increases the cost/budget, and disrupts the smooth running of the project.To minimise potential negative impact of generating very different schedules in a dynamic environment, our MODPSP rescheduling process should create new schedules that differ as little as possible from the previous ones, i.e., it should promote stability in dynamic scheduling.Furthermore, given the existence of uncertainties in MOD-PSP, the schedule's quality should not be too sensitive to minor data variations, i.e., a good schedule should be robust against data variations.Therefore, MODPSP considers not only cost and duration as objectives, but also stability and robustness.Although there has been work on predictive scheduling for software projects under uncertainties [18], and on dynamic resource rescheduling in response to new project arrivals [19], there has not been any research work on the mathematical modeling and dynamic scheduling of MODPSP, which addresses both uncertainties and dynamic events occurring during the software project execution, as well as multiobjectivity under constraints.
The project cost, duration, robustness, and stability are usually conflicting with each other.It is useful to handle such multiple objectives using a true multiobjective approach, e.g., an multi-objective evolutionary algorithm (MOEA) [5], [11] that can provide various trade-offs among different objectives on the Pareto front.The Pareto front can help make informed decisions in dynamic scheduling.
The primary aim of this paper is to model the software project scheduling problem in a dynamic and uncertain environment by considering multiple objectives and constraints, and propose an MOEA-based proactiverescheduling method for the formulated problem.Three aspects are studied: (i) PSP is formulated as a dynamic scheduling problem with one type of uncertainty and three kinds of dynamic events that often occur in software projects; (ii) the mathematical model for the MOD-PSP is constructed, considering the four objectives of project cost, duration, robustness and stability, and a variety of practical constraints; (iii) a proactiverescheduling method is proposed to solve MODPSP.The key idea of the method is to create a robust schedule predictively considering the project uncertainties, and then revise the previous schedule by an MOEA-based rescheduling method in response to critical dynamic events.
To evaluate the effectiveness of our method, 18 dynamic PSP benchmark instances and 3 instances derived from real-world software projects are used in our experimental studies, which have three major purposes: (1) investigating the influence of the robustness objective on proactive scheduling; (2) evaluating the strength and weakness of our MOEA-based rescheduling method over other dynamic scheduling methods which adjust the original schedule based on a simple heuristic rule; and (3) comparing the overall performance in dynamic environments obtained by five MOEA-based rescheduling methods, where the effectiveness of simultaneously considering project duration, cost, robustness and stability, and the dynamic optimization strategies adopted in our method are demonstrated.This paper is organized as follows.Section 2 presents an overview of the related work.Section 3 describes our problem formulation and constructs the mathematical model of MODPSP.In Section 4, the framework of our proactive-rescheduling method is introduced, and the proposed rescheduling method called dε-MOEA is described.Section 5 details the techniques for individual representations, constraint handling and objective evaluations.Experimental analyses are presented in Section 6. Conclusions are drawn in Section 7.

RELATED WORK
In PSP, there are a set of tasks and a group of employees.Each task has an effort expressed in person-month and a set of required skills.The tasks have to be carried out based on a Task Precedence Graph (TPG), which specifies which tasks should finish before a new task starts.Each employee has a salary and personal skills, a maximum degree of dedication to the project, and is able to do several tasks during a working day.PSP consists of determining which employees are allocated to each task and when each one should be performed, with the aim to minimize the project duration, minimize the project cost and so on, satisfying the constraints of task skills, no overwork, etc [3].

Software Project Scheduling with EAs in Static Environments
With the rapid development of search-based software engineering, there has been some work on software project scheduling based on EAs in the last decade.An early effort was from Chang et al. [4] who constructed a taskbased model and applied a genetic algorithm (GA) to find near-optimal schedules.Alba and Chicano [3] used the same problem formulation as [4], and performed systematic empirical studies of the impact that important problem characteristics had on the solutions found by GAs.Also with such a problem formulation, Minku et al. [2] gave a runtime analysis to gain insight into how design choices in EAs affected performance on PSP, and which instances were easy or hard for EAs to solve.
To make their task-based model more practical, Chang et al. [12] presented a time-line model which split the task duration into small time units, and when evaluating the fitness of a solution, it assigned employees to tasks in discrete time units iteratively so that more human factors such as re-assignment of employees, learning and training could be considered.However, this model introduced a lot of subjective parameters, to which the sensitivity of the solutions provided by the GA was unknown [2], and it would induce a large system instability because they scheduled tasks separately in different time units [10].To preserve the flexibility in human resource allocation, Chen and Zhang [10] developed a model with an event-based scheduler which adjusted the allocations at events, and adopted an ant colony algorithm to solve the problem.Although the employee joining or leaving was considered as an event in [10], and the variations of human factors were allowed in [12], the software project scheduling was still treated as a static problem in these two studies, since it was assumed that when and how such events or variations occur were known in advance, which would be used for the fitness evaluation of each candidate solution.However, in the real-world software project, dynamic events or uncertainties usually occur in a stochastic way, and it is impossible to get all the accurate information in advance.Thus, it is more realistic to formulate the software project scheduling as a dynamic scheduling problem, and solve it dynamically during the project execution.
Luna et al. [5] and Chicano et al. [11] solved the static PSP by an MOEA based on Pareto domination [20], where cost and duration were not converted into a single combined function.Penta et al. [19] presented a comprehensive survey of the search-based techniques applied to software project scheduling and staffing.

Software Project Scheduling in Uncertain Environments
A few studies on software project scheduling under uncertainties have appeared recently.Hapke et al. [21] proposed a fuzzy software project scheduling system, where activity time parameters were uncertain and modeled by means of L-R fuzzy numbers, and the fuzzy problem was transformed into a set of associate deterministic problems.Lazarova-Molnar and Mizouni [22] gave a simulation based method to select the most appropriate remedial action scenario based on the project goal to limit the impact of uncertainties on the overall project success.Gueorguiev et al. [18] employed a proactive scheduling method where an MOEA was used to find the Pareto front which represented the trade-off between completion time and robustness (defined as the completion time difference when new tasks were added, or the tasks' durations were inflated).The work in [23] modeled the project scheduling using event chains.To obtain a schedule under uncertainties, a number of Monte Carlo simulations were performed based on a baseline project schedule and an event list.It can also be regarded as a proactive scheduling method.Antoniol et al. [24] used a tandem GA to find the best order for processing work packages and the best allocation of staff to project teams.Then a queuing simulator was used to analyze the sensitivity of the result obtained by GA with respect to uncertainties caused by effort estimation errors, reworks and abandonment on a given percentage of maintenance tasks.The result of this sensitivity analysis could guide the search which determined whether a negotiation of further people and a successive iteration of the tandem GA process were required.The whole process might repeat for multiple times to obtain a satisfied solution.The work in [24] just considered the robustness of the initial allocations to dynamic events of re-work and abandonment, but not provided the responding strategies when they occurred.Chicano et al. [25] gave a new multi-objective formulation of PSP which considered the productivity of the employees in developing different tasks and the inaccuracies of task effort estimations.Task effort variations were assumed to follow the uniform distribution, and robustness was measured as the standard deviation of the make-span and cost values obtained from a certain number of simulations of task effort inaccuracies.In our work, both robustness to task effort uncertainties and immediate response to dynamic events are addressed by the proposed proactiverescheduling method.Meanwhile, robustness is defined as the duration and cost increases from the initial values obtained in the case assuming no task effort uncertainties, where only the efficiency deterioration in the disrupted scenarios is penalized.
Xiao et al. [19] may be the first effort to consider dynamic resource rescheduling for addressing disruptions that happen during the software development.They used the little-JIL process definition language to describe the relations among different projects and project activities, where a project could be mapped into a task requiring a set of skills, and an activity could be mapped into one skill of a task in the task-based model proposed in [4].There are three limitations in the work of [19].Firstly, unlike the task-based model which searches the dedication degree of each employee to each task, Xiao et al. [19] just determined whether an employee should be allocated to each activity (skill) and the priority of each activity.The workload allocation of each employee to the assigned activity was not determined by the GA.Secondly, only one kind of disruptive event which represented the introduction of a new project was considered, and rescheduling of merely three new project arrivals were conducted in their work.In practice, a variety of dynamic events may occur during the software development process.Moreover, continuous changes like task effort uncertainties widely exist, which indicates that the schedule robustness to uncertainties is also an important factor that should be taken into account.Thirdly, although the utility and process stability were considered in their work, they were converted into a single objective by a weighted sum method, introducing additional parameters in their objective definitions and weight determinations.Since multiple objectives are usually conflicting with each other, it is better to handle them by an MOEA which can provide various trade-offs among different objectives so that a project manager can make an informed decision when rescheduling.
In our work, we consider the dynamic version of taskbased model, which determines the dedication of each employee to each task dynamically.The reason for using the task-based model is that it is more general.The work in [19] can be considered as a special case of the taskbased model where each task requires a single skill.To address various uncertainties and real-time events, the task effort variances, employee leaves and returns, and new task (urgent or regular) arrivals are considered in our work.A clear mathematical model for the dynamic software project scheduling is developed, where four objectives, including the project cost, duration, robustness and stability, are considered simultaneously.An MOEA-based, proactive-rescheduling method is pro-posed to solve the dynamic scheduling problem.

Incorporating Dynamic Features into PSP
In order to address more dynamic characteristics of PSP, in this paper, one type of uncertainty and three kinds of dynamic events, which often occur during the execution of the real-world software project, are incorporated into PSP.They are listed as follows.
(1) Task effort uncertainty.At the beginning of the project, the effort required by each task can be estimated by some method such as the COCOMO model [26] or the more recent online learning model [27].However, modifications in task specifications and inaccuracies in the initial estimations may cause the changes in the initially estimated task efforts.Here, task effort variances are assumed to follow a Normal distribution [3].To infuse more reality, each task effort is assigned different values of mean and standard deviation.The mean value of each task is set to be its initially estimated task effort.
(2) New task arrivals.New requirements will emerge during the development lifecycle of software.This could be in response to changes in customers' requirements and/or the environment.It can also be attributed to the iterative and intertwined nature of the software development, where continuous refinements of requirements, architecture and designs can lead to new tasks.As the project progresses, the stakeholders' understanding of the project may evolve and new features may be added as a result.Furthermore, new requirements may also emerge as the software is prototyped, tested, or deployed.Such dynamism is very common in large and complex projects, where requirements tend to be highly "volatile" and changeable during the lifetime of the project.Consequently, the landscape of tasks tends to continuously evolve.Tasks can be classified into urgent and regular tasks.An urgent task should be performed immediately when it arrives, while a regular task does not have such a requirement.As volatility of requirements and its frequency are difficult to predict, we model the uncertainty of new task arrivals as following a Poisson distribution (i.e., the time between two new task arrivals is distributed exponentially).
(3) Employee leaves.Due to sickness or being part of multiple projects or other reasons, an employee may leave during the project.Here, employee leaves are assumed to follow a Poisson distribution.So for each employee, the time interval between leaves is assumed to follow an exponential distribution.To infuse more reality, each employee is assigned a different mean time between his/her leaves.
(4) Employee returns.After having been absent from the project, we consider that the employee may return back to the project."employee returns" is the amount of time that the employee is absent from the project, i.e., the amount of time that passes from the moment the employee leaves until the employee returns to the project.Here, employee returns are also assumed to follow a Poisson distribution.To infuse more reality, each employee is assigned a different mean time to return, i.e., the time that an employee is out of the project.
It is worth noting that our approach is not limited to the Poisson distribution, which is often used in operations research.It is easy to replace the probability distribution used in our algorithm by any other appropriate probability distribution.All that is required is to plug in a different probability distribution to sample from.
Note that other types of uncertainties and dynamic events, such as changes in task precedence, addition of new employees not in the company before the project started, removal of tasks from the project due to changes in requirements, etc., may also occur during the dynamic process of a real-world project.As an illustration to validate the effectiveness and efficiency of the proposed proactive-rescheduling method, we only consider the task effort uncertainties, new task arrivals, employee leaves, and employee returns in the model of MODPSP and experimental studies used in this paper.The incorporation of other uncertainties and dynamic events is proposed as future work.

Employees' Properties
Assume a project requires a total of S skills and there are in total M employees involved in the project.Let l t ( 0,1,2, l  ) denote the scheduling point at which a rescheduling method is trigged (including the initial time 0 t ).Each employee i e (  ), which are considered to be time-invariant here.During the project, employee i e may leave, and then come back later.Thus, one time-related variables ()

Tasks' Properties
At the initial time 0 t , assume there are I N tasks in the project.As the time progresses, new tasks may be added one by one.At l t , assume there have been () Nt new tasks arrived.Thus by l t , a total of ( + ( )) ), which are considered to be time-invariant here.At l t , it is possible that a certain task has finished, or a task cannot be performed temporally because of an employee's leave (one skill required by the task is not possessed by any of the remaining employees).An example of the TPG update process is shown in Fig. 1.When a task finishes, its corresponding vertex and incident edges are removed from the TPG, e.g., task 1.When a new regular task arrives, it is appended to one or more unfinished tasks, e.g., task 16.If the new task is urgent, its precedence should not be lower than any other unfinished tasks at the time of its arrival.So it may be inserted preceding one or more unfinished tasks, as task 17, or it may be just added as a vertex in the case of not having any precedence relations to other unfinished tasks, as task 18.Note that task preemption is allowed in our MODPSP model.For example, in Fig. 1, since the precedence of the new urgent task 17 is higher than task 3, task 3 should stop processing until task 17 has finished.
An additional property Proficiency ij e of the employee i e , which indicates the proficiency of i e for task j T , is defined according to [12]: , and Proficiency ij e is considered to be time-invariant.
where I duration and I cost are the initial duration and cost evaluated from ( 2) and (3), respectively.Here, the scenario-based method is used.A schedule undergoes a set of task effort scenarios   , where q  is the q th sampled scenario of task efforts, N is the sample size, and we set N=30.
q duration and q cost are the corresponding efficiency objective values under q  .Spe- cifically, at l t , q  is generated as follows: at first, for each task _ _ ( ) jj N  at ran- dom for multiple times until is satisfied, and then set , where _ () Tt means the q th sampled remaining ef- fort of j T .Considering that a high efficiency is always addressed in the real-world software project, when defining the robustness objective in (6), we just penalize the duration and cost increases which will cause the efficiency deterioration in the disrupted scenarios, while the variances of duration and cost decreases are truncated by using a "max" function. is a weight parameter, which captures the relative importance of the sensitivity of the project cost over the sensitivity of the project duration to task effort uncertainties. is set to be 1 in our experiments.

()
l ft denotes the stability, which measures the devia- tion between the new and original schedules.It is calculated for all the available tasks at l t ( 0 l tt  ) which are left from the previous schedule created at -1 l t .It is de- fined as the weighted sum of the dedication deviations with the aim of preventing employees from being shuffled around too much.
In the first case, a large penalty ( t , but he/she should dedicate to j T according to the new schedule, then the employee may feel confused.He/she may need additional time to familiarise himself/herself with the newly assigned task, hence the working efficiency may be decreased.In the second case, if an employee was on a task previously, but he/she is not allocated to the task in the new schedule, then a medium penalty ( given.The employee might have received training about the task and become familiar with the task.Such training would be wasted if the employee does not perform this task any more.In the third case, if an employee continues a task but with a different dedication level, a small penalty ( ) is given to the differences between the new and original dedications.
It should be mentioned that at the initial time 0 t , only three of the objectives defined above, which are I duration , I cost and robustness (without stability), are to be optimized.

Constraints
Constraints of MODPSP at the scheduling point l t are listed as follows.Among them, constraints (i) -( ii Note that the task skill constraints include the case that each available task at l t should be performed by at least one available employee.

(iii) Maximum headcount constraints
The number of available employees working together for j T is expected to be no more than an upper limit maxhead j

T
. Here, maxhead j T is estimated by the formula in [12]: , which was derived from the COCOMO model [26].However, if the team size of Tt , then we have:

A PROACTIVE-RESCHEDULING APPROACH TO SOLVE MODPSP 4.1 Framework of the Proactive-rescheduling Approach
To handle uncertainties and real-time events occurring during a software project, a proactive-rescheduling approach is proposed for solving the MODPSP.As an illustration for introducing our approach, one real-world instance derived from business software construction projects for a departmental store [8] is taken as an example.
Step i: At the initial time of the project, the software manager identifies several attributes of the project to be developed.These are the tasks, task dependencies, and required efforts.For example, the software manager could identify that there are 12 tasks in total, e.g., performing the UML diagrams, designing the database, designing the web page templates, implementation, testing the software, writing database design documents and a user manual, etc.In fact, if the scheduling process starts after the architecture of the system is designed, it would also be possible to define more fined grained tasks, such as the implementation of each different component of the system.After identifying the tasks, the software manager would identify the dependencies among these tasks by creating a TPG, the skills required by each task, and estimate the effort required for each task.Supporting tools such as COCOMO [26] or machine learning algorithms [27] could be used to help providing effort estimations.Besides the attributes of the project itself, the project manager also identifies employees' properties, such as the skill proficiencies possessed by each employee, the maximum dedication of each employee to the project, the normal and overtime working salaries of each employee.Such information can be obtained based on the experience and knowledge of the software manager on the project.It can also be based on historical information.
Step ii: Provide the information collected in step i as input to the proposed MOEA-based proactive scheduling approach introduced in Section 4.2.The approach will automatically generate schedules to minimize the objectives of project duration (defined by ( 2)), cost (defined by (3)), and the sensitivity of the schedule to task effort uncertainties (defined by ( 6)), satisfying the constraints of no overwork, task skills and the maximum headcount (defined by ( 9) -( 11)).The approach assumes that the task effort uncertainties follow a normal distribution.However, a software engineering tool implementing this approach could be easily modified to assume other distributions.The output of the approach is a set of non-dominated solutions which represent schedules with different trade-offs among the three objectives.Each solution is a matrix providing the dedication of each employee to each task.
Step iii: Once the approach generates the nondominated solutions, the software manager needs to choose one solution to adopt.A tool implementing the approach could display via a GUI some useful information for that, such as the dedication matrix of each solution; its multi-objective values; the maximum, mean and minimum value on each objective among the obtained non-dominated solutions.The software manager could choose the schedule suggested by the automated decision making procedure introduced in Section 4.2.4,or select a schedule manually based on the information provided by our approach and his/her own experience and knowledge about the project.The process of manual decision making that the software manager would need to go through is explained in Section 6.7.After that, the initial project charts, e.g.Gantt charts, can be created using the information of TPG, the estimated task effort and allocation.
Step iv: During the lifetime of the project, some dynamic events may occur, e.g.altering tasks, employee leaves, employee with interrupted involvement, squeeze in budget for some tasks and shift of focus on other tasks.For simplicity, we just consider new task arrivals, employee leaves and employee returns in the current work.Among them, urgent task arrivals, employee leaves and returns are regarded as critical events, while regular task arrivals are considered to be non-critical.To reduce the rescheduling frequency, a critical-eventdriven mode is employed.Once a critical event occurs, the software manager triggers the rescheduling procedure provided by our approach.Non-critical events like regular task arrivals are not scheduled until the next critical event occurs.However, if the new regular task needs to start before the next critical event occurs according to the TPG, a heuristic method is used, which assigns a certain number of available employees with higher proficiencies (measured by ) to it, simultaneously satisfying the task skill constraint, and the dedication of each assigned employee to it is generated randomly.This is done automatically, without the need for the software manager to provide manual input.
In the rescheduling procedure which is triggered when a critical event occurs, first, the software manager determines all the available tasks and employees that can be rescheduled in the current environment.The following are provided by the software manager via GUI as the input of the proposed MOEA-based rescheduling approach introduced in Section 4.2: the remaining estimated effort required to finish each available task; the updated TPG reflecting any changes that may have happened to the TPG; other properties of the available tasks and employees, together with the four objectives of duration, cost, robustness and stability defined by ( 2), ( 3), ( 6) and (7), and the three constraints defined by ( 9) - (11).Such information can also be obtained based on the investigation by and knowledge of the software manager according to the current state of the project.Then the rescheduling approach is triggered, and automatically generates a set of non-dominated solutions, which represent different trade-offs among the four objectives.Next, similar to the steps after proactive scheduling, some useful information is presented via GUI, which the software manager can take as a reference for deciding the final schedule in the new environment.The process of how the software manager would make a decision based on the Pareto front provided by our approach is illustrated in Section 6.7.The new schedule is implemented in the project until the next critical event occurs, at which time the above rescheduling procedure is triggered again.In short, the MODPSP is a dynamic process formed by a sequence of multi-objective PSPs with different sets of available employees and tasks to be scheduled.This process continues until the whole project has been completed.
As indicated in Section 1, five of the eight reasons given by Pressman [14] for late software delivery are related to uncertainties, risks and unpredictable events appearing during the project execution.In our current work, four kinds of risks or dynamic events including task effort uncertainties, new task arrivals, employee leaves, and employee returns are considered.Each of the above four cases can be linked to one of the five reasons for late software delivery noted by Pressman.The relationship between them and the strategies used by our proactive-rescheduling approach to address these issues are shown in Table 3. Proactiveness/resc heduling.
An honest underestimate of the amount of effort and/or the number of resources that will be required to do the job.
Task effort uncertainties.

Proactiveness.
Predictable and/or unpredictable risks that were not considered when the project commenced.
New task arrivals, employee leaves， employee returns.

Rescheduling.
Technical difficulties that could not have been foreseen in advance.
Task effort uncertainties.

Proactiveness.
Human difficulties that could not have been foreseen in advance.

An MOEA-based Rescheduling Method for MODPSP
The goal of multi-objective optimization is to find a representative set of Pareto non-dominated solutions.One solution is said to Pareto dominate another if the first is not worse than the second in all objectives, and there is at least one objective where it is better.A solution is called Pareto non-dominated if none of the objectives can be improved without sacrificing some of the other objective values.The set of Pareto non-dominated solutions in the objective space is called the Pareto front, which can provide trade-offs among multiple objectives.
ε-MOEA is an ε-domination based MOEA [28], where ε-domination is a generalization of the domination relation introduced in [29].ε-MOEA employs efficient parent and archive update strategies, and can produce good convergence and diversity with a small computational effort, especially when dealing with many objectives (3 or more) [28].MODPSP is a dynamic problem with four objectives.In order to solve it in an efficient way, an ε-MOEA-based rescheduling method, dε-MOEA, is proposed in this paper.

The Procedure of dε-MOEA Applied to MODPSP
At each scheduling point l t ( 0 l tt  ) in MODPSP, the procedure of dε-MOEA is presented in Fig. 2.
Step  For Step 1, update of the project state and heuristic constructions of the initial population are described in Sections 4.2.2 and 4.2.3, respectively.The tournament selection method is used for the pop_selection procedure in Step 2. Two individuals are picked up uniformly at random from the population, and check the domination of each other.If one dominates the other, the former will be chosen.Otherwise, one of them is selected at random.In Step 3, an individual is selected uniformly at random from the archive.In Step 4, the variation operators are introduced in Section 5.1.In Step 5, the sampled task efforts change from one iteration to another, which increases the probability of generating robust solutions undergoing a large number of scenarios.The pop_acceptance and archive_acceptance procedures in Steps 6 and 7 are the same as in [28].The termination criterion is that the counter ct achieves a predefined maximum number of objective evaluations.The decision making procedure is described in Section 4.2.4.For each candidate solution, the constraint handling methods and objective evaluation procedure are presented in Sections 5.2 and 5.3, respectively.
It should be mentioned that at the initial time 0 t of the project, the proactive scheduling is also based on the dε-MOEA procedure shown in Fig. 2. The differences are the random population initialization is used in Step 1 instead of the heuristic population initialization, and when evaluating an individual, only three objectives (without stability) are considered.

Update of the Project State
At each scheduling point l t ( 0 l tt  ), the project state should be updated first.
(i) The finished effort of each task from 0 t to l t should be calculated.If a task has been completed by l t , its cor- responding vertex and incident edges are removed from the TPG.
(ii) Information about the new tasks arriving since the previous scheduling point 1 l t  must be gathered.The new tasks and their task precedence are added into the TPG.
(iii) For each task, whether it is available or not at l t is determined by checking the three conditions introduced in Table 2.
As a result of the above three steps, all the current available employees, available tasks, and the updated TPG can be used for rescheduling at l t .

Heuristic Population Initialization in Rescheduling
With the aim of utilizing the dynamic features of MOD-PSP and accelerating the convergence speed of the algorithm, several heuristic strategies are incorporated in constructing the initial population of dε-MOEA.
(1) Exploitation of the dynamic event characteristics.Inspired by the schedule repair often used in production scheduling, which refers to local adjustments to the original schedule and has the ability of preserving the system stability well [15], three schedule repair strategies are specifically designed for MODPSP to exploit the dynamic event features.Firstly, in the case of employee leaves, all the unaffected tasks remain unchanged both for their employees and dedications.For each affected task to which the leaving employee was assigned, the condition of whether the remaining employees in the task team can satisfy the task skill constraint is checked.If yes, their dedications to the task are kept unchanged.Otherwise, other available employees with relatively higher proficiencies are found to join the task team to satisfy the skill requirement.Secondly, in the case that an employee returns, for each task left from the previous schedule, if its team size is less than the maximum headcount, and the returning employee has one of the task skills, then he/she is assigned to the task to speed up the task progress.Otherwise, the previously scheduled employees and dedications remain unchanged.For each new arriving regular task, or each previously unavailable task that becomes available again due to the employee return, the dedications of the available employees to it are generated at random.Thirdly, in the case of new urgent task arrivals, the employees and their dedications assigned to each task left from the previous schedule are kept unchanged, while the dedications to the new tasks are generated at random.In the above cases, if overwork of any available employee appears, the normalization method explained in 5.2.1 is applied.The result of the schedule repair is called the schedule repair solution.
(2) Exploitation of the history information.At each scheduling point, information left from the previous schedule is regarded as the history information which can be utilized.The dedication allocations of the available employees to the available tasks in the old schedule are called the history solution.
(3) Incorporation of random individuals.In order to introduce diversity, some random individuals are created in the initial population.The dedication of each available employee to each available task is generated uniformly at random from the set   0, ( ) 1 , , ( ) In this paper, 20% of the initial population are formed with the history solution and its variants by mutation, 30% with the schedule repair solution and its variants, and 50% with the random individuals.

Decision Making
In practice, at each scheduling point, once a set of nondominated solutions are found by dε-MOEA, they are provided to the software manager for selection, and then the selected schedule is implemented in the project.However, in our experiments, it is not practical to have a person for taking decisions.Thus, an automatic decision making method proposed in our previous work [30] is adopted, and the procedure is briefly given as follows.
Step i: Construction of the pairwise comparison matrix.Our MODPSP uses N_o= 4 objectives to be optimized.The pairwise comparison questions of "How important is the objective Process (AHP) [31], which describes the degree of the preference for one objective versus another.
Step ii: Estimation of the weight vector for multiple objectives.The logarithmic least squares method [32] is adopted.The geometric mean of each row in the matrix 1 C is calculated, which is then normalized by dividing it by the sum of them.
Step iii: Normalization of the objective values.Each objective is normalized as: where max i f and min i f are the maximum and minimum objective values among all the non-dominated solutions obtained at the current scheduling point.
Step iv: Calculation of the utility value.The weighted geometric mean of the multiple objective values is used to find the utility value for each non-dominated solution: Step v: Choose the solution with the maximum utility value as the final schedule.
Note that the pairwise comparison matrix and the weight vector in Steps i and ii are determined beforehand and kept unchanged during the dynamic process.Only Steps iii, iv, and v are performed at each scheduling point during the project execution.
Here, we give an example of the above decision making method.Before the beginning of the project, assume that the software manager considers that the objectives   (12), the utility value of each non-dominated solution can be calculated based on (13).
Then, the non-dominated solution with the highest utility value is chosen.
There have been AHP-related decision making methods in the existing work.Javanbarg et al. [33] proposed a fuzzy AHP decision making model to deal with the imprecise judgments of decision makers, and then a fuzzy prioritization method was applied to derive exact priorities from consistent and inconsistent fuzzy comparison matrices.Kim and Langari [34] gave an adaptive AHP for decision making in the dynamically changing traffic environment, which could provide an optimal relative importance matrix under different traffic situations and driving modes.Bernardon et al. [35] presented a multicriteria decision-making process for solving the remote-controlled switch allocation problem based on AHP.In [33], the weight of each objective was set as the algebraic mean of each row in the normalized pairwise comparison matrix 1 C , and in [34], the weight was set as the element in the eigenvector associated with the maximum eigenvalue of 1 C .Both [33] and [34] used the weighted algebraic mean to evaluate the utility of each alternative.However, when estimating the weight vector , it is expected that the entry will provide the best fit to the judgement ij c in 1 C [31].Thus, in our work, the loga- rithmic least squares method is used to calculate the weight vector based on the minimization of the distance between 1 C and W .Meanwhile, the weighted geometric mean, which is considered as the optimal method to find the utility value for the alternative [36], is employed.

Representations and Variation Operators
In MODPSP, the solution at each scheduling point l t is a dedication matrix x t e    .We employ binary string chromo- .The chromosome should be decoded into a dedication matrix for the convenience of objective evaluation.Fig. 3 gives an example of the representation of a binary chromosome and its decoded dedication matrix, where there are two available employees In dε-MOEA, the 2-D single point crossover operator [3], which is designed for matrices, and the bit-flip mutation are employed as variation operators.Fig. 3.An example of the representation of a chromosome and its decoded dedication matrix.

Handling the No Overwork Constraints
In [3], overwork is handled by penalizing the fitness value of a schedule.As shown in their experimental results, the no overwork constraints are difficult to be satisfied by this method, especially when the number of tasks or employees is increased, or the employees' skills are decreased, or the project demands more skills.A modification to the dedication normalization method proposed in [2]  dt are the ones that employees will use at any moment after l t in order to avoid overwork.This method allows an employee to divide his/her dedications to several tasks, and it is guaranteed that the no overwork constraints can always be satisfied by such an adjustment.

Handling the Task Skill Constraints
In order to incorporate the proficiency of each employee for different tasks when evaluating a schedule and handling the task skill constraints, according to [10] and [12], the adjusted total dedication _ ( ) jl A Td t for task j T can be calculated as follows: First, the total dedication () Td t of all the available employees for j T is: Second, the total fitness () Ft of all the available em- ployees for the task j T is calculated: where () jl Ft is a fraction of the total dedication spent by employees to the task j T .The explanation for this is as follows.Even though employees have a dedication of () ij l dt for the task j T , if their proficiency on the skills needed for the task are low, j T will take longer to finish, as if the employees' dedications were lower than () ij l dt.(15) reduces the dedications of employees to tasks based on their proficiency.

Third, () jl
Ft is converted to a cost drive value () ) where the value of () Vt ranges from 1 to 7.
( ) jl Vt  indicates the assigned employees are the most suitable for task j T , and vice versa.This conversion was pro- posed by [12].
Fourth, the adjusted total dedication _ ( ) jl A Td t , which takes into account the proficiency of the employees, can be obtained: where _ ( ) Tt is the remaining effort of task j T at l t , then the time required to finish At the scheduling point l t , if a candidate schedule is infeasible because certain task skills are not covered by the allocated employees, then very high penalty values are assigned to the objectives, as suggested in [2].Suppose reqsk is the number of missing skills in an infeasible schedule.Each objective is penalized as follows:  Tt  , where 7 is the maximum pos- sible cost driver value of each task.This is the total dedication as if each employee was the only employee working for the task, i.e., the maximum possible total dedication of the employee for the task;  The stability value is always at most  Moreover, the penalty values are proportional to the value of reqsk , which means the penalty will decrease if the number of missing skills decreases.This penalized objective vector gives a strong gradient for search algorithms towards feasible regions.

Handling the Maximum Headcount Constraints
In order to improve the efficiency of our algorithm, two heuristic operators are performed for a candidate schedule before the objective evaluation.The first one is to set the dedication of an employee for a task to 0 if he/she has none of the skills required by the task, i.e., if xt =0), otherwise, he/she is kept in the team; 3) move to the next employee in the sorting list and do the same operation as in 2) for him/her.This procedure continues until the team size of j T is within the limit or all the employees in the team have been checked.If the team size cannot be reduced to maxhead j T without violating the task skill constraints, then it can be larger than maxhead j T , but a penalty is given to the effort of j T .As indicated in [37], the communication overhead must be added to the amount of work to be done.Z is a parameter.We have performed some preliminary experiments and found that when Z=5, the relationship of the time to finish the task versus the number of employees has a similar behavior to the curve of Fig. 2.4 shown in [37].
In [10] and [12], the maximum headcount constraints were also considered.However, neither of them presented any method to handle such constraints, which might produce infeasible solutions and introduce communication overheads.Here, the approach of penalizing the task effort given in ( 23) fills the gap in the literature.

Objective Evaluations
The pseudo code of the objective evaluation procedure at the scheduling point l t is given in Fig. 4. At first, the procedure tests whether the dedication matrix X( ) l t is feasible in that the task skill constraint of every available task is satisfied (lines 1-4).If there is no missing skills ( 0 reqsk  ), two heuristic operators introduced in Section 5.2.3 are performed, and the modified dedication matrix ' X ( ) l t is obtained (lines 5-6).If the team size of j T is still bigger than maxhead j T after the heuristic operators, then give a penalty to the effort of j T (lines 7-12).For ' X ( ) l t , two efficiency objectives of I duration and I cost are eval- uated by calling the function Evaluate_duration_cost (line 16), the procedure of which is given in Fig. 5.If the task skill constraints are violated ( 0 reqsk  ), output the penalized objective vector (lines [17][18][19] and stop the procedure.Otherwise, the robustness and stability values of ' X ( ) l t are calculated (lines 20-36).Note that the modified dedication matrix ' X ( ) l t is also output by the procedure, which will replace X( ) l t in the succeeding optimization.The procedure of evaluating duration and cost shown in Fig. 5 is a modification to Algorithm 1 in [2], which provides a schedule-driven estimation [38] of duration and cost.Algorithm 1 considered all the tasks and employees in the static PSP, while our procedure here is for computing the elapsed time and cost of processing the available tasks by the available employees at a specific scheduling point.Moreover, the skill proficiencies and overtime salaries are taken into account in our work.If the task skill constraints are satisfied, the procedure iteratively constructs the schedule (Lines 5-34).Line 6 checks which tasks can be active at the current moment of time according to the TPG.The dedication is normalized for employees whose total dedication to all the active tasks exceeds the upper limit (line 12).Next, the total dedication of employees for a task is calculated (Line 14), and the total fitness for the task is evaluated and converted to a cost drive value by ( 15) and ( 16) (lines 15-16). Line 18 determines the earliest moment of time t' at which a task finishes.The finished task and its incident edges are removed from the TPG (line 31), thus new tasks are allowed to become active in the next iteration based on the TPG.Duration and cost are accumulated along all the iterations (lines [19][20][21][22][23][24][25][26][27].Line 29 computes the remaining effort of each active task, which will be used in the next iteration if the task has not finished yet.V be the set of all the tasks in __ T ava set without incoming edges in ( , ) G V A .7: if '  V  then 8: Output "Problem instance not solvable!";exit.

EXPERIMENTAL STUDIES
Considering the uncertainties and dynamic events that often occur in dynamic environments of a software project, it is desirable to provide the software manager with insight into whether robustness and stability should be taken into account together with project duration and cost, and which rescheduling method to choose for solving MODPSP.This insight should be by evidences illustrating the influence of robustness and stability on the project duration and cost and also on the performance of the algorithm.The evidence should also demonstrate which rescheduling algorithm is likely to behave better according to the evaluation criteria that may affect the software manager's decision.With this aim, this section presents a comprehensive study of the influence of the robustness objective on proactive scheduling, compares our rescheduling method, dε-MOEA, with the heuristic dynamic scheduling based on the whole project duration and cost, and also compares five MOEA-based rescheduling methods based on the convergence, distribution and spread performances that are usually considered in multi-objective optimization.

MODPSP Instances
In our experiments, both the instances derived from Alba and Chicano's benchmarks [3], and those derived from real-world projects were used.
Since there are no standard benchmarks for the MODPSP, 18 dynamic instances are generated based on the 18 static PSP instances of benchmark 4 in [3].The reason for selecting these 18 instances is that they include the variants of three important parameters in PSP, which are the number of employees, the number of tasks, and the number of employee skills.To capture more features of the realistic PSP, the MODPSP instances generated here differ from the static ones of [3] in the following aspects: (1) The task effort uncertainties and three kinds of dynamic events (new task arrivals, employee leaves, and employee returns), which often occur during the project execution, are incorporated.(2) The maximum headcount of each task, the skill level of each employee, part-time jobs, and overtime working of employees are all taken into account.
The 18 dynamic instances derived from benchmark 4 in [3] contain different software projects.The total number of different skills required by the project is 10 in each instance, and each task requires 5 skills randomly selected from them.The number of employees can be 5, 10, or 15, and the number of skills possessed by each employee ranges from 4 to 5, or from 6 to 7. 20% of the employees do part-time jobs, whose maximum dedications are uniformly generated from [0.5, 1) at random; another 20% can work overtime, whose maximum dedications are in the interval (1, 1.5]; and the maximum dedication of each remaining employee is set to 1.0 (full time).According to [3], the normal monthly salary of each employee is sampled from a normal distribution with the mean of 10000 and standard deviation of 1000.The overtime salary is set to be the normal monthly salary multiplied by 3. If an employee has one skill, the proficiency score is sampled uniformly from (0, 5] at random, otherwise it is set to 0. At the initial time, the number of tasks can be 10, 20, or 30.Then it is assumed that 10 new tasks arrive one by one following a Poisson distribution.We suppose the mean time between task arrivals is 1 month.We assume 20% of new tasks are urgent, and the remaining 80% are regular.The simulation continues until all the original and new tasks have finished.Variances of task efforts are assumed to follow a normal distribution.Each task effort is assigned different values of mean and standard deviation, which vary uniformly in [8,12] and [4,6] (unit: person-month), respectively.These values are chosen such that on average, the mean of a task effort is 10 and the standard deviation is 5 [3].The TPG for the initial tasks is generated using the method in [3].For a newly arrived task, the precedence of the urgent or the regular one is inserted preceding or succeeding a randomly selected unfinished task, respectively.
During the project execution, employee leaves and returns are assumed to follow a Possion distribution.As indicated in Section 3.1, each employee is assigned different mean time between his/her leaves and mean time to his/her return, which vary uniformly in [11,13] and [0.4,0.6] (unit: month), respectively.These values are chosen such that on average, an employee is available for 11.5 months per year, and then asks for a leave of 0.5 months.Hence, an employee's availability is about 95.83%.
The 18 MODPSP instances randomly generated according to the above principles are named as sT#1_dT#2_E#3_SK#4-#5, where sT#1 means the number of initial static tasks, dT#2 means the number of dynamically arriving tasks, E#3 means the total number of employees, and SK#4-#5 means each employee has #4 to #5 skills.For example, sT30_dT10_E15_SK6-7 denotes that there are 30 tasks in the project initially, then 10 new tasks arrive one by one dynamically, and there are in total 15 employees, each of whom has 6-7 skills.
Additionally, three real-world instances (named Re-al_1, Real_2 and Real_3) derived from business software construction projects for a departmental store [10] were also used in our experiments.Since these real instances are originally static PSPs, uncertainties and dynamic events are introduced to transfer them into the dynamic instances.For task effort uncertainties, the original task effort in the static real instances is regarded as the initially estimated effort, and is set as the mean value of the normal distribution which each task effort follows, and the standard deviation is assumed to be 10 percent of the mean value.The three kinds of dynamic events occur in the same way as that described in the above 18 randomly generated instances.In addition, the maximum dedication maxded i e in our model was calculated from the real instances as follows: maximum possible working hours per month legal normal working hours per month When evaluating the cost in the procedure shown in Fig. 5, the basic salary was incorporated as in [10].
In total, there are 21 test instances used in our experiments, which were performed on a personal computer with Intel core i5, 3.2 GHz CPU and 4 GB RAM.
We do not currently have access to real world software project data containing information about their dynamic and uncertain events.The simulation nature and the lack of empirical validation with data of completely real nature is a threat to validity of this study.In order to mitigate this threat, we used several simulated software projects containing different numbers of tasks, employees, skills, dynamic events and uncertainties.We have also used three real world software projects with simulated dynamic and uncertain events.Once real world data with known dynamic and uncertain events become available for an empirical study, further analyses should be performed.

Parameter Settings
Parameter settings of our rescheduling method, dε-MOEA, in all the experiments are given in Table 4.In each independent run, the algorithm stops after 10000 objective vector evaluations.In the decision making procedure, the pairwise comparison matrix for the four objectives was assumed to be   Hence, the corresponding weight vector is   Crossover possibility 0.9 Mutation possibility 1/L, where L is the chromosome length maximum number of objective vector evaluations 10000

Research Questions
The research questions (RQ) that our experimental studies aim to investigate are as follows: RQ1: Is our initial proactive scheduling effective in improving the schedule robustness to task effort uncertainties by simultaneously considering the "robustness" objective and two efficiency objectives?RQ2: Does our rescheduling method dε-MOEA improve the project efficiency significantly compared to a heuristic dynamic scheduling method?Is the project efficiency sensitive to task effort variances when using our rescheduling method dε-MOEA?RQ3: Are the strategies designed in dε-MOEA effective compared to other MOEA-based rescheduling methods?These strategies include the dynamic optimization mechanism, introduction of the robustness and stability objectives, and heuristic initialization strategies.
RQ4: What insights into trade-offs among objectives can be found in the Pareto fronts of software projects?

RQ1: Influence of the Robustness Objective on the Initial Proactive Scheduling
This section aims to validate the effectiveness of the initial proactive scheduling in improving the schedule robustness to task effort uncertainties (the dynamic events occurring during the project execution are not considered here).Performance comparisons were done between our robust method (three objectives of I duration , I cost , and robustness were considered simultaneously, and it is called ε-MOEA-r), and the method where only two efficiency objectives ( I duration and I cost ) were con- sidered (it is called ε-MOEA-d).Aiming to compare the two methods within a multi-objective framework, the following steps were performed at the initial time of each of the 21 MODPSP instances: Step i: Two methods were applied, and two nondominated solution sets were produced, respectively.Then the value of the objective "robustness" was calculated for the two methods using the same sampled efforts (100 task effort scenarios were sampled at random here), despite the fact that only one of them was optimizing this objective.When comparing the two methods in terms of Pareto domination, "robustness" was also considered.
Step ii: The non-dominated sets of the two methods were compared using the set cover metric C [39], which is defined as follows: suppose 12 , XX are two solution sets.The metric C maps the ordered pair where 12 xx means solution 1 x Pareto dominates 2 x , and F is the objective vector.The metric C gives a comparison of two sets based on their domination or equality to each other.    indicates that 1 X is better than 2 X in terms of the metric C.
Step iii: In order to check the overall performance improvement (or deterioration) on individual objectives by using "robustness" as one of the multiple objectives, the non-dominated solutions of ε-MOEA-r were averaged along each of the three objectives, respectively, and also for ε-MOEA-d.The quantitative improvement (or deterioration) of ε-MOEA-r over ε-MOEA-d on each objective is calculated as follows: where Avg f   represent the average of the non-dominated solutions (i.e., the overall performance) obtained by ε-MOEA-r and ε-MOEA-d on the objective i f , respectively.Since all objectives were to be minimized, we used a negative sign in (25).
30 independent runs of both methods were replicated following the above experimental procedure on each problem instance.To significantly compare the metric C between ε-MOEA-r and ε-MOEA-d on the 21 instances, Wilcoxon rank sum tests with the significance level of 0.05 were employed.The results are listed in Table 5.It can be seen that C(ε-MOEA-r, ε-MOEA-d) is significantly better than C(ε-MOEA-d, ε-MOEA-r) in 100% of the realworld, and 72.22% of the random instances, respectively, and there is no significant difference between them in the remaining 27.78% of the random instances, which indicates that the convergence performance of our robust method ε-MOEA-r is better than or at least no worse than ε-MOEA-d in terms of Pareto domination.The overall performance improvement (or deterioration) of ε-MOEA-r over ε-MOEA-d on each objective was averaged over 30 runs and listed in Table 6.Wilcoxon rank sum tests with the significance level of 0.05 were employed to significantly compare the overall performance on each objective obtained by each of the two algorithms, and the results are also shown in Table 6.It can be seen from statistical results that compared to ε-MOEA-d, ε-MOEA-r improves the robustness significantly in 17 of the 18 random instances and all the 3 real instances, while only deteriorates the efficiency objective significantly (mainly the duration) in 6 of the 18 random instances and 1 of the 3 real instances.From the results of overall performance improvement, the improvement in robustness is much more than the deterioration in efficiency, which suggests that if the predictive schedules are generated by simultaneously considering robustness and efficiency, there will be a high chance of obtaining more robust schedules without seriously affecting efficiency.Note that this happens not only in the random instances, but also in the ones derived from real-world projects.Moreover, the better robustness performance obtained by ε-MOEA-r shows it can produce a set of trade-off schedules with lower duration delays and cost increases than ε-MOEA-d when facing task effort uncertainties, which suggests its ability to reduce the schedule sensitivity to uncertainties.Take Real_3 as an example to illustrate the behaviors of different algorithms.The initially estimated efforts of the 12 initial static tasks are 3, 2, 2, 2, 3, 1, 4, 3, 2, 2, 2, and 3, and a disrupted task effort scenario is 2.84, 2.16, 1.76, 2.16, 3.36, 1.13, 3.31, 3.28, 2.13, 1.87, 2.35 and 2.72 respectively.Duration and cost in the initial ( I duration and I cost ) and disrupted ( q duration and q cost ) scenario of a randomly chosen schedule generated by ε-MOEA-d are shown in Table 7 and also for ε-MOEA-r.It can be seen that to get better robustness, the initial duration and cost of ε-MOEA-r are worse than those of ε-MOEA-d.However, when facing the same task effort disruption, the disrupted duration and cost for ε-MOEA-d becomes worse than both the initial and disrupted duration and cost for ε-MOEA-r, which illustrates that better robustness really compensates the worse initial cost and duration for ε-MOEA-r.

RQ2: Comparisons of the Proposed Rescheduling Method dε-MOEA against the Heuristic Dynamic Scheduling Method
This section compares dε-MOEA with a heuristic dynamic scheduling method (it is called h-method), which generates an initial schedule by the robust scheduling algorithm ε-MOEA-r (introduced in Section 6.3), combined with the decision making method described in Section 4.2.4.The h-method then makes a local adjustment to the original schedule based on a heuristic rule when a dynamic event occurs (these local adjustments are different strategies that could be adopted if no dynamic MOEA rescheduling was used).The heuristic rules used here are: 1) In the case that an employee leaves and returns, for each task in which the leaving employee is on, if the task becomes infeasible because the employee leaves, then the task is unprocessed and waits until the employee returns to be continued.Otherwise, if the task is still feasible, then the remaining employees still work on it and their dedications to the task are kept unchanged.For other tasks, they are performed according to the initial schedule.
2) If a newly arrived task is to be performed according to the TPG, then a number of available employees with higher proficiencies (measured by Proficiency ij e ) will be assigned to it, simultaneously satisfying the task skill constraint.The number of selected employees is expected not to exceed the maximum headcount of the task.However, if the team size cannot be reduced to the limit without violating the task skill constraint, then the task headcount constraints can be relaxed.Two performance measures were adopted in this section.One was the whole project duration (the elapsed time of finishing all the tasks that have ever been considered as part of the project), and the other was the whole project cost (the total expenses paid to the employees for completing the whole project).30 independent runs on each MODPSP instance were performed using our method dε-MOEA, and also the h-method.Average results, percentages of the performance improve-ment of dε-MOEA over h-method, and the statistical results obtained by Wilcoxon rank sum tests with the significance level of 0.05 are listed in Table 8.
It can be observed that compared to h-method, dε-MOEA decreases the whole project duration and cost significantly on all instances.It improves the project efficiency to a large extent, which shows the distinct superiority of dε-MOEA over the heuristic dynamic scheduling when dealing with MODPSP, although the mean CPU time consumed by dε-MOEA at each scheduling point is much larger than that of the h-method (The smallest and largest mean execution time cost by dε-MOEA was 86.33s (Real_1) and 431.68s (sT30_dT10_E10_SK6-7), while those of h-method were only 0.0150s (Real_3) and 0.0556s (sT30_dT10_E5_SK6-7), respectively).However, compared to the project duration measured by months and the savings found by dε-MOEA, the time cost of dε-MOEA is relatively small, and it is worth consuming the time to regenerate a schedule by dε-MOEA that can improve the project efficiency significantly.
The sensitivity analysis of the impact of task effort variances on the project efficiency is also performed on one real-world instance (Real_1).Here, the standard deviation of the normal distribution that task effort variances assumed to follow is set to be 5, 10, 15, 20, 40, 60, 80, and 100 percent of the mean value, respectively, which reflects the uncertainty level.Fig. 6 gives the variations of the project duration and cost obtained by dε-MOEA and h-method with the uncertainty in the task effort estimation (30 replications of either method are performed under each uncertainty level and the average value is computed, respectively).It can be seen that as the uncertainty level increases, the project duration and cost also increase because the project suffers from such effort variations.However, the increment of project duration and cost produced by dε-MOEA (Fig. 6(a)) is much smaller than that obtained by h-method (Fig. 6(b)), which indicates that our method dε-MOEA is much less sensitive against such task effort uncertainties.In this section, the proposed rescheduling method dε-MOEA was compared to the other four rescheduling methods which are listed as follows: i) dCOEA.To validate the effectiveness of the dynamic optimization mechanism incorporated in dε-MOEA, it was compared to a state-of-the-art dynamic MOEA called dCOEA [40].At each scheduling point, each subpopulation in dCOEA played a role in searching the dedications of one available employee to all available tasks.In dCOEA, two strategies were specifically designed for dynamic optimization: (1) when changes occur, diversity in each subpopulation was introduced via stochastic competitors; and (2) to exploit useful information about the current archive, a temporal memory was used to handle outdated archived solutions.The chromosome representations and variation operators in dCOEA were the same as those in dε-MOEA.The parameter settings of dCOEA were: the subpopulation size was 10, the maximum archive size was 100, SCratio was 0.5, Rsize was 5, and Cfreq was 10, which were the same as recommended by [40].Other parameters such as the crossover and mutation probabilities were the same as those in dε-MOEA.
ii) dε-MOEA-Deterministic.To demonstrate the superiority of considering project duration, cost, robustness and stability simultaneously and incorporating the heuristic initialization, dε-MOEA was compared to dε-MOEA-Deterministic, which is an ε-MOEA-based complete rescheduling method [15] that regenerates a new schedule from scratch and does not consider task effort uncertainties and project stability.At each scheduling point l t , only the project duration and cost in the initial scenario are considered.Meanwhile, the initial population is entirely generated at random.
iii) dε-MOEA-No-Sta.To study the impact of the stability objective, dε-MOEA was compared to an ε-MOEAbased rescheduling method without considering stability called dε-MOEA-No-Sta.This method is different from dε-MOEA in that only three objectives ( I duration , I cost 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.iv) dε-MOEA-No-HI.To study the influence of heuristic initialization strategies, dε-MOEA was compared to an ε-MOEA-based rescheduling method which just adopted random initialization.This method is different from dε-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.
The parameter settings of dε-MOEA-Deterministic, dε-MOEA-No-Sta, and dε-MOEA-No-HI are the same as those of dε-MOEA, which are given in Table 4.Note that all algorithms stop after 10000 objective vector evaluations in one run.

Performance Measures
It is desirable for an algorithm to provide a software manager with a set of non-dominated solutions with good convergence to the reference Pareto optimal front, and also with a uniform (in most cases) distribution and a wide spread over the Pareto front.In this way, the software manager can get a full picture of various trade-offs among the project duration, cost, robustness and stability, which is very helpful for him/her to understand more about the problem so that he/she can make an informed choice or revise the schedule already planned by himself/herself according to the requirement of the project.
In this paper, four popular metrics are employed to evaluate the performance of the five MOEA-based rescheduling methods.The first one is the hypervolume ratio (HVR) [41].The hypervolume metric HV measures the size of the objective space dominated by the obtained non-dominated front PFknown [42], and HVR is the ratio of HV and the hypervolume of the reference Pareto front PFref .A larger HVR value indicates a better convergence and a wider spread of the obtained non-dominated front.The second one is the Generational Distance (GD), which measures how far PFknown is from PFref [43].A small GD indicates the obtained solutions are close to the reference Pareto front, which means a good convergence performance.The weakness of GD is that it does not take the spread of solutions into account, hence a set of solutions which gather around a small region near the reference Pareto front may also get a good GD value.The third one is a distribution performance metric called Spacing, which measures the distance variations of neighbouring vectors in PFknown [44].The smaller Spacing is, the better the distribution uniformity of PFknown is.The fourth one is Spread, which measures the extent of spread achieved by the obtained solutions and the uniformity in the distribution of PFknown.The definition of Spread in [45] was used for biobjective problems.As for problems with three or more objectives, we propose a modified Spread given in ( 26): where _ No is the number of objectives, j df is the Eu- clidean distance between the best solution on the j th objective and its nearest solution in PFknown, nPF is the number of vectors in PFknown, ' i d is the Euclidean distance from the i th vector of PFknown to its nearest neighbour in PFknown, and ' d is the mean of all ' i d .A wide and uniform spread of solu- tions in PFknown will result in a small value of Spread.
No matter how uniformly the solutions distribute or how widely the range of objective values covers, if the obtained solution set is far from the reference Pareto front, the algorithm is not very useful because some of the project cost, duration, robustness and stability are poor.Thus, the convergence performance (HVR and GD) of an algorithm should be considered first by a software manager when choosing an algorithm to use.For two algorithms with comparable convergence, the one with a better distribution (Spacing) and spread (Spread) is preferred.
Because the true Pareto front at each scheduling point is unknown in MODPSP, PFref is obtained in our work by merging the solutions found during all the independent runs using all the five methods, and then obtaining the non-dominated solutions from them.The reference point in HVR is formed by the worst objective values observed in all optimization runs.
Due to the space limitation, the procedure of comparing dε-MOEA to other MOEA-based rescheduling methods is presented in Appendix A in detail.To compare the five methods in terms of the overall performance across different scheduling points and runs on each instance, Wilcoxon rank sum tests with the significance level of 0.05 are employed.The statistical test results are listed in Table B.1 in Appendix B. The overall performance improvement (or deterioration) and the statistical test results of dε-MOEA over the other four methods on each objective on the 21 instances are listed in Table B.2 in Appendix B.

Comparisons to dCOEA
In order to understand the impact of different dynamic MOEAs on the performance of MODPSP, we also applied dCOEA to find the Pareto front at each scheduling point.Table 9 summarizes the statistical test results of our method dε-MOEA versus the other four methods.
It can be seen that in terms of the convergence metrics HVR and GD, dε-MOEA is significantly better than dCOEA in all cases.It maintains a comparable spread performance to dCOEA, where the Spread values of dε-MOEA are significantly better than dCOEA in 83% of the 18 random instances and one in three real-world instances, respectively.As to the distribution performance, dε-MOEA is comparable to dCOEA on the real-world instances, while a bit worse than dCOEA on the random instances since its Spacing values are significantly worse than dCOEA in 33% of the 18 random instances.One possible reason for this is that dCOEA is a coevolutionary algorithm known to be good at maintaining a diverse set of solutions.
As mentioned before, convergence performance is the most important factor that a software manager should take into account when evaluating an algorithm.The poor convergence performance of dCOEA in our experiments indicates that the dynamic optimization strategies it adopts may not be suitable for solving MODPSP (dCOEA was tested only in dynamic multi-objective function optimization in [40]).Other policies, such as the heuristic initialization strategies designed in this paper which can utilize dynamic features of MODPSP, should be introduced.

Comparisons to dε-MOEA-Deterministic
With the aim to observe the consequence caused by not considering uncertainties and system stability when rescheduling from scratch in MODPSP, dε-MOEA was compared to dε-MOEA-Deterministic, which only cares about the project duration and cost in the initial scenario and generates the initial population at random.It can be seen from Table 9 that considering the convergence metrics HVR and GD, dε-MOEA is significantly better than dε-MOEA-Deterministic in all cases.As for the Spread metric, dε-MOEA behaves better because it is significantly better than dε-MOEA-Deterministic in 61% of the random instances and 100% of the real-world instances.However, in terms of Spacing, dε-MOEA-Deterministic behaves better, since it is significantly better than dε-MOEA in 50% and 67% of the random and real-world instances, respectively.The possible reason is that the initial population are generated at random in dε-MOEA-Deterministic, which is helpful in increasing the diversity of solutions.
Besides, it can be found from Table B.2 that compared to dε-MOEA-Deterministic, dε-MOEA improves the overall performance on robustness and stability significantly in all cases, while it degrades I duration and (or) I cost some- times.However, the improvements in robustness and stability are much more than the deterioration in the initial efficiency, which suggests that if a software manager reschedules by simultaneously considering duration, cost, robustness and stability, and also taking the dynamic event features and previous schedule information into account, he/she will have a higher chance of obtaining more robust and stable solutions without severely affecting the initial efficiency.
To further present the advantages of dε-MOEA over dε-MOEA-Deterministic, we plotted a section of the schedule Gantt charts produced by the two methods on one real-world instance (Real_2), respectively, which are given in Fig. 7. Since stability is not taken into account by dε-MOEA-Deterministic, it is possible that a group of employees different from the previous ones are assigned to the same task when rescheduling, and the dedication of an employee to a task fluctuates a lot.For example, in Fig. 7(b), task T9 is scheduled to be performed by employees e1, e7, e9 at the initial time t0, by e1, e2, e9 at the scheduling point t1, and by e7, e9 at t2.Although e9 is assigned to T9 all the time, his/her dedication changes a lot.This will induce the system instability and lack of continuity, which is undesirable for any real-world software project.In contrast, by considering stability, the schedule in Fig. 7(a) produced by dε-MOEA is more stable with only small adjustments in a few dedications, and the group of employees assigned to tasks T2, T9, T10, T17 are kept unchanged at different scheduling points as shown in Fig. 7(a).Furthermore, since robustness is not considered in dε-MOEA-Deterministic either, its schedule may behave worse when facing task effort disturbances.For example, in Fig. 7(b), the durations of tasks T1 and T4 were longer than those built by dε-MOEA in Fig. 7(a).Besides, T3 was suspended when the new urgent task T17 arrived (the precedence of T17 was higher than that of T3) and would continue until T17 finished.denotes the dedication of employee i e to task j T in the corresponding schedule)

The Influence of the Stability Objective
To study the impact that the stability objective has on the performance of the MOEA-based rescheduling methods, dε-MOEA was compared to dε-MOEA-No-Sta which did not take the stability objective into account.It can be seen from Table 9 that considering the convergence metric HVR, dε-MOEA is significantly better than dε-MOEA-No-Sta in 72% and 100% of the random and real-world instances, respectively, which indicates that compared to dε-MOEA-No-Sta, dε-MOEA can provide the software manager with a wider spread of non-dominated solutions that are close to the reference Pareto front.As for GD, the differences between the two methods are not large: there is no significant difference between them in 72% and 67% of the random and real-world instances, respectively.The Spread values produced by dε-MOEA are better than or comparable to dε-MOEA-No-Sta in all the instances, and similar results can be obtained for the Spacing metric.The reason for dε-MOEA-No-Sta having a relatively good performance on GD, but not so good on HVR and Spread is that it can find a set of solutions close to the reference Pareto front, but they just gather around a small region (with good values of I duration , I cost and robustness, but bad stability), so the spread of its solutions is not wide.
Besides, it can be found from Table B.2 that compared to dε-MOEA-No-Sta, dε-MOEA improves the system stability significantly with a small sacrifice in the initial efficiency and (or) robustness.This result is very practical for a software manager since stability is an important factor in the real-world software project.

The Influence of Heuristic Initialization Strategies
To study the impact that the heuristic initialization strategies have on the performance of the rescheduling method, dε-MOEA was compared to dε-MOEA-No-HI.It can be seen from Table 9 that considering the convergence metrics HVR and GD, dε-MOEA is significantly better than dε-MOEA-No-HI in all cases, which indicates that the combined use of dynamic features and history information in initialization can help improve the con-vergence performance of the MOEA-based rescheduling method a lot.Thus, when rescheduling, it is better for a software manager to take both the dynamic event features and previous schedule information into account.As for the Spacing metric, dε-MOEA outperforms or is comparable to dε-MOEA-No-HI in all the real-world instances, but it is significantly worse than dε-MOEA-No-HI in 33% of the random instances.Meanwhile, dε-MOEA-No-HI has better Spread performance as a whole since it is significantly better than dε-MOEA in 50% and 33% of the random and real-world instances, respectively.The reason is that dε-MOEA uses the history solution, the schedule repair solution and their variants as parts of the initial population, which can help speed up the convergence.However, this may limit the search space explored by the algorithm.
It can also be found from Table B.2 that compared to dε-MOEA-No-HI, dε-MOEA improves the overall performance on I cost and stability significantly in all cases, and improves I duration significantly in 16 of the 18 ran- dom instances and in all the 3 real instances, while it may degrade robustness in some instances.However, the improvements in I duration , I cost and stability are much more than the deterioration in robustness (if any), which suggests that the incorporation of heuristic initialization is able to improve the efficiency and stability significantly with a small sacrifice in robustness.
To further understand the advantages and disadvantages of the convergence performance of dε-MOEA over the other four methods, we plotted the average HVR and GD values over 30 independent runs across the scheduling points, which are shown in Fig. 8 and Fig. 9, respectively.Due to the space limitation, we just give curves on the instances with the best, medium and worst mean value of HVR or GD obtained by dε-MOEA.It can be seen that dε-MOEA can achieve the maximum HVR or the minimum GD value at most of the scheduling points.The convergence performance of dε-MOEA-No-Sta is close to that of dε-MOEA, while the other three methods are much worse.T are available. 31independent runs of dε-MOEA were performed.With the aim of showing the sample median quality attained in multiple (31 here) runs, the 50%summary attainment surface (i.e., the 16th-summary attainment surface) [46] is obtained.A four objective problem requires 4D data to be represented.To visually investigate the resulting summary attainment surface, we give the slice plot in Fig. 10.The slice plot draws slices along the I duration , I cost and robustness directions, and the colors on the slices are determined by the values on stability.As indicated in [46], the summary attainment surface emphasizes the distribution of the location achieved over multiple runs.Thus, it can be seen from Fig. 10 that the points on the 50%-summary attainment surface tend to crowd around the regions with small values on the objective I duration , i.e., the density of such regions is much higher than others.
To inspect different trade-offs among the four objectives found by dε-MOEA in one run, one of the 31 Pareto fronts obtained from 31 runs of dε-MOEA was selected randomly.To visually investigate the Pareto front, we give the diagonal plot [47] in Fig. 11.The diagonal plot gives pairwise interactions among the four objective values on the Pareto front, where the axes of any plot can be obtained by finding the corresponding diagonal boxes and their ranges.For instance, the plot at the third row and fourth column has its vertical axis as robustness and horizontal axis as stability.Firstly, it can be observed from the figure   duration vs. stability.For example, a small robustness may correspond to either a small or high stability.There is no solution that can simultaneously optimize all the considered objectives.
Table 10 gives several examples of the objective vectors selected from the Pareto front shown in Fig. 11.A solution may perform very well for one objective, but poorly for some others, such as Solution1 -Solution4.Some solutions may have good (but not the best) values in all objectives, which indicate a good compromise among all the objectives, such as Solution5 -Solution7.The Pareto front produced by dε-MOEA can provide a software manager with better knowledge about various trade-offs among multiple objectives.It is very helpful for him/her to make an informed decision about the best compromise with regards to his/her preference.
Next, we will suggest the process of how a software manager could make a manual choice based on the Pareto front provided by our approach.The tool implementing our proposed approach displays the plot of different trade-offs among the four objectives as in Fig. 11.The software manager could first pick a given range of cost and durations, if these are the objectives that he/she is most interested in.For example, he/she could decide that he/she is more interested in solutions with higher cost and lower duration.So, he/she would select a few solutions with high cost and low duration in the figure of I duration vs.I cost .Then, he/she could check the dif- ferent robustnesses and stabilities of these solutions so that a final choice could be made.Alternatively, the software manager could also choose the schedule automatically suggested by our decision making procedure introduced in Section 4.2.4,if he/she wishes to avoid the manual choice.

CONCLUSION
This paper introduced a novel MOEA-based dynamic scheduling method to regenerate new schedules in response to real-time events and uncertainties in MODPSP.Our first contribution is to capture more of the dynamic features of a real-world PSP than previous work, and formulate the problem with one type of uncertainty and three kinds of dynamic events, including: 1) variations of task efforts; 2) new task arrivals; 3) employee leaves; and 4) employee returns.
Our second contribution is the construction of a mathematical model for MODPSP.In this model, considering the updated project state at each scheduling point, four objectives with respect to the project duration, cost, robustness and stability are optimized simultaneously.In addition, three practical constraints, which are the task skill constraints, no overwork constraints, and the maximum headcount constraints, are considered.
Our third contribution is the design of an MOEAbased proactive-rescheduling method to solve MODPSP.A predictive schedule is generated initially using a proactive scheduling method considering task effort uncertainties.During the project, the previous schedule is revised by a rescheduling method dε-MOEA in response to critical dynamic events.dε-MOEA considers the project duration, cost, robustness and stability simultaneously, and employs heuristic initialization strategies, which exploit dynamic event characteristics and history information so that a new schedule is not regenerated from scratch.Furthermore, new methods to handle the task skill constraints, no overwork constraints, and the maximum headcount constraints are proposed.
Our fourth contribution is a comprehensive experimental study of the newly proposed dε-MOEA.The study is based on three groups of comparisons.The first group compared our proactive scheduling method considering the robustness (ε-MOEA-r) with the method without caring about robustness (ε-MOEA-d).Our analyses confirm that ε-MOEA-r reduces the schedule sensitivity to task effort uncertainties significantly with only a small sacrifice in the project duration and cost under the initial scenario.Meanwhile, better robustness can compensate the worse initial duration and cost.The second group compared our rescheduling method dε-MOEA to the heuristic dynamic scheduling which regenerated a new schedule based on a simple heuristic rule.Our results show that dε-MOEA is very effective in improving the whole project duration and cost, and it is much less sensitive against task effort variances during the dynamic project scheduling process.The third group compared dε-MOEA to state-of-the-art MOEA-based rescheduling methods.Our analyses confirm the benefits that can be obtained by considering robustness and stability together with the project initial efficiency, where project duration and cost deteriorate only slightly when facing task effort uncertainties, and employee assignments and dedications change very little between the new and original schedules, which reduces the potential confusion to both the manager and employees.In addition, these benefits can be produced without severely affecting the initial efficiency.Our results suggest that dε-MOEA outperforms the state-of-the-art dynamic MOEA (dCOEA) for solving MODPSP since it can provide a software manager with a wider range of non-dominated solutions that are much closer to the reference Pareto front.
Although our MODPSP model is an advancement and considers more aspects of reality than previous models, it is still far from capturing all events and factors that can affect project scheduling situations.As indicated in [48] and [49], estimation inaccuracies may be caused by political behaviors, or psychological and economic factors.Our current work assumes that the deviations in effort estimations follow a Gaussian distribution.An empirical validation should be performed to reveal how suitable the Gaussian distribution is to model deviations, and how to best model such deviations.This can be a challenging study that would probably require data collection in terms of deviations in effort estimations obtained during a period of time.After that, our approach could be easily adapted to use such different distributions.In addition, certain factors could also cause the objectives of software scheduling efforts to be affected.
As future work, our approach could be modified to deal with changing objectives by considering them as extra dynamic events to be dealt with.Some methods which can involve the participation of the software manager, such as the interview study for collecting information [48], will be used to get feedback from practitioners on how to improve our approach.Besides, more types of uncertainties and dynamic events which may occur during the project execution, such as changes in the task precedence, addition of new employees to the project, and task cancellations should be considered.More characteristics about tasks and employees, such as the employees' experiences, training courses, and the due-date of each task should also be considered, as well as the relationship between such attributes and the performances of MOEAs on MODPSP need to be further studied.Moreover, a thorough empirical validation in industrial contexts should be performed in order to evaluate the practicality of the approach and to further improve it in terms of how close it is to real software development scenarios.In particular, such empirical validation would allow us to get feedback on the assumptions made by our approach, on additional types of uncertainty and dynamic events to be considered, and on the trade-off between the improvements in cost, duration, robustness and stability provided by our approach and the effort needed to adopt the approach in the real world.
Various dynamic events and factors can affect project scheduling situations, thus future PSP investigations should avoid making simplistic modeling assumptions and simplifications that are not valid in practice.

18 Fig. 1 .
Fig.1.An example of the update of the TPG.
robustness performance, which evaluates the sensitivity of a schedule's quality to task effort uncertainties.The smaller the value of 3 () l ft, the better the robustness performance.

2 ij
 ) is given to reschedule an employee to do a new task.If the employee i e is not assigned to the task j T at -1 l

jT
cannot be reduced to maxhead j T without violating the task skill constraints, then the maximum headcount constraints can be relaxed, but a penalty should be given to the task effort of j T which is introduced in Section 5.2.3.At the scheduling point l t , suppose the team size of j T is () teamsize jl Tt , and the minimum number of available employees who should join j T to satisfy the task skill constraint is

Fig. 2 .
Procedure of dε-MOEA at the scheduling point l t ( 0 l tt  ).
 ) are answered by the software manager a priori.So there are _ ( _ 1) / 2 N o N o  = 4 (4 -1)/2 = 6 comparisons in total in our case.Then the pairwise comparison matrix nine-point scale in Analytic Hierarchy the equal importance; robust- ness and stability are of the equal importance; and the intensity scale of the importance of I duration (or I cost ) over robustness (or stability) is set as the intermediate value between equal importance and weak importance.Thus the pairwise comparison matrix for the four objectives is constructed according to the nine-point scale in AHP: In the worst case, dedication deviations of all the available employees to all the available tasks are

Fig. 4 .
Fig. 4. Pseudo code of the objective evaluation procedure at the scheduling point

Fig. 5 .
Pseudo code of evaluating duration and cost.

Fig. 6
Variations of the project duration and cost obtained by dε-MOEA and h-method with the task effort uncertainties A section of the schedule Gantt chart found by dε-MOEA at different scheduling points

Fig. 7 .
Fig. 7. Comparisons of the schedule Gantt charts produced by dε-MOEA and dε-MOEA-Deterministic in the real-world instance Real_2 ( ij x

Fig. 8 .
Fig. 8. Average HVR comparisons of the five methods at each scheduling point on the MODPSP instance (HVR is to be maximized).

Fig. 9 .
Fig.9.Average GD comparisons of the five methods at each scheduling point on the MODPSP instance (GD is to be minimized).

6. 7
RQ4: Pareto Fronts of the Evolved Schedules at Scheduling Points At each scheduling point, a set of non-dominated solutions were evolved by dε-MOEA.In order to demonstrate the trade-offs among these solutions which a soft-ware manager can utilize in balancing their choices when making a decision about the final schedule, one scheduling point on a real-world instance (Real_3) was selected arbitrarily and taken as an example.At =2.6 l t (month), the employee 10 e leaves, and tasks 4 T to (c) HVR comparisons on the instance sT10_dT10_E5_SK4-5 (with the worst mean value of HVR obtained by dε-MOEA) (c) GD comparisons on the instance sT20_dT10_E5_SK4-5 (with the worst mean value of GD obtained by dε-MOEA) GD comparisons on the instance Real_2 (with the best mean value of GD obtained by dε-MOEA) (b) GD comparisons on the instance sT30_dT10_E15_SK4-5 (with the medium mean value of GD obtained by dε-MOEA) 14

I
cost that the two efficiency objectives are conflicting with each other, since a smaller I duration normally leads to a larger I cost .Secondly, it can be seen from figures I cost vs.robustness and I cost vs.stability that the robustness or stability measure is slightly conflicting with the objective of I cost .When finding solutions that have smaller cost , robustness or stability becomes worse.However, it is hard to determine the relationship from the figures robustness vs. stability, I duration vs. robustness and

3.5 Objectives to be Optimized
) are hard constraints, and constraint (iii) is a soft one.(i) No overwork constraints At the moment of time ' t after the scheduling point l t , the total dedication of an available employee to all the active tasks which are being developed should not exceed his/her maximum dedication to the project, i.e., _ _ ( ) il e e ava set t  , l t' t , s.t. 

1 :
Initialization.Construct the initial population () l Pt using a pop_selection procedure.Step 3: Archive selection.One solution e is chosen from the archive () l Arc t using the archive_selection procedure.Step 4: Variation.Two offspring 1 sc and 2 sc are generated from sp and e by the variation operators.Step 5: Decoding and objective evaluation.Sample a set of task effort scenarios q  at random, 2 sc are included in () l Pt using a pop_acceptance procedure.l Arc t using an archive_acceptance procedure.
is employed here.At time t', if the no overwork constraint for the employee i e is violated, i.e., _ j T , which is being performed at t', is divided by _ nation for this is as follows.In the worst case, tasks are processed one by one.The total dedication for each task is the minimum value rob C is a constant, and we set 100 rob C  here.All the four penalized values are higher than the corresponding objective values of any feasible schedule, since, at l t :

TABLE 6 PERFORMANCE
IMPROVEMENTS (OR DETERIORATIONS) OF ε-MOEA-r OVER ε-MOEA-d AND STATISTICAL TESTS OF THE OVER-ALL PERFORMANCE ON EACH OBJECTIVE ON THE 21 MODPSP INSTANCES AT THE INITIAL TIME (THE POSITIVE VALUE MEANS IM-PROVEMENT AND IS IN BOLD.THE NEGATIVE VALUE MEANS DETERIORATION.THE SIGN OF '+/−/=' IN A VS. B INDICATES THAT AC-CORDING TO THE OVERALL PERFORMANCE ON EACH OBJECTIVE, ALGORITHM A IS SIGNIFICANTLY BETTER THAN B, SIGNIFICANTLY WORSE THAN B, OR THERE IS NO SIGNIFICANT DIFFERENCE BETWEEN A AND B BASED ON THE WILCOXON RANK SUM TEST WITH THE SIGNIFICANCE LEVEL OF 0.05)The values in the parentheses are p-values obtained from Wilcoxon rank sum tests.

TABLE 7 AN
EXAMPLE OF THE DURATION AND COST VARIANCE OBTAINED BY ε-MOEA-d AND ε-MOEA-r IN THE INITIAL AND DISRUPTED SCE-

TABLE 8 AVERAGE
RESULTS, PERCENTAGES OF THE PERFORMANCE IMPROVEMENT, AND THE STATISTICAL TEST RESULTS OBTAINED BY COM-PARING dε-MOEA AGAINST h-method (THE BETTER OF THE PERFORMANCE VALUES ON EACH INSTANCE ARE IN BOLD.THE UNIT OF THE PROJECT DURATION IS MONTH.THE SIGN OF '+/−/=' IN A VS. B INDICATES THAT ACCORDING TO THE PERFORMANCE COMPARED, ALGORITHM A IS SIGNIFICANTLY BETTER THAN B, SIGNIFICANTLY WORSE THAN B, OR THERE IS NO SIGNIFICANT DIFFERENCE BE-TWEEN A AND B BASED ON THE WILCOXON RANK SUM TEST WITH THE SIGNIFICANCE LEVEL OF 0.05).

TABLE 9 COMPARISON
RESULTS SUMMARIZED FROM TABLE B.I (THE PERCENTAGE OF THE 18 RANDOM INSTANCES AND 3 REAL-WORLD IN-STANCES FOR THE STATISTICAL TEST RESULTS OF dε-MOEA VERSUS THE OTHER FOUR METHODS, WHERE THE SIGN OF '+/−/=' IN A VS. B INDICATES THAT ACCORDING TO THE METRIC CONSIDERED, ALGORITHM A IS SIGNIFICANTLY BETTER THAN B, SIGNIFICANTLY WORSE THAN B, OR THERE IS NO SIGNIFICANT DIFFERENCE BETWEEN A AND B BASED ON THE WILCOXON SIGNED-RANK TEST WITH THE SIGNIFICANCE LEVEL OF 0.05)

TABLE 10 SEVERAL
EXAMPLES OF OBJECTIVE VECTORS SELECTED FROM THE AGGREGATED PARETO FRONT AT THE SCHEDULING