SPRINT SMEs: A Fuzzy Linguistic 2-Tuple Recommendation Approach for - - PowerPoint PPT Presentation

sprint smes a fuzzy linguistic 2 tuple recommendation
SMART_READER_LITE
LIVE PREVIEW

SPRINT SMEs: A Fuzzy Linguistic 2-Tuple Recommendation Approach for - - PowerPoint PPT Presentation

20th Conference of the International Federation of Operational Research Societies, IFORS 2014, 13-18 July 2014, Barcelona, Spain SPRINT SMEs: A Fuzzy Linguistic 2-Tuple Recommendation Approach for Allocating human Resources in Software Projects


slide-1
SLIDE 1

20th Conference of the International Federation of Operational Research Societies, IFORS 2014, 13-18 July 2014, Barcelona, Spain

SPRINT SMEs: A Fuzzy Linguistic 2-Tuple Recommendation Approach for Allocating human Resources in Software Projects

Vassilis C. Gerogiannis

Associate Professor, Department of Business Administration, Technological Education Institute of Thessaly, Larissa, Greece (gerogian@teilar.gr)

Pandelis Ipsilandis

Professor, Department of Business Administration, Technological Education Institute of Thessaly, Larissa, Greece

http://sprint.teilar.gr/

ARCHIMEDES III Research Programme

slide-2
SLIDE 2

SPRINT-SMEs project

  • SPRINT-SMEs (Dec 2012 - Dec 2015) project is funded by the

R&D programme ARCHIMEDES III (Greek Ministry of Education)

  • Research in Software PRocess ImprovemeNT Methodologies

