0% found this document useful (0 votes)
20 views

Solving Software Project Scheduling Problem Using SBSE Approach

Uploaded by

Fozia Khan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Solving Software Project Scheduling Problem Using SBSE Approach

Uploaded by

Fozia Khan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

1

Solving software project scheduling problem


using search-based software engineering
approach
ABC ABC, Member, IEEE, ABC ABC, Fellow, OSA, and ABC ABC, Life Fellow, IEEE

Abstract—Project scheduling has always remained one of the most integral and significant components of the project. An optimized
and efficient project schedule can save millions of dollars for any vendor as well as the end-user. According to experts, one of the core
reasons for the failure of the projects is also the inability to produce efficient project schedules. Specifically, to the software industry, the
timeline and completion have always been very critical since there are many projects which have to be moved towards production in a
very well defined time window, for example in the recent era of Covid-19 the urgent need for the specialized and high complexity
software has skyrocketed in a very short span of time. For the effective execution and successful productions, people with decades of
experience are engaged for the accurate estimations of the project schedules in terms of optimized involvement of the human
resources, cost, and technologies. The purpose of our research is to identify the potential metaheuristic algorithms suggested by many
researchers in their literature and apply them in the best possible way to solve the software project-scheduling problem (SPSP).

Index Terms—Project scheduling, metaheuristic algorithms, Software Project scheduling problem.

1 I NTRODUCTION

T HE term metaheuristic refers to a framework which pro-


vides us a set of guidelines or rules which ultimately
helps us to generate a possible optimal solution set. Meta-
ers involved, resource utilization, employee overtime etc.
There are many elements which should be taken care of
such as identification of stakeholders, definition of role and
heuristics was used way before the word actually evolved. responsibilities, defining project scope, budget and timeline
Literature on metaheuristics tells use that the word meta- of the project, setting and prioritization of goals, creating
heuristic was first coined by Fred Glover in the second half project schedule, setting deliverables.
of the 1980s. Heuristic solves the special problem or we can
say it is a problem specific technique whereas metaheuristic
is a generalized solving method. There are a number of 2 R ELATED W ORK
metaheuristic algorithms such as Artifical Bee Colony [],
Firefly algorithm [], Dragonfly algorithm [], Genetic algo-
rithms [], Pareto Archived Evolution Strategy (PAES) [],
Non-dominated Genetic Algorithm-II (NSGA-II) and many
more.
Scheduling problem refers to minimizing the costs while
ensuring to deliver the standard quality of product or a ser-
vice. It is a process of organising, managing, and optimising
work and workloads. It can occur in any field of study, for
example in textile [], automobile [], economics [] etc.
The high complexity of currently existing software
projects justifies the research into computer aided tools
to properly plan the project development. In this paper
we focus on the assignment of employees and tasks in
a software project so as to reduce both the project cost
and project duration. This problem is known as Software
Project Scheduling Problem. [1] Software project scheduling
consists of various factors such as project budget, project
duration, project scope, communication between stakehold-
Fig. 1: shows breakdown for Software Engineering Process
KA by [2]
• M. Shell was with the Department of Electrical and Computer
Engineering, Georgia Institute of Technology, Atlanta, GA, 30332.
An engineering process consists of a set of interrelated
E-mail: see http://www.michaelshell.org/contact.html activities that transform one or more inputs into outputs
• J. Doe and J. Doe are with Anonymous University. while consuming resources to accomplish the transforma-
Manuscript received April 19, 2005; revised August 26, 2015. tion. Many of the processes of traditional engineering dis-
2

