SlideShare a Scribd company logo
Practical Human Resource Allocation in Software
Projects Using Genetic Algorithm
Jihun Park, Dongwon Seo, Gwangui Hong,
Donghwan Shin, Jimin Hwa, Doo-Hwan Bae
KAIST, South Korea
SEKE 2014
Outline
• Introduction
• Problem Definition
• Practical Considerations
• Genetic Algorithm for Human Resource Allocation
• Case Study
• Related Work
• Conclusion
• Discussion
2
Introduction
• Software planning is becoming more complicated as
the size of software project grows.
• Software project managers can significantly benefit
from the human resource allocation technique.
• Existing human resource allocation approaches only
focused on minimizing the project cost.
Research Goal
• We elicit the practical considerations on human
resource allocation problem with a group of software
project experts.
• We then suggest a novel Genetic Algorithm (GA)
satisfying the practical considerations.
4
Problem Definition
• Tasks
– Defined by type, effort, and precedence relationship
• Developers
– Defined by staff level and ability level.
5
Task A
Task B
Task C
Task D
Task E
Task F
Task information
Task Name Task F
Task Type Test
Effort needed 200 MH
Preceding Tasks Task C, Task E
Name
Staff
level
Analy
sis
… Test
Engin
eer
0.7 1.0
Mana
ger
1.0 1.2
Direct
or
1.5 0.8
Problem Definition
• Tasks
– Defined by type, effort, and precedency relationship
• Developers
– Defined by staff level and ability level.
Task A
Task B
Task C
Task D
Task E
Task F
Task information
Tom
Jane
April
Developer information
Problem Definition
• Tasks
– Defined by type, effort, and precedency relationship
• Developers
– Defined by staff level and ability level.
Task A
Task B
Task C
Task D
Task E
Task F
Name
Staff
level
Analy
sis
… Test
Engin
eer
0.7 1.0
Mana
ger
1.0 1.2
Direct
or
1.5 0.8
Tom
Jane
April
Developer information
Task information
Developer Assignment
Practical considerations
• Eliciting practical considerations with a group of
software experts from..
– Military research and development company
– Software process consulting company
– University
8
C1. Short project
plan
The basic objective of human resource allocation.
The plan should be finished within minimum timespan.
C2. Minimization of
multitasking time
If a developer work for multiple tasks at the same time,
productivity will decrease.
C3. Assignment on
relevant tasks
Assigning a developer to both of pre-task and post-task is
efficient in terms of minimizing the context-switching cost.
C4. Balance of
allocation
Task size and staff level should be considered in the
allocation.
Genetic Algorithm
• Evolutionary search-based algorithm
9
Representation
Selection
Crossover
Mutation
Representing an assignment result as a chromosome.
Selecting good chromosomes among the population.
Making a new chromosome from two parent chromosomes.
Mutating a chromosome to maintain genetic diversity.
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
gene1 gene2 gene3 gene4
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
t1 {d1} t2 {d2, d3, d4} t3 {d1,d2, d3} t4 {d3, d5}
How chromosomes evolve?
Initial population
(randomly generated)
nth generation
Selection Crossover Mutation
2nd generation
…
A population has
population_size chromosomes
Generation_countth
generation
…
Pick the best one.
Representation
• Each gene contains a task and a set of developers.
– Gene n represents a set of developers assigned to the task n
11
t1 {d1} t2 {d2} t3 {d1,d2, d3} t4 {d3}
gene1 gene2 gene3 gene4
Task 1
Task 2 Task 3
Task 4
d1
d2
d3
Task and developer information
An example of chromosome representation
Assignment example of the chromosome
Selection
• Each chromosome is evaluated by fitness function
• Elitism selection
– Keep the best chromosome until the next generation.
• Tournament selection
– Select two parent chromosome for a new chromosome.
…
Fitness score: 0.9
Fitness score: 0.87
Fitness score: 0.76
Fitness score: 0.6
Elitism selection
Keep the fittest
chromosome to
the next generation.
Randomly select k chromosomes
Pick two fittest chromosomes as parents
Tournament selection
Crossover
• Uniform crossover
– Using parent chromosomes which are selected by
tournament selection process.
– Generating a new chromosome for the next generation.
– Randomly taking a gene among two genes from the parents.
13
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
t1 {d2, d3} t2 {d1} t3 {d1,d5} t4 {d1, d3, d5}
c1 :
t1 {d1} t2 {d1} t3 {d1, d2, d3} t4 {d1, d3, d5}
0.3 0.6 0.15 0.8
c2 :
cnew :
Random number :
Mutation
• With a certain probability of the mutation (mutation
rate), each gene is mutated.
• Three mutation operators
– Assigning a random developer to the task.
– Removing a random developer from the task.
– Replacing an assigned developers with a random developer.
14
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
t1 {d1} t2 {d2, d3, d4} t3 {d1,d2, d3} t4 {d3, d5}
Before mutation:
After mutation:
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
t1 {d1} t2 {d2} t3 {d1,d2, d3} t4 {d3, d5}
Before mutation:
After mutation:
t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5}
t1 {d1} t2 {d2, d3} t3 {d1,d2, d3} t4 {d3, d5}
Before mutation:
After mutation:
Scheduling simulation
• The fitness function is calculated based on the scheduling
simulation.
• Principles
– At every time tick, assigned developers reduce the remaining MH of a
task.
– Developers start to work for a task, if every pre-task of the task is
finished.
time
developer
T1
T2
T4
T3
T1
T5
T6
T1
T2
T3
T4
T5
T6
Fitness Function
• The fitness function evaluates a chromosome by
calculating fitness score.
• The fitness function reflects practical considerations.
• The fitness score is weighted sum of four sub-scores.
– Cost Minimization (CM) score
– Concentration Efficiency (CE) score
– Continuity Consideration (CC) score
– Balance of Allocation (BA) score
16
Fitness Function (cont’d)
• Cost Minimization (CM) score
– Assessing whether the solution finishes early.
– Comparing the timespan of the given solution with an
ideal timespan.
• Concentration Efficiency (CE) score
– Assessing the burden of multitasking.
17
Taking 100 days Taking 80 days
<
T2
T5
T6
T2
T5
T6
<
Fitness Function (cont’d)
• Continuity Consideration (CC) Score
– Assessing consideration on the precedence relationships
between tasks.
• Balance of Allocation (BA) Score
– Assessing how evenly the developers are allocated.
<
Manager only
Director only
Director
Engineer only
Engineer Manager,Engineer
Engineer
Manager,
ManagerDirector,
Engineer
Manager,
Manager
Director,
<<
100MH
300MH
100MH
300MH
Case Study
• Assessing how well our GA reflects the practical
considerations.
• Comparing the results when GA only considers cost
minimization(𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒) and when considering the
all objectives (𝐶𝑎𝑠𝑒 𝑎𝑙𝑙).
• Weights for fitness score {𝑤 𝐶𝑀, 𝑤 𝐶𝐸, 𝑤 𝐶𝐶, 𝑤 𝐵𝐴} :
19
𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒: 1, 0, 0, 0 , 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 = {0.25, 0.25, 0.25, 0.25}
Case Study
• Experimental setup
– Three experiment sets
• Set1: 11 tasks / 7 developers
• Set2: 11 tasks / 10 developers
• Set3: 21 tasks / 10 developers
– Population size: 100, Generation count: 400,
– Mutation rate: 0.05
20Task set 𝑡1
Developer set 𝑑1
Case Study
• Time: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 < 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙
• Multitasking time: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙
• # no precedence assignments: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙
• # tasks only one level assigned: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙
• Evenness of allocation: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 < 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙
21
Experiment results
Overall, our GA reflect practical considerations better than
an approach only considering cost minimization.
Related Work
• Chang et al. (IST 2008) and Chen et al. (TSE 2013)
– GA/ACO (Ant colony optimization) techniques considering
three-dimensional array with time, tasks, employee axes.
– They only concentrated on minimizing cost in terms of
time and money.
• Kang et al. (SPE 2011)
– A constraint-based approach considering constraints
affecting project schedule.
– They assumed each program modules can always be
developed in parallel.
22
Conclusion
• We elicit practical considerations for human resource
allocation problem with a group of experts.
• We design a genetic algorithm reflecting the practical
considerations by encoding them in fitness function.
• Our GA generates a practical human resource
allocation considering multitasking time, precedence
relationship, and balance of allocation.
23
Discussion
• Threats to validity
– Many previous approaches used skill sets to represent
required capability of a task, but we use task types.
– Our approach generates only one fittest solution. MOEA
approach can be used to generate more than one solution.
• Future work
– Finding optimal parameters for GA.
– Identifying more practical issues.
– Studying the applicability of our approach in real-world.
24
Practical Human Resource Allocation in Software
Projects Using Genetic Algorithm
Jihun Park, Dongwon Seo, Gwangui Hong,
Donghwan Shin, Jimin Hwa, Doo-Hwan Bae
KAIST, South Korea
SEKE 2014
Thank you for listening