for Greek Small & Medium sized Software Development Enterprises (http://sprint.teilar.gr/) Project objective: Suggest a framework of methods for the improvement of software development in SW SMEs

slide-3
SLIDE 3

Research problem & aim

  • Introduce a systematic approach for evaluating suitability of human resources to

each software development task that consists of multiple activities.

  • Group-based evaluation from multiple evaluators (project managers).
  • Decision-recommendation has to be made under multiple subjective criteria.
  • Evaluate tasks’ requirements with respect to skills of the available resources.
  • Recommending the “best” human resource is not always optimal. Example:
  • If a task demands “a high skill level for Java” and also “medium experience with

C++”, then we should address both requirements considering their respective required levels of competencies.

  • A resource who matches exactly these criteria is more suitable to the task than

another resource who has very high experience in both Java and C++ (we would waste a resource that could be assigned to a more demanding task).

  • Consider skill-relationships (how previous knowledge on various related skills

contributes to learning required skills).

slide-4
SLIDE 4

Research background and related work

  • F. Herrera and L. Martinez, “A 2-tuple fuzzy linguistic representation model for computing

with words,” IEEE Transactions on Fuzzy Systems, vol. 8(6), 2000, pp. 746-752.

  • V. C. Gerogiannis, A. Karageorgos, L. Liu and C. Tjortjis, “Personalised Fuzzy

Recommendation for High Involvement Products,” IEEE SMC 2013, pp. 4884-4890.

  • X. Liao, Y. Li and B. Lu, “A model for selecting an ERP system based on linguistic

information processing,” Information Systems, vol. 32(7), 2007, pp. 1005-1017.

  • M. Li, L. Liu and C-B. Li, “An approach to expert recommendation based on fuzzy linguistic

method and fuzzy text classification in knowledge management systems,” Expert Systems with Applications, vol. 38(7), 2011, pp. 8586-8596.

  • L. D. Otero, G. Centeno, A. J. Ruiz-Torres and C. E. Otero, “A systematic approach for

resource allocation in software projects”, Computers & Industrial Engineering, 56(4), 2009,

  • pp. 1333–1339.
  • L. D. Otero and C. E. Otero, “A fuzzy expert system architecture for capability assessments

in skill-based environments”, Expert Systems with Applications, 39(1), 2012, pp. 654–662.

  • D. A. Callegari and R. M. Bastos, “A Multi-criteria Resource Selection Method for Software

Projects Using Fuzzy Logic”, Enterprise Information Systems, Lecture Notes in Business Information Processing, Vol. 24, 2009, pp. 376-388.

  • M. Ande, M. G. Baldoquνn and S. T. Acuρa, “Formal model for assigning human resources

to teams in software projects”, Information and Software Technology, 53(3), 2011, pp. 259– 275.

slide-5
SLIDE 5

Our solution in SPRINT-SMEs

  • Adoption of a fuzzy linguistic description approach based on 2- tuple fuzzy

linguistic representation / computation approach.

  • The 2-tuple fuzzy linguistic approach is a continuous model that carries out

“computing with words”, namely it processes descriptions without losing information.

  • The solution adopts a group and similarity degree-based aggregation

algorithm to obtain an objective aggregation of the ratings of required task related skills and provided skills from the available human resources.

  • The suggested solution also evaluates and handles skill relationships as 2-

tuple fuzzy linguistic terms.

slide-6
SLIDE 6

SPRINT-SMEs approach for evaluating / allocating human resources in SW development tasks

Group-based linguistic evaluation of required skills (by using 2-tuple fuzzy variables) Aggregation of different skills’ evaluations (by following a similarity degree-based technique) Calculation of an aggregated rating of importance for each required skill Evaluation of task requirements (with respect to the required skills) Linguistic evaluation of the capabilities (suitability) of available human resources Consideration of skills’ relationships Re-evaluation of the capabilities of human resources (by considering the skills’ relationships)

1. 2. 3. 4. 5. 6. 7.

slide-7
SLIDE 7

Step 1: 2-tuple fuzzy linguistic evaluation of required skills for each task activity

  • We assume that a sw development task is comprising of

a set of activities.

  • Project managers define levels of skills required for

each task activity. Skill requirements are expressed in qualitative form (by utilizing 2-tuple fuzzy linguistic terms).

  • A 2-tuple linguistic variable is denoted as (si, ai). si

corresponds to the central value of the ith linguistic term in a term set and ai [-0.5,0.5) is the distance from si.

  • Managers may use a common label set s = {s0, s1, …,

sg}.

  • By using the transformation function θ for 2-tuple fuzzy

terms the linguistic evaluations of skills are transformed into 2-tuples of the form (si, 0):

  • In case of using different label sets, evaluations can be

transformed into a homogeneous linguistic term set.

slide-8
SLIDE 8

Example

Required skills/competencies Evaluator - project manager (weight of importance) Activities OO design C++ VB Java ε1 (1/3) X1 H(4,0) L(2,0) VL(1,0) VVH(6,0) X2 VL(1,0) VL(1,0) VH(5,0) VL(1,0) X3 VH(5,0) VH(5,0) L(2,0) L(2,0) X4 L(2,0) VVH(6,0) VL(1,0) VL(1,0) Activities OO design C++ VB Java ε2 (1/3) X1 VVH(6,0) VL(1,0) M(3,0) VH(5,0) X2 VVL(0,0) VL(1,0) VVH(6,0) L(2,0) X3 VVH(6,0) M(3,0) L(2,0) VL(1,0) X4 H(4,0) VH(5,0) VL(1,0) VL(1,0) Activities OO design C++ VB Java ε3 (1/3) X1 VVH(6,0) VVL(0,0) M(3,0) M(3,0) X2 VL(1,0) L(2,0) VH(5,0) L(2,0) X3 VVH(6,0) VVH(6,0) L(2,0) VL(1,0) X4 VH(5,0) VH(5,0) L(2,0) VVL(0,0)

slide-9
SLIDE 9

Step 2: Similarity degree-based aggregation of skills’ assessments

  • The aim is to derive an objective assessment for required

skills.

  • We have to consider not only the relative importance level εk
  • f each project manager, but also similarities in managers’

evaluations.

slide-10
SLIDE 10

Step 2.1: Calculate of the similarity degree

A similarity degree value

) (

l ij k ij ,X

X sim

(0,1] is calculated between any two skills’ assessments provided by any two managers ek and el (k≠l, k = 1,2…, K, l = 1,2…, K) for an activity Xi (i = 1,2,…,m) with respect to the skill/competency cj (j = 1,2,…,n). To calculate the similarity degree value, the distance between

k ij

x and

l ij

X evaluations is

computed:

) ( ) (

1 1 l ij k ij

X X

 

  

The closer the similarity degree to 1, the more similar are the evaluations of any two managers for the same activity with respect to a particular skill. The similarity degree value

) (

l ij k ij ,X

X sim

is computed (g is the granularity of the used linguistic term set): ) (

l ij k ij,X

X sim

=1 - g X X

l ij k ij

) ( ) (

1 1  

  

slide-11
SLIDE 11

Basic terminology for 2-tuple fuzzy linguistic variables

1 

 is the reverse function (of a translation function) that transforms a 2-tuple linguistic

variable into its equivalent numerical value. Given a linguistic term set S={s0, s1,…,sg}, β[0,g] is a number representing the aggregation result of a symbolic aggregation operation. Let i = round(β) and α = β-i be two values such that i[0,g] and a[-0.5,0.5),

  • respectively. The number a is called a symbolic translation.

The 2-tuple that expresses the equivalent information with β results from the translation function Δ:

 

            0.5.05

  • a

i, round i s a s S g

i i

      ) ( , ) , ( ) ( ) 5 . , 5 . [ ] , [ :

A 2-tuple linguistic variable can be transformed into an equivalent number β  [0,g] by the reverse function

1 

 :

         

i a s g S

i

) , ( ] , [ ) 5 . , 5 . [ :

1

slide-12
SLIDE 12

Example

Project Manager Ratings of Skills Activity OO Design (c1) e1 X2 VL(VL,0)=(1,0) e2 X2 VVL(VVL,0)=(0,0) e3 X2 VL(VL,0)=(1,0)

 ) (

2 21 1 21,X

X sim

g X X ) ( ) ( 1

2 21 1 1 21 1  

   

83 . 6 1 1    

6  g

slide-13
SLIDE 13

Step 2.2: Calculate the average similarity degree and the relative similarity degree

The average similarity degree

) ( k

ij e

SM

and the relative similarity degree

) ( k

ij e

RSM

are calculated for each manager ek, regarding all evaluations of activity Xi with respect to skill cj :

 

  

  

K l l ij k ij k ij K k l l l ij k ij k ij

e SM e SM e RSM K X X sim e SM

1 , 1

) ( ) ( ) ( , 1 ) , ( ) (

92 . 1 3 1 83 . 1 ) , ( ) , ( ) (

3 21 1 21 2 21 1 21 1 21

       K X X sim X X sim e SM 83 . 1 3 83 . 83 . 1 ) , ( ) , ( ) (

3 21 2 21 2 21 1 21 2 21

       K X X sim X X sim e SM 92 . 1 3 83 . 1 1 ) , ( ) , ( ) (

3 21 2 21 3 21 1 21 3 21

       K X X sim X X sim e SM 34 . 92 . 83 . 92 . 92 . ) ( ) ( ) ( ) ( ) (

3 21 2 21 1 21 1 21 1 21

       e SM e SM e SM e SM e RSM

Example:

slide-14
SLIDE 14

Step 2.3: Calculate an importance weight of each assessment of each manager

  

K l k ij l k ij k k ij

e RSM e RSM w

1

)) ( ( ) (  

Assuming equal importance levels (weights) for the three managers, the equation results in a value equal to the relative similarity degree.

slide-15
SLIDE 15

Step 3: Compute aggregated ratings for skills

The final (aggregated) rating FXij for an activity Xi with respect to a skill cj is computed by applying the weighted average operator on the linguistic evaluations of the activities and using as weights the previously calculated importance weights of the assessments:

The objective aggregation for all activities’ ratings is computed by utilizing the weighted average operator

  • f fuzzy linguistic 2-tuples.

For a set of linguistic 2-tuples {(s1, a1), (s2, a2),…, (sn, an)} and their corresponding weights (w1, w2,…, wn), the 2-tuple weighted average operator is computed:

                              

   

     n l i n l i i n l i n l i i i

w w β w w a s

1 1 1 1 1

) , (   

               

 

   K l k ij K l l ij l ij l ij ij

w w a X X F

1 1 1

) , (  

slide-16
SLIDE 16

Example

1 ) ( , ) ( , 1 ) (

3 21 1 2 21 1 1 21 1

  

  

X X X   

 

) 32 . , ( ) 32 . , 1 ( 68 . 34 . 32 . 34 . 34 . 1 32 . 34 . 1                    VL X F

21

 

slide-17
SLIDE 17
  • Activities compose a development task.
  • The task required skills are derived as a vector of

linguistic 2-tuples.

  • To calculate the task required skills, the (previously

calculated) aggregated rating of skills and the importance degree Ii of each task activity Xi , are considered in the weighted average operator. Step 4: Evaluate task requirements (with respect to the required skills)

slide-18
SLIDE 18

Example

Importance degree of each task activity OO design C++ VB Java VL (1,0) X1 5.428571429 1 2.428571 4.75 L (2,0) X2 0.6875 1.3125 5.3125 1.6875 M (3,0) X3 5.6875 4.75 2 1.3125 VVH (6,0) X4 3.75 5.3125 1.3125 0.6875 OO design C++ VB Java X1 (5, 0.43) (1, 0) (2, 0.43) (5, -0.25) X2 (1, -0.31) (1, 0.31) (5, 0.31) (2, -0.31) X3 (6, -0.31) (5, -0.25) (2, 0) (1, 0.31) X4 (4, -0.25) (5, 0.31) (1, 0.31) (1, -0.31) OO design C++ VB Java Task Required Skills 3.87 4.14 2.24 1.34 4 4 2 1

  • 0.13

0.14 0.24 0.34 Task Required Skills (H, -0.13) (H, 0.14) (L, 0.24) (VL, 0.34)

slide-19
SLIDE 19
  • Repeat steps 1-3 to consider and evaluate (objectively)

the capabilities/suitability of available human resources (with respect to the task required skills). Step 5: Evaluation of the level of knowledge of available resources (with respect to the task required skills)

slide-20
SLIDE 20

Example

Required skills/competencies Evaluator

  • project manager

(weight of importance) Human Resource OO design C++ VB Java ε1 (1/3) R1 VL(1,0) L(2,0) H(4,0) VH(5,0) R2 VL(1,0) VL(1,0) VH(5,0) L(2,0) R3 M(3,0) VH(5,0) H(4,0) L(2,0) R4 VH(5,0) VVH(6,0) VL(1,0) VL(1,0) OO design C++ VB Java ε2 (1/3) R1 L(2,0) VL(1,0) VH(5,0) M(3,0) R2 VL(1,0) VL(1,0) H(4,0) L(2,0) R3 H(4,0) VH(5,0) L(2,0) VL(1,0) R4 VVH(6,0) VH(5,0) VL(1,0) VL(1,0) OO design C++ VB Java ε3 (1/3) R1 VL(1,0) VVL(0,0) VH(5,0) L(2,0) R2 VVL(0,0) VL(1,0) VH(5,0) L(2,0) R3 L(2,0) VVH(6,0) M(3,0) VL(1,0) R4 VH(5,0) VH(5,0) VL(1,0) VVL(0,0)

slide-21
SLIDE 21

Example

Task Required Skills Human Resource OO design C++ VB Java (4, -0.13) = (H, -0.13) 3.87 R1 (1, 0.31) (1, 0) (5, -0.31) (3, 0.25) (4, 0.14) = (H, 0.14) 4.14 R2 (1, -0.31) (1, 0) (5, -0.31) (2, 0) (2, 0.24) = (L, 0.24) 2.24 R3 (3, 0) (5, 0.31) (3, 0) (1, 0.31) (1, 0.34) = (VL, 0.34) 1.34 R4 (5, 0.31) (5, 0.31) (1, 0) (1, -0.31) R1 R2 R3 R4 Resource Capabilities 2.07 1.73 3.64 3.94 2 2 4 4 0.07

  • 0.27
  • 0.36
  • 0.06

Resource Capabilities (L, 0.07) (L, -0.27) (H, -0.36) (H, -0.06)

  • To compute the capability/suitability of each resource the

(previously calculated) task required skills are considered as weights in the weighted average operator.

slide-22
SLIDE 22
  • Consider

skill relationships (how much knowledge/capability on each skill contributes to the improvement (via learning) of another skill).

  • Each manager constructs a skill-relationships table

(where skill relationships are expressed in linguistic terms).

  • Repeat steps 1-3 to express (in linguistic terms) and

evaluate (objectively) possible skill relationships. Step 6: Consider skill relationships

slide-23
SLIDE 23

Example

Required skills/competencies Evaluator

  • project manager

(weight of importance) OO design C++ VB Java ε1 (1/3) OO design

  • VH(5,0)

M(3,0) VH(5,0) C++ VVH(6,0)

  • L(2,0)

VH(5,0) VB L(2,0) M(3,0)

  • L(2,0)

Java H(4,0) VH(5,0) VL(1,0)

  • OO design

C++ VB Java ε2 (1/3) OO design

  • H(4,0)

L(2,0) VH(5,0) C++ H(4,0)

  • M(3,0)

H(4,0) VB L(2,0) L(2,0)

  • VL(2,0)

Java H(4,0) H(4,0) M(3,0)

  • OO design

C++ VB Java ε3 (1/3) OO design

  • VVH(6,0)

M(3,0) VH(5,0) C++ VVH(6,0)

  • M(3,0)

VH(5,0) VB VL(1,0) M(3,0)

  • VL(1,0)

Java VVH(6,0) H(4,0) M3,0)

slide-24
SLIDE 24

Example

Required skills/competencies OO design C++ VB Java OO design

  • (5,0)=(VH,0)

(3,-0.31)=(M,-0.31) (5,0)=(VH,0) C++ (5,0.43)=(VH,0.43)

  • (3,-0.31)=(M,-0.31)

(5,-0.31)=(VH,-0.31) VB (2,-0.31)=(L,-0.31) (3,-0.31)=(M,-0.31)

  • (2,-0.31)=(L,-0.31)

Java (5,-0.43)=(VH,-0.43) (4,0.31)=(H,0.31) (2,0.43)=(L,0.43)

  • Re-compute the capability/suitability of each resource by

considering the (previously calculated) task required skills as weights in the weighted average operator.

slide-25
SLIDE 25
  • Compute a new value for capability/suitability of each

human resource on each required skill as the maximum value between:

  • the previously calculated capability on that skill
  • the weighted average contribution on that skill from
  • ther skills

Step 7: Re-evaluate the capabilities/suitability of human resources (by considering skill relationships)

slide-26
SLIDE 26

Human Resource OO design C++ VB Java R1 1.31 1 4.687 3.25 R2 0.687 1 4.687 2 R3 3.0 5.31 3 1.31 R4 5.31 5.31 1 0.687

Example

Human Resource OO design C++ VB Java R1 2.4124809 2.7646484 4.6875 3.25 R2 1.92355806 2.055013 4.6875 2 R3 3.41405653 5.3125 3.271239 3.952953 R4 5.3125 5.3125 3.873141 4.672734

max(1.31; (1 x 5.43 + 4.687 x 1.69 + 3.25 x 4.57)/( 5.43 + 1.69 + 4.57)) = 2.4124809 OO design C++ VB Java OO design

  • 5

2.69 5 C++ 5.43

  • 2.69

4.69 VB 1.69 2.69

  • 1.69

Java 4.57 4.31 2.43

slide-27
SLIDE 27

Example

Task Required Skills Human Resource OO design C++ VB Java (4, -0.13) = (H, -0.13) 3.87 R1 2.4124809 2.7646484 4.6875 3.25 (4, 0.14) = (H, 0.14) 4.14 R2 1.92355806 2.055013 4.6875 2 (2, 0.24) = (L, 0.24) 2.24 R3 3.41405653 5.3125 3.271239 3.952953 (1, 0.34) = (VL, 0.34) 1.34 R4 5.3125 5.3125 3.873141 4.672734 R1 R2 R3 R4 Re-evaluated Resource Capabilities 3.08 2.51 4.13 4.96 3 3 4 5 0.08

  • 0.49

0.13

  • 0.04

Resource Capabilities (by considering skill relationships) (M, 0.8) (M, -0.49) (H, 0.13) (VH, -0.04) Previous Resource Capabilities (without considering skill relationships) (L, 0.07) (L, -0.27) (H, -0.36) (H, -0.06)

slide-28
SLIDE 28

Conclusions & future work

  • Presentation of a fuzzy linguistic description approach based on 2- tuple

fuzzy linguistic terms to evaluate human resources in sw development tasks.

  • The approach has been implemented in MS Excel.
  • It follows a group and similarity degree-based aggregation algorithm to obtain

an objective aggregation of the ratings of required task related skills and provided skills from the available human resources.

  • It evaluates and handles skill relationships as 2-tuple fuzzy linguistic terms.
  • Future work:
  • Determine resource teams based on substitution and complementarity

associations between human resources.

  • Support the allocation of human resources to development tasks e.g., by

performing multi-objective optimization (according to budget and availability constraints).