ciplines (e.g., electrical, mechanical, civil, chemical) are con- known algorithms NSGA-II, SPEA2, PAES, and MOCell
cerned with transforming energy and physical entities from using hyper-volume and attainment surfaces as the compar-
one form into another, as in a hydroelectric dam that trans- ison evaluator with project duration and cost as comparison
forms potential energy into electrical energy or a petroleum attributes.
refinery that uses chemical processes to transform crude oil Luna et al. [7] analyzed and devised their previous
into gasoline. Software engineering processes are concerned work by adding more four different and recently updated
with work activities accomplished by software engineers to algorithms for instance NSGA-II, PAES, SPEA2, with DEPT,
develop, maintain, and operate software, such as require- MOCell, MOABC, MOFA, and GDE3. Scalability was con-
ments, design, construction, testing, configuration manage- sidered as an input attribute along with project cost and
ment, and other software engineering processes. [2] duration. The results prove that once again PAES was shown
Initially, Alba and Chicano [3] solve the problem of great ability to scale and provide the best quality solution
scheduling using the genetic algorithm on around 36 dif- with hyper-volume as an indicator. Attainment surface has
ferent software projects. They considered two objectives i.e. been used to graphically visualize the results of the hyper-
project cost and duration, which are static, attributes. The volume indicator.
results showed that the larger projects with many tasks Xiao et al. [8] performed an experiment where they used
were difficult to solve compared to smaller size projects with 36 publicly available instances and compared them with
fewer tasks and this could be expensive in terms of cost to a multi-objective evolutionary algorithm called NSGA-II
implement the solution. with a multi-objective evolutionary algorithm using Decom-
Alba and Chicano [1] improvised their work with the in- position and Ant Colony optimization (MOEA/D-ACO).
crease in the number of projects scenarios from 36 to 48 and An examination of the obtained Pareto front indicates that
run those multiple times around 100 different independent NSGA-II is better at solving complex and huge structure
runs. The algorithm and objective attributes were the same projects compared to MOEA/D-ACO. However, MOEA/D-
as the previous one. The number of inputs was created using ACO can solve the software project-scheduling problem in
an instance generator, which provides an in-depth analysis a much shorter time.
and showed that the relationship between the attributes i.e. Ge & Xu [9] presented a dynamic model for software
project cost and duration is not simple enough to be solved project staffing where project cost and duration is used to
by a single metaheuristic algorithm. The future direction provide a hybrid approach. The Genetic Algorithm (GA)
could be to apply the other metaheuristic algorithms and and Hill Climbing (HC) based optimizer was implemented
provide a comparison between them, which would help the to assist the project managers in software project scheduling
project managers to solve the industry problems or real- by providing a best resource allocation solution. The de-
world datasets. rived results suggested that the optimizer had the ability to
Metaheuristic are search strategies for finding good an- produce logical schedule and reschedule alternatives.
swers to optimization problems in a reasonable amount The fact is that SPSP has cost of employees besides
of time; however, these solutions are not guaranteed to project duration and project cost which should be mini-
be optimum. There are different types of metaheuristics, mized. The project-scheduling problem referred to as the
being one of the most frequently used to solve the SPSP ”time/cost trade-off problem” in the literature, involves the
the Evolutionary Algorithms (EAs). These algorithms are reduction of certain activity durations by allocating more
based on a population in which each person is represented resources to them. This generally results in higher direct
by a chromosome that holds information about their fea- activity costs and shorter project durations. [10] Alba &
tures. Survival is achieved in this scenario by reproduction, Francisco Chicano [1] argue that SPSP is more realistic than
and descendants are formed through a process known as RCPS, given that it includes the concept of employee with a
crossover or recombination. Mutation is a process through salary and skills, and is capable of performing several tasks
which individuals in a population may experience changes during a regular working day. Moreover, SPSP resources
in some of their features. A fitness function is used to differ from RCPS resource types, which proves that there
assess an individual’s chances of surviving. Fitness is a is a huge difference between software project scheduling
number assigned to each person that indicates the quality of problem (SPSP) and resource-constrained project scheduling
objective function assessments of the problem being solved. (RCPS).
[4]
Luna et al. [5] analyzed the scalability of four multi- 3 M ETHODOLOGY
objective algorithms such as NSGA-II, PAES, DEPT, and The research was conducted to provide answer for the
MOFA. Two indicators hyper-volume and attainment sur- below mentioned research questions.
face were used to evaluate the performance of different
algorithms. It proved that the results of were correct as PAES 3.1 Search Strategy
is the best algorithm concerning the quality of solutions We found the papers through digital libraries such as
and scalability whereas the second best was MOFA for Researchgate, Google Scholar, Science direct, IEEE Xplore.
comparatively smaller instances and NSGA-II for larger These mentioned libraries are mostly preferred for finding
instances. suitable and impactful research paper in any domain such
An experimental study was presented by [6] for software as Science direct is considered leading hub for medical,
project scheduling problems by implementing genetic and technical and scientific research publications, IEEE Xplore
evolutionary strategy algorithms. It compared the resulting mostly deals with publications related to Engineering and
project plans and analyses the performance of four well- Computer Science etc.
3