More Related Content

What's hot

Genetic Approach to Parallel Scheduling
Genetic Approach to Parallel SchedulingGenetic Approach to Parallel Scheduling
Genetic Approach to Parallel Scheduling
IOSR Journals
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learning
NAVER Engineering
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by Analogy
Tim Menzies
 
Episodic Policy Gradient Training
Episodic Policy Gradient TrainingEpisodic Policy Gradient Training
Episodic Policy Gradient Training
Hung Le
 
Simplifying effort estimation based on use case points
Simplifying effort estimation based on use case pointsSimplifying effort estimation based on use case points
Simplifying effort estimation based on use case points
Abdulrhman Shaheen
 
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
Avay Minni
 
Using Risk Analysis and Simulation in Project Management
Using Risk Analysis and Simulation in Project ManagementUsing Risk Analysis and Simulation in Project Management
Using Risk Analysis and Simulation in Project Management
Mike Tulkoff
 

What's hot (7)

Genetic Approach to Parallel Scheduling
Genetic Approach to Parallel SchedulingGenetic Approach to Parallel Scheduling
Genetic Approach to Parallel Scheduling
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learning
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by Analogy
 
Episodic Policy Gradient Training
Episodic Policy Gradient TrainingEpisodic Policy Gradient Training
Episodic Policy Gradient Training
 
