Abstract
Task execution duration depends on the employee who performs the task. Specifically in IT projects, an experienced employee can perform assigned tasks several times faster than a novice worker can. Preparing the schedule, project manager should take into account individuals’ productivity determined by analyzing historical data of tasks implementation. Consequently, measured productivity is used in preparing the schedule in an optimal manner (minimizing the time needed to complete project tasks by a team of workers with different skills). As an extension of previous studies the authors formulate a linear programming problem including the possible cooperation of employees with tasks execution. The result of the conducted research is a complete package supporting project managers in determining productivity and scheduling.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
One of the most important task for project managers is to prepare the schedule. To arrange an optimal schedule the manager must have knowledge of tasks structure and their workload. Tasks structure is based on the execution order, determining predecessors and successors of each task. Workload is defined as the standard time needed to complete each task [1, 5, 6, 9,10,11,12,13,14]. In many works the authors consider the situation where co-operators are allowed [2,3,4]. However, it is not assumed that co-operation is not additive. In addition, co-operation does not reduce the costs, but shorten the execution time of a set of tasks. In this paper is considered exactly such a problem.
In fact, duration of the task execution depends on the employee who performs the task. In many situations, experience and skills of workers can result in significant differences in the execution time of tasks. According to the conducted research, an experienced employee can perform assigned tasks several times faster than a novice worker.
The manager usually has a team composed of both experienced and novice staff. Therefore, it is crucial which worker will perform a given task. The correct assignment of the task performers can result in a significant shortening duration of the overall project.
In practice, the knowledge about the productivity of each team member increases with the development time. If the manager is able to measure productivity, he can reschedule next stages of the project in a way to achieve optimal results. Therefore, the toolkit of a project manager must be equipped with computer-aided tools, allowing him/her to prepare the schedule as a result of a defined optimization problem. Preparing the schedule project manager should take into account individuals’ productivity determined by analyzing historical data of tasks implementation. Consequently, measured productivity is used in preparing the schedule in an optimal manner (minimizing the time needed to complete project tasks by a team of workers with different skills).
In the article we assume scheduling of the project on the understanding that employees can cooperate and divide daily working time between tasks. It means that a task can be performed by more than one worker at the same time and a worker can perform more than one task at a time.
2 Mathematicl Model
2.1 The Problem Formulation
We assume that:
- \( R = \left\{ {1,2,3, \ldots ,r, \ldots ,R} \right\} \) :
-
- is a set of numbers of the project task types
- \( Z = \left\{ {1,2,3, \ldots ,z, \ldots ,Z} \right\} \) :
-
- is a set of numbers of project tasks
The types of project tasks, that have to be performed, can be described by the vector:
where \( r_{z} \) - is the number of the type of the z-th task, \( r_{z} \in R,z \in Z. \)
The task performance time is defined as an average time needed to perform the task by a worker without special skills. This time is called the reference time. The reference time is used to determine the task performance time of more qualified worker. The reference times for project tasks can be described by the vector:
The project tasks can include information about the need to perform other tasks before you started current task. Predecessors can be described by a matrix
where
For the description of workers we assume that
\( P = \left\{ {1,2,3, \ldots ,p, \ldots ,P} \right\} \) – set of number of employees, to be taken into account in the tasks execution.
The suitability for performance of specific types of tasks can be defined for each employee. Let it be described by following matrix
where
The productivity of individual employees is different during the performance of different types of tasks. The difference in productivity of a given employee at a particular type of task is defined by a coefficient \( \beta \), that represents how many standard time units assigned to perform a particular task the worker performs in one unit of his working time. Thus, the effectiveness of workers in the tasks of different types is defined by vector
Of course, if the p-th employee is not suitable for the task of r-type, which is defined in the matrix \( U \): \( u_{pr} = 0 \), then there is also equality \( \beta_{pr} = 0 \).
Taking into account the productivity of the employee, the time for the task by the p-th worker (provided that the employee p suited to this type of task, namely \( \beta_{pr} > 0,\,u_{pr} = 1 \)) is:
where
2.2 Decision Variables
The decision relating to the project schedule is described by matrix-vector:
where:
and
and
\( x^{\prime}_{pz} \) can also be represented using binary variables \( x^{\prime}_{pzl} \), and then becomes:
2.3 Problem Constraints
CA: each task must be completed by exactly one worker
CB: each worker has to perform at least one task
CC: task precedence must be taken into account
The condition that the task \( z^{{\prime \prime }} \) must precede task \( z^{{\prime }} \) can be written as follows:
for \( z^{{\prime }} ,z^{{\prime \prime }} \in Z,z^{{\prime }} \ne z^{{\prime \prime }} \)
CD: the worker cannot work more than \( \varvec{l}_{\varvec{p}} \) (i.e. 8) hours per day
To check the condition that the employee does not work more than eight hours a day, for each of the individual tasks, check for all tasks occurring at the time of its initiation, if the amount of time spent per day on their implementation does not exceed eight hours.
To select tasks that are performed at the start time of another task it should be noted that the task \( z^{{\prime }} \) continues at the start time of the task \( z^{{\prime \prime }} \) if each of the following inequalities is true:
Where inequality \( \left( {\text{CDA}} \right) \) means that the task \( z^{{\prime }} \) begins earlier than the task \( z^{{\prime \prime }} \) and inequality \( \left( {\text{CDB}} \right) \) means that the task \( z^{{\prime \prime }} \) begins at the time the task \( z^{{\prime }} \) lasts.
The way to check if the inequality \( \sum\nolimits_{j} {a_{j} x_{j} \le b} \) is satisfied in [15].
Inequality \( \tau_{{z^{{\prime }} }} \le \tau_{{z^{{\prime \prime }} }} \) is equal to \( \tau_{{z^{{\prime }} }} - \tau_{{z^{{\prime \prime }} }} \le 0 \), and the inequality \( \left( {\text{CDA}} \right) \) becomes:
where \( m \) and \( M \) are, respectively, the lower and upper bound of the expression \( \left( {\tau_{{z^{{\prime }} }} - \tau_{{z^{{\prime \prime }} }} } \right) \) and \( \varepsilon \) is a small number that causes the failure of inequality.
If the set of all possible occurrences of the expression \( \left( {\tau_{{z^{{\prime }} }} - \tau_{{z^{{\prime \prime }} }} } \right) \) is defined as:
then the lower and upper bound should be considered as such values of \( m \) and \( M \), that satisfy the inequalities:
After applying these transformations indicator variable \( e_{{z^{{\prime }} z^{{\prime \prime }} }}^{1} = 1 \), when the inequality. \( \left( {CDA} \right) \) is satisfied.
The way to check if the inequality \( \sum\nolimits_{j} {a_{j} x_{j} \ge b} \) is satisfied in [15].
Inequality \( \tau_{{z^{{\prime }} }} + c_{{z^{{\prime }} }} \ge \tau_{{z^{{\prime \prime }} }} \) can also be written as \( \tau_{{z^{{\prime }} }} - \tau_{{z^{{\prime \prime }} }} + c_{{z^{{\prime }} }} \ge 0 \).
In addition, substituting \( c_{z '} = \sum\nolimits_{p = 1}^{P} {\frac{{c_{{z^{{\prime }} }}^{w} }}{{\beta_{{pr_{{z^{{\prime }} }} }} }} \cdot x_{{pz^{{\prime }} }} } \) inequality can be written as
and then we have constraints in the form of:
That means that \( e_{{z^{{\prime }} z^{{\prime \prime }} }}^{2} = 1 \), when the inequality \( \left( {\text{CDB}} \right) \) is satisfied.
If \( l_{p} \) is the number of allowable hours of work per day for a p-th worker, then:
In the further considerations it is necessary to use binary variables. Thus \( x^{\prime}_{pz} \) can be written as:
and after substitution:
It should be noted that the sum is over all \( z \), also for the case where \( z^{{\prime }} = z^{{\prime \prime }} \).
It is a non-linear inequality. Linearization method for such inequalities is described in [15]. Let \( y^{\prime}_{{pz^{{\prime }} z^{{\prime \prime }} l}} = e_{{z^{{\prime }} z^{{\prime \prime }} }}^{1} \cdot e_{{z^{{\prime }} z^{{\prime \prime }} }}^{2} \cdot x^{\prime}_{{pz^{{\prime }} l}} \) . We then have:
With additional constraints defined as:
After this transformation, we obtain the linear inequalities.
2.4 Objective Function
We have the objective function:
and optimization problem:
So we have:
what can be replaced with a linear optimization problem:
- \( \mathop {\hbox{min} }\limits_{{X,T,X^{\prime}}} g \) :
-
- new linear objective function
- \( g \ge \tau_{Z} + c_{Z} ,z \in Z \) :
-
- additional constraint
or, considering that:
we have additional constraint as follow:
2.5 Optimization Problem
Accordingly, the full optimization problem is as follows:
subject to
3 Comparison of Scheduling and Without Scheduling Cooperation
Below provides results of sample solutions of the task of determining the schedule for versions with and without the cooperation of employees [1, 5, 6, 9,10,11,12,13,14]. The solution of the same problem in two versions gives you the opportunity to direct comparison of results.
The problem with no cooperation is described in detail in [7]. Let us compare the scheduling results concerning cooperation possibility described in the current article with the results based on the scheduling model described in [7].
For evaluation of the method for determining the optimal allocation of workers to the tasks let us consider the following case.
Let 3 equally complex design tasks will be performed by 2 employees of equal productivity. Individual tasks do not depend on each other, and so they can be performed at the same time and in any order. The workload for each task is 8 h, and the productivity of each worker is 1.
3.1 Case #1. Scheduling with no Cooperation
Let us consider the case where the cooperation of employees in carrying out the task is not allowed. The results of the calculations for such case is shown in the following table and is described in the Gantt chart and resource load chart. (Table 1, Figs. 1 and 2)
On the resource load chart, it is shown the usage of the two employees labeled with different colors. The upper course of the graph for the selected worker means that the worker is working on a task, the lower - means that an employee at a given time is not used for the implementation of any task.
3.2 Case #2. Scheduling with Cooperation
Let us consider the case where the cooperation of employees in carrying out the task is allowed.
The results of the calculations for such case is shown in the following table and is described in the Gantt chart and resource load chart. (Table 2, Figs. 3 and 4)
Just like before, on the resource load chart, it is shown the usage of the two employees labeled with different colors. The upper course of the graph for the selected worker means that the worker is working on a task, the lower - means that an employee at a given time is not used for the implementation of any task.
Assuming the cooperation opportunities of workers in the implementation of the design tasks, significant reduction of the overall duration time and a better use of resources is achieved. Employees are equally loaded throughout the duration of the project.
4 Conclusion
The mathematical model followed by formulation of optimization problems has been developed for the purpose of a schedule creation. Productivity of project team members is taken into account in the model. The authors designed and built software that formulates a linear programming problem based on a mathematical model. The problem is then solved using numerical methods. The result of the conducted research is a complete IT solution package supporting project managers in determining productivity and scheduling.
As for the further research it is worth to examine the possibility to prepare models for other variants of the problem, as far as to rebuild the model in a way that could use the estimation of the future productivity. Furthermore, the impact of differentiation of the software development processes on the productivity is also worth researching.
References
Brucker, P.: Scheduling Algorithms. Springer, Heidelberg (2007)
Chen, Z.L., Hall, N.G.: Supply chain scheduling: conflict and cooperation in assembly systems. Oper. Res. 55(6), 1072–1089 (2007)
Calleja, P., Estévez-Fernández, A., Borm, P., Hamers, H.: Job scheduling, cooperation, and control. Oper. Res. Lett. 34(1), 22–28 (2006)
Chryssis, G., Russell, A., Shvartsman, A.A.: Work-competitive scheduling for cooperative computing with dynamic groups. SIAM J. Comput. 34(4), 848–862 (2005)
El-Rewini, H., Lewis, T.G., Ali, H.H.: Task Scheduling in Parallel and Distributed Systems. Prentice Hall Series in Innovative Technology, Upper Saddle River (1994)
Janiak, A.: Scheduling in Computer and Manufacturing Systems. WKŁ Publisher, Warsaw (2006)
Nowicki, T., Waszkowski, R.: The method for solving productivity oriented scheduling problem. Research in Logistics and Production, Poznan University of Technology (2013)
Nowicki, T.: Linear Mixed Equivalent of a Stochastic Scheduling Problem with Different Processors. Biul. WAT/4/1994 (1994)
Nowicki, T.: Stochastic bi-objective scheduling problem in a multiprocessor computer system. In: The 5’th International Workshop on Project Management and Scheduling. 11–13 April 1996, Poznań (1996)
Pinedo, M.L.: Scheduling. Theory, Algorithms and Systems. Springer, New York (2008)
Pinedo, M.L.: Scheduling. Planning and Scheduling in Manufacturing and Services. Springer, New York (2005)
Pochet, Y., Wolsey, L.A.: Production Planning by Mixed Integer Programming. Springer, New York (2005)
Simchi-Levi, D., Chen, X., Bramel, J.: The Logic of Logistics. Springer, New York (1997)
Sinnen, O.: Task Scheduling for Parallel Systems. Willey, Hoboken (2006)
Waszkowski, R.: Methods and Tools for Productivity Evaluation in IT Projects. Doctoral Disertation, WAT, Warszawa (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 IFIP International Federation for Information Processing
About this paper
Cite this paper
Nowicki, T., Waszkowski, R. (2017). Productivity Oriented Cooperative Approach to Scheduling IT Project Tasks. In: Saeed, K., Homenda, W., Chaki, R. (eds) Computer Information Systems and Industrial Management. CISIM 2017. Lecture Notes in Computer Science(), vol 10244. Springer, Cham. https://doi.org/10.1007/978-3-319-59105-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-59105-6_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-59104-9
Online ISBN: 978-3-319-59105-6
eBook Packages: Computer ScienceComputer Science (R0)