3.2 Research Questions space of any given problem. It comes under the category
We defined three questions to be answered in this work of Evolutionary algorithms of metaheuristic. Variants of
based on the content that studies in the field of SBSE genetic algorithm are also used in [11], [12] and [13]. The
address and examining key concerns of the SPSP, such as second most used algorithm is NSGA-II. It stands for Non-
algorithms used to solve the problem, attributes considered dominated Sorting Genetic algorithm-II. It was invented in
and validation techniques employed. [14] by Deb et al. proposed that NSGA-II is an improved
RQ1 - Which algorithms have been applied in the ex- version of NSGA. It outperforms the other evolutionary al-
isting literature to solve the software project-scheduling gorithms (EAs) such as Pareto Archived Evolution Strategy
problem? and Strength Pareto Evolutionary algorithm 2. Genetic al-
RQ2 - Which objective attributes were used in the ex- gorithm uses single objective optimization startegy whereas
isting literature to solve the software project-scheduling these variants uses multi-objective optimization approach
problem? which solves SPSP by using different features. NSGA-II uses
RQ3 - What validation techniques were used in the crowding comparison and elitist principle.
existing literature to evaluate the results being generated? Below mentioned table 3 contains the list of research
papers along with the details where they are published
either in conference or journal.
3.3 Inclusion criteria
The research concerning that are:
1) should be in English language.
2) should be journal or conference paper.
3) search-based technique to solve SPSP in the field of
software project management.

3.4 Exclusion criteria


The exclusion points are:
1) not available online
2) out of context
3) technical reports, keynotes, thesis.

4 R ESULTS & F INDINGS


The answers to the research questions with regard to exist- Fig. 3: List of research papers along with publishing area.
ing literature are categorized into different sections given
below:
Mostly papers are published in Journal related to soft-
ware project scheduling problem shown in Figure 4. Sur-
4.1 RQ1 - Algorithms applied veys mainly focuses on the resource-constrained project
We worked out the algorithms used by different authors scheduling problem. In survey [15], focuses on the search-
in their application to solve software project scheduling based software engineering approach used to solve software
problem which are shown in figure below. project scheduling problem. In this paper, their basis was to
provide a single point of convergence for software project
scheduling problems. They compiled the algorithms used
to solve SPSP, the input parameters, amount of work done
in this regard, instances, validation techniques.

Fig. 2: Column chart for most used algorithm in SPSP.

According to the statistics shown the most used algo-


rithm is Genetic Algorithm. Genetic algorithm focuses on Fig. 4: Column chart shows the most published area
finding optimal solution among all the present solution
4

4.2 RQ2 - Objective attributes used and experiences. They created multiple experimental sets
Majority authors work to minimize the project duration and to validate their results generated by GA, HC and GA-
project cost simultaneously as shown in the figure below. HC such as 30 tasks with 20 employees, 15 tasks with 10
employees, 8 tasks with 5 employees. Myszkowski in [20],
compared average and standard deviation values for all
methods i.e. differential evolution with greedy algorithm.
Secondly, the common objective attribute which was used
to solve the software project scheduling problem was either
project duration or project cost or both. Around 15 papers
we reviewed were minimizing project duration and cost.
Thirdly, multiple strategies to validate the results received
Fig. 5: Table shows objective attributes used from either comparison or individual application of algo-
rithms was used. Hyper-volume was the most used metric
Others used overtime [13], stability [9], communication to evaluate the performance of algorithms as confirmed by
[9]. In [9], they proposed an approach where GA and HC [18].
based optimizer is used to schedule the project. It generates The future direction could be (i) using real-world data
the schedule before the project and then reschedules when set or dynamic input attributes which could possibly lean
changes such as team members or tasks takes place consid- to realistic solutions (ii) using hybrid approach as used in
ering stability and efficiency of the project as the objective [9] (iii) comparison of more multi-objective optimization
function. It compares in real time with the previously sched- algorithms should be incorporated which will eventually
uled tasks. open up new conclusions.

