3.1. Illustrative Example
In order to introduce the issue of portfolio scheduling, taking into account the loss of competences of project team members, let us consider the following illustrative example shown in
Figure 1. The project portfolio
consists of two projects,
and
, with a known precedence between them. Each project contains several tasks. The
project requires the implementation of tasks
,
and
, while the project
requires tasks
,
,
and
. The completion time of each project is limited by the
time horizon allocated to it. In the case under consideration,
= 4 for the project
, and
= 5 for the project
.
The available team consists of three employees
. The competences of the team members are listed in the
competence structure; see
Table 1.
In general, the competence structure is defined as the matrix
, whose elements
determine the level of competence of the
-th employee for the
-th task, in the
-th moment of time. In the example under consideration,
. In the presented case,
Table 1 means that before starting the implementation of projects (in the 0-th unit of time), the employee doing
has the competence to
task at level 3 (
), to task
at level 4 (
), to task
at level 5 (
), etc. The adopted values of
determine the time of task execution according to the following principle:
According to this principle, for the competence structure from
Table 1, the times of task implementation are given in
Table 2. It shows that, for example, an employee
performs a task
during 2 units, and tasks
during 1 unit, etc.
The assignment of workers to tasks is represented in the form of a matrix , where: , when the employee performs the task of the project in -th moment time; otherwise, . The following rules for assigning employees to the following tasks shall be adopted:
Only one employee can be assigned to one task at a time.
One employee can perform different tasks in the portfolio.
An employee can perform only one task per unit of time.
An example of the assignment of team
P employees to the tasks of set
is presented in
Table 3. This means that in the first moment of time, the employee
performs the task
, the employee
performs the task
and the employee
performs the task
.
According to the learning and forgetting effect, employees who do not provide a specific task lose the knowledge and skills related to it after some period of time. Curves that model this effect are the subject of many studies [
9,
27], in which different shapes are given with different degrees of inclination. For simplicity, we assume that the competence level:
In other words, the level of employees’ competences changes during the implementation of subsequent projects. This means that the allocation
adopted to perform the tasks of portfolio
affects the structure of competences of the employees involved in its implementation. To this end, the concept of competence structure degree
is introduced, which is the sum of competence levels
of the
structure. Consequently, for the
structure in
Table 1, the competence structure degree follows
.
Under the influence of the learning effect and forgetting, the degree of competence structure changes over time, i.e., this degree can:
Decrease to the minimum degree , where —number of employees, —number of tasks and —minimum level of competence.
Increase to the maximum degree , where —number of employees, —number of tasks and —maximum level of competence.
In the present case, and . It is arbitrarily assumed that after the completion of the project portfolio, the degree of competence structure should be (i.e., around 25% of the maximum value).
Assuming these assumptions, an answer to the following question is sought: Is there such a sequence of assignments , , …, that guarantees the execution of the portfolio of projects in the given horizons and while maintaining the degree of competence structure ?
Figure 2 illustrates two examples of project delivery variants, which differ in the method of task assignment, without rotation and with rotation:
In variant (a), the rank was obtained, which corresponds to the situation where employees perform tasks without rotation, i.e., a specific task is carried out by only one employee; for example, a task performs only , a task performs only , etc.
In variant (b), the rank is obtained, which corresponds to the situation where employees perform tasks with rotation, i.e., a specific task is carried out by different employees; for example, a task performs and , a task performs , and , etc.
It follows that without rotation, a lower level of competence structure has been achieved, but this does not threaten the timely implementation of the project portfolio.
The degree of competence structure
proves to be crucial when unplanned events occur during the implementation of projects, hereinafter referred to as disruptions. For example, suppose that the disruption under consideration takes the form of an additional
project (network of activities as shown in
Figure 3), which is expected to start when projects
and
are completed.
An answer to the question is sought: For both early variants’ (a) and (b) implementation of the project portfolio, is it possible to accept an additional project order , while maintaining the level of competence structure ?
In variant (a), the project ends in the eighth unit of time, and the degree
In variant (b), the project ends in the seventh unit of time, and the degree .
This means that the rotation approach enables the implementation of a portfolio of projects and the maintenance of staff competences in the case of new orders. It should be noted that a higher level of competence structure also translates into a reduction in the time of task implementation (compare the shorter time to complete projects in variant (b)).
3.2. Declarative Model Description
The considered problem could be described using the declarative modeling paradigm.
set of tasks, ;
set of planned projects;
set of additional orders (disruptions);
portfolio of projects, , ;
: -th project of portfolio represented by the network of activities: , where is a set of tasks of the project and is a set of arcs defining order relations ;
: latest project completion date ;
: earliest project start date ;
team of programmers,
: the initial structure of competences;
: the initial degree of the competence structure;
: function determining the level of competence of programmers ;
: function determining the time of task project depending on the competence of the employee assigned to it, ;
the expected degree of competence structure.
: schedule for -th project execution, , where —the start of the task from the project;
: assignment of team employees to tasks at moment ;
: competence structure at moment : .
Among the introduced constraints can be distinguished restrictions (1)–(8) describing the relationship between the assignment of employees to tasks and their schedule, as well as restrictions (9)–(11) describing the impact of task assignment on the structure of competences and the impact of the competence structure on the duration of tasks.
3.3. Problem Statement
The presented model allows for answering the following questions:
What change in the level of competence structure of will result in the acceptance of additional orders to the already adopted collection project plan? This occurs in the so-called analysis problem.
Is it possible to accept additional orders for a successful portfolio while maintaining the required level of competence structure ? This occurs in the so-called synthesis problem.
Related problems can be formulated in terms of the following Constraint Satisfaction Problem (CSP):
where:
, a set of decision variables representing schedule
, assignment
and competence structure
;
is a finite set of domains of decision variables;
is a set of constraints specified in inequalities (1)–(11).
To solve problem (12), one should determine such values of decision variables , for which all the constraints given in the set are satisfied. Solving means determining the schedule , assignment and competence structure which guarantees the project portfolio execution with a given level of for occurrence in new projects .
The proposed
CS model (12) is part of an iterative (alternating) method of solving analysis and/or synthesis problems [
20]. The essence of this method is a scheme of alternating approaches. To solve analysis problems, use the question:
For synthesis problems, use the question:
This method was used in the experiments described in the next section.