Simplifying effort estimation based on use case points
Simplifying effort estimation based on use case pointsSimplifying effort estimation based on use case points
Simplifying effort estimation based on use case points
 
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
 
Using Risk Analysis and Simulation in Project Management
Using Risk Analysis and Simulation in Project ManagementUsing Risk Analysis and Simulation in Project Management
Using Risk Analysis and Simulation in Project Management
 

Similar to [SEKE 2014] Practical Human Resource Allocation in Software Projects Using Genetic Algorithm

3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx
AbhishekKumar66407
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
Sung Kim
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
Sung Kim
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
KiranKumar671235
 
SQL Query Optimization: Why Is It So Hard to Get Right?
SQL Query Optimization: Why Is It So Hard to Get Right?SQL Query Optimization: Why Is It So Hard to Get Right?
SQL Query Optimization: Why Is It So Hard to Get Right?
Brent Ozar
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test Estimation
Jatin Kochhar
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
Praveen Penumathsa
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
babak danyal
 
Big Data Challenges and Solutions
Big Data Challenges and SolutionsBig Data Challenges and Solutions
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
Praveen Penumathsa
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
Ahsan Rahim
 
Software engineering 9 software cost estimation
Software engineering 9 software cost estimationSoftware engineering 9 software cost estimation
Software engineering 9 software cost estimation
Vaibhav Khanna
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
Kanban 101 - An Introduction to Planning with Little's Law
Kanban 101 - An Introduction to Planning with Little's LawKanban 101 - An Introduction to Planning with Little's Law
Kanban 101 - An Introduction to Planning with Little's Law
Jack Speranza
 