4.3 RQ3 - Validation manner ACKNOWLEDGMENTS


Multiple strategies used to validate the results after solving
In the name of Allah the Most Beneficent and The Most
software project scheduling problem are used. In [16], attain-
Merciful. All His blessings gave me the strength to think
ment surfaces, hyper-volume were used. Minku et al. [17],
about this idea and execute it with in the given period.
used multiple validation strategies such as fitness value,
I would like to acknowledge and give my warmest
hit rate, convergence time. Convergence time shows the
thanks to my supervisor Syed Sarmad Ali and Dr. Teerath
potential of algorithm to provide good solutions if problem
Das who made this work possible. Their guidance and
becomes hard and complex. [16] performed validation of
advice carried me through all the stages of writing my
results based on HV values of PAES. NSGA-II have been
research paper.
most used algorithm along with SPEA2 for solving SPSP.
Finally, I would also like to give special thanks to my
In c [6], compared NSGA-II, SPEA2, and MOCell for a
family as a whole for their continuous support, understand-
population size of 100 used for multiple runs. They used HV
ing and encouragement when the times got rough are much
values and calculated its median and IQR for two instances.
appreciated and duly noted.Your prayer for me was what
They considered three scenarios for robustness of solution
sustained me this far.
where (i) perfect knowledge of the task cost (ii) one task is
underestimated and (iii) all tasks could be underestimated.
In [18], the authors addressed the need to validate the R EFERENCES
previous results rather than working on the new values. [1] E. Alba and J. Francisco Chicano, “Software project management
Hyper-volume was the most used performance metric when with GAs,” Information Sciences, vol. 177, no. 11, pp. 2380–2401,
a group of algorithms are being compared and it was mostly 2007.
[2] I. C. Society, Guide to the Software Engineering Body of Knowledge
used to validate the results of software testing domain area. Version 3.0 (SWEBOK Guide V3.0).
[3] E. Alba and F. Chicano, “Management of Software Projects
with GAs,” Proceedings of the 6th Metaheuristics International
5 C ONCLUSION AND F UTURE D IRECTION Conference MIC 05, pp. 13–18, 2005. [Online]. Available:
In this paper, we presented the answers to the three research http://neo.lcc.uma.es/staff/francis/pdf/mic05.pdf
[4] M. Á. Vega-Velázquez, A. Garcı́a-Nájera, and H. Cervantes, “A
questions after reviewing the existing literature regarding
survey on the Software Project Scheduling Problem,” International
solving the software project scheduling using search-based Journal of Production Economics, vol. 202, pp. 145–161, 2018.
software engineering approach. Firstly, majority of the times [Online]. Available: https://doi.org/10.1016/j.ijpe.2018.04.020
Genetic Algorithm was used to solve the software project [5] F. Luna, D. L. González-Álvarez, F. Chicano, and M. A. Vega-
Rodrı́guez, “On the scalability of multi-objective metaheuristics
scheduling problem. [1] has served as the basis for the most for the software scheduling problem,” International Conference on
work of authors done after 2007. Genetic Algorithm was also Intelligent Systems Design and Applications, ISDA, no. 978, pp. 1110–
applied with variations such as in [19] genetic algorithm 1115, 2011.
was used to a certain point to generate a certain number [6] F. Chicano, A. Cervantes, F. Luna, and G. Recio, “A novel mul-
tiobjective formulation of the robust software project scheduling
of solutions after that multiple iterations were run to better problem,” Lecture Notes in Computer Science (including subseries Lec-
reach to near optimal solution. In [9], the objective was to ture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),
minimize the total cost of whole project. For that purpose, vol. 7248 LNCS, pp. 497–507, 2012.
they designed an objective function where Efficiency and [7] F. Luna, D. L. González-Álvarez, F. Chicano, and M. A. Vega-
Rodrı́guez, “The software project scheduling problem: A scal-
Stability factors was multiplied with the weights of both ability analysis of multi-objective metaheuristics,” Applied Soft
assigned by the project managers based on their needs Computing Journal, vol. 15, pp. 136–148, 2014.
5