CS3114_09212011.ppt
CS3114_09212011.pptCS3114_09212011.ppt
CS3114_09212011.ppt
Arumugam90
 
Kaggle Gold Medal Case Study
Kaggle Gold Medal Case StudyKaggle Gold Medal Case Study
Kaggle Gold Medal Case Study
Alon Bochman, CFA
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
grandhiprasuna
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
snehan789
 
Optimization Using Evolutionary Computing Techniques
Optimization Using Evolutionary Computing Techniques Optimization Using Evolutionary Computing Techniques
Optimization Using Evolutionary Computing Techniques
Siksha 'O' Anusandhan (Deemed to be University )
 

Similar to [SEKE 2014] Practical Human Resource Allocation in Software Projects Using Genetic Algorithm (20)

3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
 
SQL Query Optimization: Why Is It So Hard to Get Right?
SQL Query Optimization: Why Is It So Hard to Get Right?SQL Query Optimization: Why Is It So Hard to Get Right?
SQL Query Optimization: Why Is It So Hard to Get Right?
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test Estimation
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Big Data Challenges and Solutions
Big Data Challenges and SolutionsBig Data Challenges and Solutions
Big Data Challenges and Solutions
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Software engineering 9 software cost estimation
Software engineering 9 software cost estimationSoftware engineering 9 software cost estimation
Software engineering 9 software cost estimation
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Kanban 101 - An Introduction to Planning with Little's Law
Kanban 101 - An Introduction to Planning with Little's LawKanban 101 - An Introduction to Planning with Little's Law
Kanban 101 - An Introduction to Planning with Little's Law
 
CS3114_09212011.ppt
CS3114_09212011.pptCS3114_09212011.ppt
CS3114_09212011.ppt
 
Kaggle Gold Medal Case Study
Kaggle Gold Medal Case StudyKaggle Gold Medal Case Study
Kaggle Gold Medal Case Study
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
 
Optimization Using Evolutionary Computing Techniques
Optimization Using Evolutionary Computing Techniques Optimization Using Evolutionary Computing Techniques
Optimization Using Evolutionary Computing Techniques
 

Recently uploaded

basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
HODECEDSIET
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
RadiNasr
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 

Recently uploaded (20)

basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 