[8] J. Xiao, M. L. Gao, and M. M. Huang, “Empirical study of multi-


objective ant colony optimization to software project scheduling
problems,” GECCO 2015 - Proceedings of the 2015 Genetic and
Evolutionary Computation Conference, pp. 759–766, 2015.
[9] Y. Ge and B. Xu, “Dynamic staffing and rescheduling in software
project management: A hybrid approach,” PLoS ONE, vol. 11,
no. 6, jun 2016.
[10] O. Icmeli, S. Selcuk Erenguc, and C. J. Zappe, “Project Scheduling
Problems: A Survey,” International Journal of Operations Production
Management, vol. 13, no. 11, pp. 80–91, 1993.
[11] N. Bibi, A. Ahsan, and Z. Anwar, “Project resource allocation opti-
mization using search based software engineering-A framework,”
2014 9th International Conference on Digital Information Management,
ICDIM 2014, pp. 226–229, 2014.
[12] N. Bibi, Z. Anwar, and A. Ahsan, “Comparison of search-based
software engineering algorithms for resource allocation optimiza-
tion,” Journal of Intelligent Systems, vol. 2015, no. 4, pp. 629–642,
2015.
[13] A. Garcı́a-Nájera and M. d. C. Gómez-Fuentes, “A multi-objective
genetic algorithm for the software project scheduling problem,”
Lecture Notes in Computer Science (including subseries Lecture Notes
in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 8857,
pp. 13–24, 2014.
[14] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist
multiobjective genetic algorithm: NSGA-II,” IEEE Transactions on
Evolutionary Computation, vol. 6, no. 2, pp. 182–197, 2002.
[15] A. V. Rezende, L. Silva, A. Britto, and R. Amaral, “Software
project scheduling problem in the context of search-based
software engineering: A systematic review,” Journal of Systems
and Software, vol. 155, pp. 43–56, 2019. [Online]. Available:
https://doi.org/10.1016/j.jss.2019.05.024
[16] F. Chicano, F. Luna, A. J. Nebro, and E. Alba, “Using multi-
objective metaheuristics to solve the software project schedul-
ing problem,” Genetic and Evolutionary Computation Conference,
GECCO’11, pp. 1915–1922, 2011.
[17] L. L. Minku, D. Sudholt, and X. Yao, “for the Project Scheduling
Problem Based on Runtime Analysis,” IEEE Transactions on Soft-
ware Engineering, vol. 40, no. 1, pp. 83–102, 2014.
[18] J. A. Nuh, T. W. Koh, S. Baharom, M. H. Osman, and S. N. Kew,
“Performance evaluation metrics for multi-objective evolutionary
algorithms in search-based software engineering: Systematic liter-
ature review,” Applied Sciences (Switzerland), vol. 11, no. 7, 2021.
[19] S. C. Ma and S. S. Deng, “Research on Software Project Schedul-
ing Based on Genetic Algorithm,” 2021 IEEE 2nd International
Conference on Big Data, Artificial Intelligence and Internet of Things
Engineering, ICBAIE 2021, no. Icbaie, pp. 67–70, 2021.
[20] P. B. Myszkowski, M. Laszczyk, and J. Lichodij, “Efficient selection
operators in NSGA-II for solving bi-objective multi-skill resource-
constrained project scheduling problem,” Proceedings of the 2017
Federated Conference on Computer Science and Information Systems,
FedCSIS 2017, vol. 11, pp. 83–86, 2017.

You might also like