[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Genetic Algorithm

  • 1. Practical Human Resource Allocation in Software Projects Using Genetic Algorithm Jihun Park, Dongwon Seo, Gwangui Hong, Donghwan Shin, Jimin Hwa, Doo-Hwan Bae KAIST, South Korea SEKE 2014
  • 2. Outline • Introduction • Problem Definition • Practical Considerations • Genetic Algorithm for Human Resource Allocation • Case Study • Related Work • Conclusion • Discussion 2
  • 3. Introduction • Software planning is becoming more complicated as the size of software project grows. • Software project managers can significantly benefit from the human resource allocation technique. • Existing human resource allocation approaches only focused on minimizing the project cost.
  • 4. Research Goal • We elicit the practical considerations on human resource allocation problem with a group of software project experts. • We then suggest a novel Genetic Algorithm (GA) satisfying the practical considerations. 4
  • 5. Problem Definition • Tasks – Defined by type, effort, and precedence relationship • Developers – Defined by staff level and ability level. 5 Task A Task B Task C Task D Task E Task F Task information Task Name Task F Task Type Test Effort needed 200 MH Preceding Tasks Task C, Task E
  • 6. Name Staff level Analy sis … Test Engin eer 0.7 1.0 Mana ger 1.0 1.2 Direct or 1.5 0.8 Problem Definition • Tasks – Defined by type, effort, and precedency relationship • Developers – Defined by staff level and ability level. Task A Task B Task C Task D Task E Task F Task information Tom Jane April Developer information
  • 7. Problem Definition • Tasks – Defined by type, effort, and precedency relationship • Developers – Defined by staff level and ability level. Task A Task B Task C Task D Task E Task F Name Staff level Analy sis … Test Engin eer 0.7 1.0 Mana ger 1.0 1.2 Direct or 1.5 0.8 Tom Jane April Developer information Task information Developer Assignment
  • 8. Practical considerations • Eliciting practical considerations with a group of software experts from.. – Military research and development company – Software process consulting company – University 8 C1. Short project plan The basic objective of human resource allocation. The plan should be finished within minimum timespan. C2. Minimization of multitasking time If a developer work for multiple tasks at the same time, productivity will decrease. C3. Assignment on relevant tasks Assigning a developer to both of pre-task and post-task is efficient in terms of minimizing the context-switching cost. C4. Balance of allocation Task size and staff level should be considered in the allocation.
  • 9. Genetic Algorithm • Evolutionary search-based algorithm 9 Representation Selection Crossover Mutation Representing an assignment result as a chromosome. Selecting good chromosomes among the population. Making a new chromosome from two parent chromosomes. Mutating a chromosome to maintain genetic diversity. t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} gene1 gene2 gene3 gene4 t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} t1 {d1} t2 {d2, d3, d4} t3 {d1,d2, d3} t4 {d3, d5}
  • 10. How chromosomes evolve? Initial population (randomly generated) nth generation Selection Crossover Mutation 2nd generation … A population has population_size chromosomes Generation_countth generation … Pick the best one.
  • 11. Representation • Each gene contains a task and a set of developers. – Gene n represents a set of developers assigned to the task n 11 t1 {d1} t2 {d2} t3 {d1,d2, d3} t4 {d3} gene1 gene2 gene3 gene4 Task 1 Task 2 Task 3 Task 4 d1 d2 d3 Task and developer information An example of chromosome representation Assignment example of the chromosome
  • 12. Selection • Each chromosome is evaluated by fitness function • Elitism selection – Keep the best chromosome until the next generation. • Tournament selection – Select two parent chromosome for a new chromosome. … Fitness score: 0.9 Fitness score: 0.87 Fitness score: 0.76 Fitness score: 0.6 Elitism selection Keep the fittest chromosome to the next generation. Randomly select k chromosomes Pick two fittest chromosomes as parents Tournament selection
  • 13. Crossover • Uniform crossover – Using parent chromosomes which are selected by tournament selection process. – Generating a new chromosome for the next generation. – Randomly taking a gene among two genes from the parents. 13 t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} t1 {d2, d3} t2 {d1} t3 {d1,d5} t4 {d1, d3, d5} c1 : t1 {d1} t2 {d1} t3 {d1, d2, d3} t4 {d1, d3, d5} 0.3 0.6 0.15 0.8 c2 : cnew : Random number :
  • 14. Mutation • With a certain probability of the mutation (mutation rate), each gene is mutated. • Three mutation operators – Assigning a random developer to the task. – Removing a random developer from the task. – Replacing an assigned developers with a random developer. 14 t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} t1 {d1} t2 {d2, d3, d4} t3 {d1,d2, d3} t4 {d3, d5} Before mutation: After mutation: t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} t1 {d1} t2 {d2} t3 {d1,d2, d3} t4 {d3, d5} Before mutation: After mutation: t1 {d1} t2 {d2, d4} t3 {d1,d2, d3} t4 {d3, d5} t1 {d1} t2 {d2, d3} t3 {d1,d2, d3} t4 {d3, d5} Before mutation: After mutation:
  • 15. Scheduling simulation • The fitness function is calculated based on the scheduling simulation. • Principles – At every time tick, assigned developers reduce the remaining MH of a task. – Developers start to work for a task, if every pre-task of the task is finished. time developer T1 T2 T4 T3 T1 T5 T6 T1 T2 T3 T4 T5 T6
  • 16. Fitness Function • The fitness function evaluates a chromosome by calculating fitness score. • The fitness function reflects practical considerations. • The fitness score is weighted sum of four sub-scores. – Cost Minimization (CM) score – Concentration Efficiency (CE) score – Continuity Consideration (CC) score – Balance of Allocation (BA) score 16
  • 17. Fitness Function (cont’d) • Cost Minimization (CM) score – Assessing whether the solution finishes early. – Comparing the timespan of the given solution with an ideal timespan. • Concentration Efficiency (CE) score – Assessing the burden of multitasking. 17 Taking 100 days Taking 80 days < T2 T5 T6 T2 T5 T6 <
  • 18. Fitness Function (cont’d) • Continuity Consideration (CC) Score – Assessing consideration on the precedence relationships between tasks. • Balance of Allocation (BA) Score – Assessing how evenly the developers are allocated. < Manager only Director only Director Engineer only Engineer Manager,Engineer Engineer Manager, ManagerDirector, Engineer Manager, Manager Director, << 100MH 300MH 100MH 300MH
  • 19. Case Study • Assessing how well our GA reflects the practical considerations. • Comparing the results when GA only considers cost minimization(𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒) and when considering the all objectives (𝐶𝑎𝑠𝑒 𝑎𝑙𝑙). • Weights for fitness score {𝑤 𝐶𝑀, 𝑤 𝐶𝐸, 𝑤 𝐶𝐶, 𝑤 𝐵𝐴} : 19 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒: 1, 0, 0, 0 , 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 = {0.25, 0.25, 0.25, 0.25}
  • 20. Case Study • Experimental setup – Three experiment sets • Set1: 11 tasks / 7 developers • Set2: 11 tasks / 10 developers • Set3: 21 tasks / 10 developers – Population size: 100, Generation count: 400, – Mutation rate: 0.05 20Task set 𝑡1 Developer set 𝑑1
  • 21. Case Study • Time: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 < 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 • Multitasking time: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 • # no precedence assignments: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 • # tasks only one level assigned: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 > 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 • Evenness of allocation: 𝐶𝑎𝑠𝑒𝑡𝑖𝑚𝑒 < 𝐶𝑎𝑠𝑒 𝑎𝑙𝑙 21 Experiment results Overall, our GA reflect practical considerations better than an approach only considering cost minimization.
  • 22. Related Work • Chang et al. (IST 2008) and Chen et al. (TSE 2013) – GA/ACO (Ant colony optimization) techniques considering three-dimensional array with time, tasks, employee axes. – They only concentrated on minimizing cost in terms of time and money. • Kang et al. (SPE 2011) – A constraint-based approach considering constraints affecting project schedule. – They assumed each program modules can always be developed in parallel. 22
  • 23. Conclusion • We elicit practical considerations for human resource allocation problem with a group of experts. • We design a genetic algorithm reflecting the practical considerations by encoding them in fitness function. • Our GA generates a practical human resource allocation considering multitasking time, precedence relationship, and balance of allocation. 23
  • 24. Discussion • Threats to validity – Many previous approaches used skill sets to represent required capability of a task, but we use task types. – Our approach generates only one fittest solution. MOEA approach can be used to generate more than one solution. • Future work – Finding optimal parameters for GA. – Identifying more practical issues. – Studying the applicability of our approach in real-world. 24
  • 25. Practical Human Resource Allocation in Software Projects Using Genetic Algorithm Jihun Park, Dongwon Seo, Gwangui Hong, Donghwan Shin, Jimin Hwa, Doo-Hwan Bae KAIST, South Korea SEKE 2014 Thank you for listening

Editor's Notes

  1. Overview of Genetic Algorithm Genetic Operators Fitness Function
  2. Many researchers have been tried to utilize the GA to find an optimal solution for the human resource allocation problem.