SlideShare a Scribd company logo
A Proposed Genetic Algorithm Model to Improve
Effort Estimation in Agile Software Development
Hossam Abdel Rahman Mohamed Al-Ansary
Computer and Information Technology Dept, Cairo University
Email: Hossam_mm7@yahoo.com
Abstract— One of the main difficult tasks in software
development projects is an effort estimation accuracy. the
project's estimated cost, duration, and maintenance effort
early in the development life cycle is a big challenge to be
achieved for software projects. Agile software projects
require an innovative effort estimation model to help a
constructive cost accurate estimation. The main focus of
this paper is using the prediction model of genetic
algorithm to improve the effort estimation accuracy by
chromosomes that are made up of a gene pool that
includes user stories, friction factors, implementation
Level factor, and dynamic forces.
Index Terms—Genetic Algorithm, Agile Software
Development, Effort estimation.
1. Introduction
The management of the software development
project is the process of planning, organizing, staffing,
monitoring, controlling, and software project leading.
the life cycle of the project consists of four phases
Project initiation, project planning, project execution,
and project closure. the Project planning is a crucial
phase in the life cycle of the software project because it
includes many challenging activities that are necessary;
such as software estimation process that includes
estimating the size of the software product to be
produced, estimating the effort required, developing
preliminary project schedules, and finally, estimating
the overall cost of the project. [1]
Agile Software Development (ASD) is a group of
software development processes that are iterative,
incremental, self-organizing, and emergent that
continuously refined and prioritized following
principles of Just In Time (JIT) management. [2]
The main issue of determining effort estimation in
the agile methodology is to focus on the effort and
degree of difficulties of teamwork instead of an
individual. Agile Software Development uses different
techniques to deliver software products with maximum
customer satisfaction. Some of the techniques include
XP (Extreme Programming) as shown in fig 1, Scrum
Methodology, Adaptive Software Development (ASD).
Some of the existing work shows that during the use of
Agile Software Development, the team uses a story
point approach to calculate the effort with the help of
user story and project velocity as inputs. The main task
is to estimate the required effort keeping in mind the
technical complexity of the project. [3]
Fig 1: Agile Extreme Programing (XP) Lifecycle
The calculation and understanding of estimation
models based on user stories are difficult due to
inherent complex relationships between the related
friction factors. an implementation Level factor and
relationships used to estimate software development
effort could change over time and may differ for
different software development environments. to
address and overcome these problems, a new model
with accurate estimation will be desired. The paper
provides the solution that uses prediction model of a
genetic algorithm as an optimization algorithm that can
be used to improve the effort estimation accuracy in
agile software development methodology by
chromosomes that is made up of a gene pool that
include user stories, friction factors, implementation
Level factor, and dynamic forces. [4]
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
1 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
2. Genetic Algorithm
In artificial intelligence (AI), an evolutionary
algorithm (EA) is a subset of evolutionary computation,
a generic population-based metaheuristic optimization
algorithm. An evolutionary algorithm uses mechanisms
inspired by biological evolution, such as reproduction,
mutation, recombination, and selection. Candidate
solutions to the optimization problem play the role of
individuals in a population, and the fitness function
determines the quality of the solutions. The evolution
of the population then takes place after the repeated
application of the above operators. [5]
2.1 Genetic Algorithm Process
In Genetic evolutionary optimization Algorithms
techniques that have several alternative solutions to
transfer the problem from its real domain to the
domain of evolutionary algorithms. the result of the
solution is closer to the optimal, where the
evolutionary process starts with the number of random
solutions (population). [6]
These solutions (individuals)
are then encoded according to the current problem, and
the quality of each individual is evaluated through
computation a fitness of each individual in the initial
population, after which the current population changes
to a new population as showing fig 2 by applying three
basic operators:
Fig 2: Genetic Algorithm Flowchart
1) individuals Selection for reproduction using
some of the selection mechanisms
2) Create an offspring using crossover and
mutation operators. The probability of crossover and
mutation are selected based on the application.
3) Compute the new generation of the population.
This process will end either when the maximum
number of generations is reached or the optimal
solution is found.
2.2 Algorithm
1) Start: Create a random population of potential
solutions consisting of n individuals.
2) Fitness: Evaluate the fitness value f(x) of each
individual, x, in the population.
3) New population: Repeat the following steps to
create a new population until completion of the new
population.
4) Selection (Reproduction): The process of
choosing the "best" parents in the community for
mating, "best" is defined based on the current problem,
has an active role in solving premature convergence
resulting from a lack of diversity in the population,
therefore identifying the appropriate selection
technique is a critical step. [7]
2.3 Genetic Algorithm Parameters
The parameters of the Genetic Algorithm, including
the following:
1) The size of the Population: the selection of the
size of the population is a critical issue, if the size of
the population is very small, which means little search
space, so it is possible to reach the local optimum. if
the size of the population is too large, this will increase
the area of search and increase the mathematical load,
and therefore the process becomes slow, therefore, the
size of the population must be reasonable.
2) The rate of Crossover: This determines the
number of times a crossover occurs in the
chromosomes in one generation, which is between 0%-
100%; crossover rate is a delicate matter.
3) The rate of Mutation: Determines how many
genes mutate in one generation; that between 0%-
100%, and is also a delicate matter. decreases or
Increases in the rate of mutation and crossover can
have both a negative and positive effect. [8]
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
2 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
4) The number of generations: Several cycles
before termination. In some cases, hundreds of loops
are sufficient and others are not, and this depends on
the complexity of the problem.
All these Genetic Algorithm parameters are important
because they determine the quality of the solution.
2.4 Biological Chromosomes in GA Algorithm
Can be surmised in the following points:
1) Genetic information is stored in the
chromosomes
2) Each chromosome is built of DNA
3) Genes are encoded in the chromosomes
4) Genes code for proteins
5) Every gene has a unique position on the
chromosome
The Chromosome in a genetic algorithm represents the
set of possible combinations within the search space. It
is commonly represented as a binary string of 0s and 1s
as showing in Fig 3. In this paper, the Chromosome
consists of the following parts: Story Point (SP),
Implementation Level Factors (ILF), Friction Factors
(FR), and Dynamic Forces. effectively constructing a
population of SP, ILF, FR, DF. For SP considered two
possibilities, represented by a binary string of 1 bit (19
= 2). For ILF, we considered three possible techniques,
also represented by a binary string of 3 bits (24 = 8).
For FR, DF, we considered twelve different
possibilities, which required 4 bits to represent (24 =
16). With this Chromosome representation, the goal of
the genetic algorithm is to find the Chromosome that
maximizes a fitness function. We only worked with
combinations within the proposed range. For example,
the range of the attribute selection is between 1 to 5.
This means that combinations with the attribute
selection set of 6 to 8 are not valid.
Fig 3: Binary String Example
3. Effort Estimation Techniques
To determine the process of the best-predicted
effort required to develop a software project is termed
as software effort estimation. This estimation can be
divided into three levels. The first level consists of size
estimation, the second level to involves effort
estimation and the third level is the cost estimation,
and the effort estimation is calculated in terms of
(Person-Months). [9]
Software effort estimation techniques can be
classified into algorithmic and non-algorithmic models.
The recent researches focused on an algorithmic model
such as:
1) Line of Code (LOC).
2) Functions point matrices.
3) COCOMO and COCOMO-II.
4) Object points.
5) Software life cycle management.
6) Use case estimation.
7) Story points.
Agile software development methodology plays an
important role in implementing communication goals
between customers in a planned manner. The main
issue of determining effort estimation in agile methods
is to focus on the effort and degree of difficulties of
teamwork rather than an individual. The main task is to
estimate the required effort keeping in mind the
technical complexity of the project. Agile software has
many advantages as it is iterative, modular,
incremental, customer-oriented and time-bound. [10]
This paper focused on the factors of the story point
to estimate the efforts in agile software development.
The story point is the most common estimation
technique for agile software development.
Story points refer to an estimate of the relative
scale of the work in terms of actual development effort.
Story Point estimation is done using relative sizing by
comparing one story with a sample set of big sized
stories. [11]
As Show in Teable1 Relative sizing across
stories tends to be much more accurate over a larger
sample, than trying to estimate each story for the effort
involved. Planning poker is one of the most useful
tools in agile software development.
Table 1:Story Point (SP) wights
Terms S Wight
Very Small Story VSS 1
Small Story SS 2
Medium Story MS 3
Large Story LS 5
Very Large Story VLS 8
Table 1 shows the weight of Story Point (SP) which
can have many iterations depending upon the system
requirements. The weights assigned to each customer
or user stories are predicted.
In Implementation Life Factors (ILF) includes the
terms Off the Shelf (OS), Full Experience Components
(FEC), Partial Experience Components (PEC), and
New Components (NC). as shows in Table 2 the
scaling factor for implementation level which
represents the level of understanding each user story.
Table 2:Implemntation Life Factors (ILF) Scale
Term Ser Scale
Off the Shelf OS 1
Full Experience Components FEC 2
Partial Experience Components PEC 3
New Components NC 4
The optimization process refers to study the
constraints of a project that should be completed before
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
3 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
the calibration to improve the stability of the velocity
calculation. This process includes two factors are
Friction Factor (FR) and Dynamic Forces (DF).
The friction includes a range of factors that may
affect the team velocity they are team composition, the
process, environmental factors, and dynamic of the
team. as shown in Table 3. the composition of the team
concerns the skills and attitudes of team members. The
process factor refers to the percentage of change in the
agile methods, release, building, and testing. The
environmental factors refer to the noise, poor
ventilation, poor lighting, uncomfortable seating and
desks, inadequate hardware, or software. Team
dynamics are patterns of interaction among team
members that determine the performance of the team.
Table 3: Friction Factors (FR)
Friction factors Stable volatile
Highly
volatile
Very highly
volatile
Team composition 1 .98 .95 .91
Process 1 .98 .94 .89
Environmental
factors
1 .99 .98 .96
Team dynamic 1 .98 .91 .85
As shown in Table 3 the Friction Factors (FR)
with a range of values. Each factor has been adjusted
according to their risk level (stable, volatile, highly
volatile, and very highly volatile).
The dynamic forces (DF) refers to the factors that
could lead to a loss of velocity. These factors are
unexpected or non-predictable. The dynamic forces
(DF) include some of the factors - team changes, new
tools, vendor defects, responsibilities out of the project,
personal issues, stakeholders, unclear requirements,
changing requirements, and reallocation. as shown in
Table 4, Those factors are ranked from (Normal, high,
very high, and extra high). [12]
Table 4: Dynamic Forces (DF) variables
Variable Factors
Normal
High
Very
High
Extra-
High
Expected to team change 1 .98 .95 .91
Introduction to a new tool 1 .99 .97 .96
Vendor’s Defect 1 .98 .94 .90
Responsibilities out of the project 1 .99 .98 .98
Personal Issues 1 .99 .99 .98
Expected Delay in Stakeholder
response
1 .99 .98 .96
Expected Ambiguity in Details 1 .98 .97 .95
Expected Changes in environment 1 .99 .98 .97
Expected Relocation 1 .99 .99 .98
when the project is complete, the effort will be
the sum of membership degree of Story Point (SP),
Implementation Life Factors (ILF), and population of
all individual user stories. The Eq. (2) shows the fuzzy
story size (FSS) by using the triangle membership
function μ.
3.1 Performance Criteria
There are some of the performance measures
criteria existing in the some of literature. The
performance of different models can be evaluated by
using the main criteria as the following:
1) Mean size of relative error- It is used to
calculate the percentage of the difference between the
actual and estimated effort and finally assess the
relative error averaged over a large number of values
for a set of the effort. [13]
actual i, is the actual effort required of i the data
test, predicted i, is the estimated effort from the
prediction of i data test. N represents the total count of
variables in the dataset. [14]
2) Mean squared error is used to calculate the
square of mean relative error by finding the difference
between estimated effort, actual and dividing by the
total number of datasets[15]
3) The third performance measure metric is the
percentage of prediction that represented as PRED(x),
given by
4) when complete the project, the effort will be
the sum of membership degree of SP, ILF, and Com
for all individual user stories. The below Equation
shows the fuzzy story size (FSS) by using the triangle
membership function μ. [16]
5) Fuzzy FR (FFR) is calculated as the product of
all four components of FR and the membership degree.
The below equation Shows the FFR calculation by
using the triangle membership function μ: [17]
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
4 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
4. Proposed Algorithm
The proposed design to is calculating the effort
estimation in agile software development by creating a
Multi-Population of Genetic Algorithm as showing in
Fig 4. the effort estimation is calculated as offspring
generated by inbreeding and crossbreeding in each
phase from software project implementation phases,
and the candidate for each population of the next
generation, each population include two chromosomes.
[18] [19]
The Proposed algorithm is described as follows:
1) Start- Initializing Population, by creating a two
population of potential solutions consisting of n
individuals.
Population (A) - include two chromosomes, the first
one called (Story Point) SP Chromosome as shown in
Table 5, which contains some of the gens. each gene is
representing a wight of Story Point factors, and the
second chromosome called Implementation Life
Factors (ILF), which also contains some of the gens.
each gene is representing a scale of ILF scales.
Population (B) - include two chromosomes, the first
one called Friction Factor (FR) Chromosome, That
Contains some of the gens. each gene is representing a
risk factor of FR scales. and the second chromosome
called Dynamic Forces (DF), which also contains some
of the gens. each gene is representing a variable of DF
factors. [20]
Fig 3: Multi Population of Genetic Algorithm
2) Fitness - Evaluate the fitness value f(x) of each
individual, x, in the population (A), then Evaluate the
fitness value in the population (B)
Story Point (SP) Chromosome:
Table 5 shows SP Chromosome which can have
many iterations depending upon the system
requirements. The weights assigned for each user
stories are predicted.
Table 5:Story Point (SP) Chromosome
0001 0010 0011 0101 1000
1 2 3 5 8
VSS SS MS LS VLS
Very
Small
Story
Small
Story
Medium
Story
Large
Story
Very
Large
Story
Implementation life factors (ILF) Chromosome
Table 6 shows (ILF) Chromosome scaling factor for
implementation level which represents the level of
understanding each user story, that include terms Off
the Shelf (OS), Full Experience Components (FEC),
Partial Experience Components (PEC), and New
Components (NC).
Table 6:(ILF) Chromosome
0001 0010 0011 0100
1 2 3 4
OS FEC PEC NC
Off the Shelf
Full
Experience
Components
Partial
Experience
Components
New
Components
Friction Factors (FR) Chromosome
Table 7 shows the (FR) Chromosome, with a range
of values. Each factor has been adjusted according to
their risk level (stable, volatile, highly volatile, and
very highly volatile).
Table 7:Friction Factor (FR) Chromosome
Stable Volatile
Highly
volatile
Very
highly
volatile
4 3 2 1
Team composition 0100 0011 0010 0001
Process 0100 0011 0010 0001
Environmental factors 0100 0011 0010 0001
Team dynamic 0100 0011 0010 0001
Team composition 0100 0011 0010 0001
Friction Factors (FR) Chromosome
Table 8 shows the (DF) Chromosomes refers to the
factors that could lead to loss of velocity. These factors
are unpredictable and unexpected.
Table 8:Dynamic Forces (DF) Chromosome
Normal
High
Very
High
Extra-
High
Expected to team change 0001 0010 0011 0100
Introduction to a new tool 0001 0010 0011 0100
Vendor’s Defect 0001 0010 0011 0100
Responsibilities out of the project 0001 0010 0011 0100
Personal Issues 0001 0010 0011 0100
Expected Ambiguity in Details 0001 0010 0011 0100
Expected Changes in the
environment
0001
0010 0011 0100
Expected Relocation 0001 0010 0011 0100
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
5 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
After the change, all estimation effort techniques
(SP, ILF, FR, DF) to genes in chromosomes will
perform some operations of genetic algorithm
(Selection, Crossover, Mutation) Severally for each
population.
Assuming we have an agile software, project divided
into sub-projects and we put random values of a story
point in the population (A) shows Table 9- as the
following:
Table 9:Population A
SP1 SP2 SP3 SP4 SP5 SP6
Project 1 2.4 0.7 8 -2 5 1.1
Project 2 -0.4 2.7 5 -0.1 7 0.1
Project 2 -0.1 2 2 -3 2 0.9
Project 3 4 7 12 6.1 1.4 -4
Project 4 3.1 4 0 2.4 4.8 0
Project 5 -2 3 -7 6 3 3
As showing in Table 10 – the 6 stories point (SP)
with total estimation effort (44.1%) in the first project.
that can enhance the result for estimation effort and
each story point (SP) will represent a gen in the genetic
algorithm chromosome.
Table 10:project 1 Chromosome
Gen0 Gen1 Gen2 Gen3 Gen4 Gen5
Chromosome 1
SP1 SP2 SP3 SP4 SP5 SP6 SP Project 1
2.4 0.7 8 -2 5 1.1 44.1
SS SS VLS SS VLS SS
The SP = SP1 Gen0 + SP2 Gen1 + SP3 Gen2 + SP4 Gen3
+ SP5 Gen4 + SP6 Gen5
The goal is to find the set of parameters (SP1:SP6)
that map the following input to its output
SP’ = 4 SP1 + 2 SP2 + 7 SP3 + 5 SP4 + 11 SP5 + SP6
To calculate the fitness function using the following
equation in the regression model:
SP’ = 4 SP1 + 2 SP2 + 7 SP3 + 5 SP4 + 11 SP5 + SP6
SP’ = 4 x 2.4 – 2 x 0.7 + 7 x 8 + 5 x -2 +11 x 5 + 1.1
SP’ = 110.3
Then calculate the fitness function for all
chromosomes in the population (A) with the same
previous steps as shown in Table 11.
Table 11:Fitness Function for all Chromosomes
Story Points (SP Chromosomes) – Population A SP’ F(C)
2.4 0.7 8 -2 5 1.1 110.3 0.015
-0.4 2.7 5 -0.1 7 0.1 100.1 0.018
-0.1 2 2 -3 2 0.9 13.9 0.033
4 7 12 6.1 1.4 -4 127.9 0.012
3.1 4 0 2.4 4.8 0 69.2 0.04
-2 3 -7 6 3 3 3 0.024
3) Selection – The individuals in this type are
selected according to their rank, but first we need to
sort the chromosomes based on their fitness value. this
process will be choosing the best parents or the best
chromosomes from table 12 Which carries the best
fitness function.
As shown in Table 12 the best parents from
population A
Table 12:Best Chromosomes
Story Points (SP Chromosomes) – Population A SP’ F(C)
P1 -0.1 2 2 -3 2 0.9 13.9 0.033
P2 3.1 4 0 2.4 4.8 0 69.2 0.04
P3 -2 3 -7 6 3 3 3 0.024
4) Crossover - in this operation will take two
parents (chromosomes) to generate a new offspring by
switching segments of the parent genes. It is more
likely that the new offspring (children) as shown in fig
4 will contain a good part of their parents, and
consequently perform better as compared to their
ancestors.
Fig 4: Crossover operation
The first crossover between two parents (P1, P2) as
showing in fig 5 to generate new offspring.
Fig 5: New Generate of Offspring
Then makes a crossover between other parents (P1,
P2) with the same previous steps.
5) Mutation – The mutation is one of the most
important phases of the genetic algorithm, by using
random of values of the story point factors (VSS, SS,
MS, LS, VLS), where it is changed or is switched
between specific genes within a single chromosome to
create chromosomes, that provide new enhancement
solutions for the generation of estimation effort.
Fig 6: New Generate of Offspring
As shown in Fig 6 the describe the mutation of the
chromosome by replacing the gene (4.8) with the gene
(2.4) as a random value from story point factors.
Then makes the mutation for all chromosomes that
generated form the crossover phase, with the same
previous steps.
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
6 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
After complete, the mutation phase will become the
first generation of the Population (A) as show the
generation 1 in Table 13.
Table 13: Generation 1 from Population A
Generation 0 – Population A
P1 -0.1 2 2 -3 2 0.9
P2 3.1 4 0 2.4 4.8 0
P3 -2 3 -7 6 3 3
Generation 1 – Population A
P1 -0.1 2 2 2.4 4.8 0
P2 3.1 4 0 6 3 3
P3 -2 3 -7 -3 2 0.9
When the new generation generated from the
population (A), all the phases of the genetic algorithm
will be re-applied on this generation (Fitness value,
Selection, Crossover, Mutation). The algorithm will be
stopped when achieves the goal, after completing the
mating pool of all chromosomes and completing the
mutation phase for all genes in the population, that use
random values of the story points factors, To ensure
that all point stories are addressed to extract effort
estimation for only story points Technique. can change
the value of the gene of story point (SP) chromosomes
to binary sting if the gene contains a set of attributes.
In implementation Life Factors (ILF) technique, that
the second chromosomes of the population (A) and the
Population (B), that include two chromosomes
(Friction Factor FR, Dynamic Forces DF), will be
appley the proposed genetic algorithm phases (Fitness
value, Selection, Crossover, Mutation), with the same
previous steps in all phases. The purpose of using the
Multi-Genetic Algorithm to accelerate the algorithm,
by dividing each of the two chromosomes into one
population.
5. Results
The Genetic Algorithm parameters that were
selected in the first test of the population (A), Which
underwent a set of proposed algorithm operations
showed the following results for effort estimation for
story points chromosomes:
Fig 7: Effort Estimation of SP
as shown in Fig 7 the proposed algorithm producing
an accurate estimation of effort for story point.
In implementation Life Factors (ILF) Chromosomes,
the proposed genetic algorithm extracted accurate
results, which represents the level of understanding
each user story.
Fig 8: Effort Estimation of ILF
Fig 9 shows the proposed genetic algorithm extract
the effort estimation for dynamic forces assigned
values, which refers to the factors that could lead to
loss of velocity. The factors are ranked from (Normal,
high, very high, and extra high)
Fig 9: Effort Estimation of Dynamic Forces
Fig 10 shows the Effort Estimation for friction factor
FR with a range of values, also put each factor
according to their risk level (stable, volatile, highly
volatile, and very highly volatile).
Fig 10: Effort Estimation - Friction Factor
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
7 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
6. Conclusion
This paper aimed to propose to improve the effort
estimation in agile software development methodology
by using Multi - genetic algorithm. the proposed model
has been put a population of candidate solutions for
(Story Points, Implementation Life Factors, Fraction
Factors, and Dynamic forces) to optimization the effort
estimation in agile software development methodology.
Each candidate solution has a set of properties (Parents,
chromosomes) which can be mutated and altered;
traditionally, solutions fit represented in decimal or
binary as strings of 0s and 1s, and other encodings are
also possible.
References
[1] Srivastava, P. R., & Kim, T. H¸ Application of
genetic algorithm in software testing. International
Journal of software Engineering and its Applications,
2009, 3 (4), 87-96.
[2] Raja, P. V., & Bhaskaran, V. M, Improving the
Performance of Genetic Algorithm by reducing the
population size, International Journal of Emerging
Technology and Advanced Engineering ,2013, 86-91.
[3] Nagy Ramadan Darwish, “Improving the Quality of
Applying eXtreme Programming (XP) Approach",
International Journal of Computer Science and Information
Security (IJCSIS), November 2011, ISSN 1947-5500, Vol. 9
No. 11.
[4] Patil, S., & Bhende, M, Comparison and Analysis of
Different Mutation Strategies to improve the Performance of
Genetic Algorithm, (IJCSIT) International Journal of
Computer Science and Information Technologies,2014,5 (3),
4669-4673.
[5] Paulinas, M, & Ušinskas A, A survey of genetic
algorithms applications for image enhancement and
segmentation, Information Technology and control,2015,36.
[6] Sharma, P., & Wadhwa, A, Analysis of Selection
Schemes for Solving an Optimization Problem in Genetic
Algorithm. International Journal of Computer Applications,
2014, 93 (11).
[7] Kumar, A, Encoding schemes in genetic algorithm,
International Journal of Advanced Research in IT and
Engineering, 2013, 2 (3), 1-7.
[8] Soni, N., & Kumar, T, Study of Various Mutation
Operators in Genetic, (IJCSIT) International Journal of
Computer Science and Information Technologies ,
2014. 5 (3), 4519-4521.
[9] Dong, M., & Wu, Y., Dynamic Crossover and Mutation
Genetic Algorithm Based on Expansion Sampling. Artificial
Intelligence and Computational Intelligence, 2009, 141-149.
[10] Ziauddin Zia,Shahid Kamal Tipu, and Shahrukh Zia
“An Effort Estimation Model for Agile Software
Development”, Advances in Computer Science and its
Applications (ACSA), Vol.2, 2012.
[11] Eldos, T. ,A New Migration Model For Distributed
Genetic Algorithms, Proceedings of the International
Conference on Scientific Computing ,2006, (CSC06), (pp.
128-134).
[12] Korejo, I., Yang, S., Brohi, K., & Khuhro, Z. U, Multi-
Population Methods with Adaptive Mutation for Multi-
Modal Optimization Problems. International Journal on Soft
Computing, Artificial Intelligence and Applications
(IJSCAI), 2013 ,2 (2).
[13] Sandeep Kad, Vinay Chopra, Fuzzy Logic based
framework for Software Development Effort Estimation, An
International Journal of Engineering Sciences, 2011, Vol. 1.
[14] Lee, W. C., Wang, J. Y., & Lee, L. Y, A hybrid genetic
algorithm for an identical parallel-machine problem with
maintenance activity, Journal of the Operational Research
Society, 2015.
[15] Evita Coelho,Anirban Basu, “Effort Estimation in Agile
Software Development using Story Points,” International
Journal of Applied Information Systems (IJAIS),Volume 3–
No.7, August 2012.
[16] Sandeep Kad, Vinay Chopra, “Fuzzy Logic based
framework for Software Development Effort Estimation”, An
International Journal of Engineering Sciences (IJES), Vol. 1,
2011.
[17] Vishal Sharma and Harsh Kumar Verma, “Optimized
Fuzzy Logic Based Framework for Effort Estimation in
Software Development”, International Journal of Computer
Science Issues (IJCSI), Vol. 7, Issue 2, No 2, 2010.
[18] Osaba, E., Onieva, E., Carballedo, R., Diaz, F., &
Perallos, A, An adaptive multi-crossover population
algorithm for solving routing problems. In Nature Inspired
Cooperative Strategies for Optimization, .2014, (NICSO
2013) (pp. 113-124). Springer International Publishing.
[19] H. Pourvaziri and B. Naderi, “A hybrid multi-
population genetic algorithm for the dynamic facility layout
problem,” Applied Soft Computing Journal, 2014, vol. 24,
pp. 457–469.
[20] Patil, S., & Bhende, M, Comparison and Analysis
of Different Mutation Strategies to improve the
Performance of Genetic Algorithm. (IJCSIT)
International Journal of Computer Science and
Information Technologies, 2014 5 (3), 4669-4673.
Hossam Al-Ansary: Doctor degree for computer science
in Cairo University, Computer and Information Technology
Dept.
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 22, No. 4, July-August 2024
https://google.academia.edu/JournalofComputerScience
https://zenodo.org/doi/10.5281/zenodo.12577978
8 https://sites.google.com/site/ijcsis/
ISSN 1947-5500

More Related Content

PDF
Application of Genetic Algorithm in Software Engineering: A Review
PDF
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
PDF
Software Testing Using Genetic Algorithms
PDF
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
PDF
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
PDF
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
PDF
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
PDF
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Application of Genetic Algorithm in Software Engineering: A Review
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
Software Testing Using Genetic Algorithms
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...

Similar to A_Proposed_Genetic_Algorithm_Model_to_Im.pdf (20)

PDF
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
PDF
Determination of Software Release Instant of Three-Tier Client Server Softwar...
PDF
Particle Swarm Optimization in the fine-tuning of Fuzzy Software Cost Estimat...
PDF
Automatically Estimating Software Effort and Cost using Computing Intelligenc...
PDF
J034057065
PDF
Analysis of Agile and Multi-Agent Based Process Scheduling Model
PDF
Risk Management; Utilizing Genetic-Fuzzy Approach
PDF
Towards effective bug triage with software data reduction techniques
PDF
Bug Triage: An Automated Process
PPTX
Introduction to genetic programming
PDF
Towards Effective Bug Triage with Software Data Reduction Techniques
PDF
A survey of predicting software reliability using machine learning methods
PDF
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
PDF
An approach for software effort estimation using fuzzy numbers and genetic al...
PDF
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
PDF
Towards effective bug triage with software data reduction techniques
PDF
Software Process Control on Ungrouped Data: Log-Power Model
PDF
Class quality evaluation using class quality
PDF
Class quality evaluation using class quality scorecards
PDF
DEFECT PREDICTION USING ORDER STATISTICS
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Particle Swarm Optimization in the fine-tuning of Fuzzy Software Cost Estimat...
Automatically Estimating Software Effort and Cost using Computing Intelligenc...
J034057065
Analysis of Agile and Multi-Agent Based Process Scheduling Model
Risk Management; Utilizing Genetic-Fuzzy Approach
Towards effective bug triage with software data reduction techniques
Bug Triage: An Automated Process
Introduction to genetic programming
Towards Effective Bug Triage with Software Data Reduction Techniques
A survey of predicting software reliability using machine learning methods
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
An approach for software effort estimation using fuzzy numbers and genetic al...
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
Towards effective bug triage with software data reduction techniques
Software Process Control on Ungrouped Data: Log-Power Model
Class quality evaluation using class quality
Class quality evaluation using class quality scorecards
DEFECT PREDICTION USING ORDER STATISTICS
Ad

More from Hossam Al-Ansary (7)

PDF
A Proposed Model for Web Proxy Caching Techniques to Improve Computer Network...
PDF
A Proposed Model for Datacenter in -Depth Defense to Enhance Continual Security
PDF
A Proposed Model for Radio Frequency Systems to Tracking Trains via GPS
PDF
A Proposed Virtualization Technique to Enhance IT Services
PDF
A Proposed Model for IT Disaster Recovery Plan
PDF
Proposed Model for Enhancing Data Storage Security in Cloud Computing Systems
PDF
A proposed model_for_cybercrime_detectio
A Proposed Model for Web Proxy Caching Techniques to Improve Computer Network...
A Proposed Model for Datacenter in -Depth Defense to Enhance Continual Security
A Proposed Model for Radio Frequency Systems to Tracking Trains via GPS
A Proposed Virtualization Technique to Enhance IT Services
A Proposed Model for IT Disaster Recovery Plan
Proposed Model for Enhancing Data Storage Security in Cloud Computing Systems
A proposed model_for_cybercrime_detectio
Ad

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
RMMM.pdf make it easy to upload and study
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Lesson notes of climatology university.
PPH.pptx obstetrics and gynecology in nursing
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
RMMM.pdf make it easy to upload and study
Pharmacology of Heart Failure /Pharmacotherapy of CHF
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
TR - Agricultural Crops Production NC III.pdf
VCE English Exam - Section C Student Revision Booklet
Microbial disease of the cardiovascular and lymphatic systems
Abdominal Access Techniques with Prof. Dr. R K Mishra
Anesthesia in Laparoscopic Surgery in India
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Renaissance Architecture: A Journey from Faith to Humanism
STATICS OF THE RIGID BODIES Hibbelers.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Pre independence Education in Inndia.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Lesson notes of climatology university.

A_Proposed_Genetic_Algorithm_Model_to_Im.pdf

  • 1. A Proposed Genetic Algorithm Model to Improve Effort Estimation in Agile Software Development Hossam Abdel Rahman Mohamed Al-Ansary Computer and Information Technology Dept, Cairo University Email: Hossam_mm7@yahoo.com Abstract— One of the main difficult tasks in software development projects is an effort estimation accuracy. the project's estimated cost, duration, and maintenance effort early in the development life cycle is a big challenge to be achieved for software projects. Agile software projects require an innovative effort estimation model to help a constructive cost accurate estimation. The main focus of this paper is using the prediction model of genetic algorithm to improve the effort estimation accuracy by chromosomes that are made up of a gene pool that includes user stories, friction factors, implementation Level factor, and dynamic forces. Index Terms—Genetic Algorithm, Agile Software Development, Effort estimation. 1. Introduction The management of the software development project is the process of planning, organizing, staffing, monitoring, controlling, and software project leading. the life cycle of the project consists of four phases Project initiation, project planning, project execution, and project closure. the Project planning is a crucial phase in the life cycle of the software project because it includes many challenging activities that are necessary; such as software estimation process that includes estimating the size of the software product to be produced, estimating the effort required, developing preliminary project schedules, and finally, estimating the overall cost of the project. [1] Agile Software Development (ASD) is a group of software development processes that are iterative, incremental, self-organizing, and emergent that continuously refined and prioritized following principles of Just In Time (JIT) management. [2] The main issue of determining effort estimation in the agile methodology is to focus on the effort and degree of difficulties of teamwork instead of an individual. Agile Software Development uses different techniques to deliver software products with maximum customer satisfaction. Some of the techniques include XP (Extreme Programming) as shown in fig 1, Scrum Methodology, Adaptive Software Development (ASD). Some of the existing work shows that during the use of Agile Software Development, the team uses a story point approach to calculate the effort with the help of user story and project velocity as inputs. The main task is to estimate the required effort keeping in mind the technical complexity of the project. [3] Fig 1: Agile Extreme Programing (XP) Lifecycle The calculation and understanding of estimation models based on user stories are difficult due to inherent complex relationships between the related friction factors. an implementation Level factor and relationships used to estimate software development effort could change over time and may differ for different software development environments. to address and overcome these problems, a new model with accurate estimation will be desired. The paper provides the solution that uses prediction model of a genetic algorithm as an optimization algorithm that can be used to improve the effort estimation accuracy in agile software development methodology by chromosomes that is made up of a gene pool that include user stories, friction factors, implementation Level factor, and dynamic forces. [4] International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 1 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 2. 2. Genetic Algorithm In artificial intelligence (AI), an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An evolutionary algorithm uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions. The evolution of the population then takes place after the repeated application of the above operators. [5] 2.1 Genetic Algorithm Process In Genetic evolutionary optimization Algorithms techniques that have several alternative solutions to transfer the problem from its real domain to the domain of evolutionary algorithms. the result of the solution is closer to the optimal, where the evolutionary process starts with the number of random solutions (population). [6] These solutions (individuals) are then encoded according to the current problem, and the quality of each individual is evaluated through computation a fitness of each individual in the initial population, after which the current population changes to a new population as showing fig 2 by applying three basic operators: Fig 2: Genetic Algorithm Flowchart 1) individuals Selection for reproduction using some of the selection mechanisms 2) Create an offspring using crossover and mutation operators. The probability of crossover and mutation are selected based on the application. 3) Compute the new generation of the population. This process will end either when the maximum number of generations is reached or the optimal solution is found. 2.2 Algorithm 1) Start: Create a random population of potential solutions consisting of n individuals. 2) Fitness: Evaluate the fitness value f(x) of each individual, x, in the population. 3) New population: Repeat the following steps to create a new population until completion of the new population. 4) Selection (Reproduction): The process of choosing the "best" parents in the community for mating, "best" is defined based on the current problem, has an active role in solving premature convergence resulting from a lack of diversity in the population, therefore identifying the appropriate selection technique is a critical step. [7] 2.3 Genetic Algorithm Parameters The parameters of the Genetic Algorithm, including the following: 1) The size of the Population: the selection of the size of the population is a critical issue, if the size of the population is very small, which means little search space, so it is possible to reach the local optimum. if the size of the population is too large, this will increase the area of search and increase the mathematical load, and therefore the process becomes slow, therefore, the size of the population must be reasonable. 2) The rate of Crossover: This determines the number of times a crossover occurs in the chromosomes in one generation, which is between 0%- 100%; crossover rate is a delicate matter. 3) The rate of Mutation: Determines how many genes mutate in one generation; that between 0%- 100%, and is also a delicate matter. decreases or Increases in the rate of mutation and crossover can have both a negative and positive effect. [8] International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 2 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 3. 4) The number of generations: Several cycles before termination. In some cases, hundreds of loops are sufficient and others are not, and this depends on the complexity of the problem. All these Genetic Algorithm parameters are important because they determine the quality of the solution. 2.4 Biological Chromosomes in GA Algorithm Can be surmised in the following points: 1) Genetic information is stored in the chromosomes 2) Each chromosome is built of DNA 3) Genes are encoded in the chromosomes 4) Genes code for proteins 5) Every gene has a unique position on the chromosome The Chromosome in a genetic algorithm represents the set of possible combinations within the search space. It is commonly represented as a binary string of 0s and 1s as showing in Fig 3. In this paper, the Chromosome consists of the following parts: Story Point (SP), Implementation Level Factors (ILF), Friction Factors (FR), and Dynamic Forces. effectively constructing a population of SP, ILF, FR, DF. For SP considered two possibilities, represented by a binary string of 1 bit (19 = 2). For ILF, we considered three possible techniques, also represented by a binary string of 3 bits (24 = 8). For FR, DF, we considered twelve different possibilities, which required 4 bits to represent (24 = 16). With this Chromosome representation, the goal of the genetic algorithm is to find the Chromosome that maximizes a fitness function. We only worked with combinations within the proposed range. For example, the range of the attribute selection is between 1 to 5. This means that combinations with the attribute selection set of 6 to 8 are not valid. Fig 3: Binary String Example 3. Effort Estimation Techniques To determine the process of the best-predicted effort required to develop a software project is termed as software effort estimation. This estimation can be divided into three levels. The first level consists of size estimation, the second level to involves effort estimation and the third level is the cost estimation, and the effort estimation is calculated in terms of (Person-Months). [9] Software effort estimation techniques can be classified into algorithmic and non-algorithmic models. The recent researches focused on an algorithmic model such as: 1) Line of Code (LOC). 2) Functions point matrices. 3) COCOMO and COCOMO-II. 4) Object points. 5) Software life cycle management. 6) Use case estimation. 7) Story points. Agile software development methodology plays an important role in implementing communication goals between customers in a planned manner. The main issue of determining effort estimation in agile methods is to focus on the effort and degree of difficulties of teamwork rather than an individual. The main task is to estimate the required effort keeping in mind the technical complexity of the project. Agile software has many advantages as it is iterative, modular, incremental, customer-oriented and time-bound. [10] This paper focused on the factors of the story point to estimate the efforts in agile software development. The story point is the most common estimation technique for agile software development. Story points refer to an estimate of the relative scale of the work in terms of actual development effort. Story Point estimation is done using relative sizing by comparing one story with a sample set of big sized stories. [11] As Show in Teable1 Relative sizing across stories tends to be much more accurate over a larger sample, than trying to estimate each story for the effort involved. Planning poker is one of the most useful tools in agile software development. Table 1:Story Point (SP) wights Terms S Wight Very Small Story VSS 1 Small Story SS 2 Medium Story MS 3 Large Story LS 5 Very Large Story VLS 8 Table 1 shows the weight of Story Point (SP) which can have many iterations depending upon the system requirements. The weights assigned to each customer or user stories are predicted. In Implementation Life Factors (ILF) includes the terms Off the Shelf (OS), Full Experience Components (FEC), Partial Experience Components (PEC), and New Components (NC). as shows in Table 2 the scaling factor for implementation level which represents the level of understanding each user story. Table 2:Implemntation Life Factors (ILF) Scale Term Ser Scale Off the Shelf OS 1 Full Experience Components FEC 2 Partial Experience Components PEC 3 New Components NC 4 The optimization process refers to study the constraints of a project that should be completed before International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 3 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 4. the calibration to improve the stability of the velocity calculation. This process includes two factors are Friction Factor (FR) and Dynamic Forces (DF). The friction includes a range of factors that may affect the team velocity they are team composition, the process, environmental factors, and dynamic of the team. as shown in Table 3. the composition of the team concerns the skills and attitudes of team members. The process factor refers to the percentage of change in the agile methods, release, building, and testing. The environmental factors refer to the noise, poor ventilation, poor lighting, uncomfortable seating and desks, inadequate hardware, or software. Team dynamics are patterns of interaction among team members that determine the performance of the team. Table 3: Friction Factors (FR) Friction factors Stable volatile Highly volatile Very highly volatile Team composition 1 .98 .95 .91 Process 1 .98 .94 .89 Environmental factors 1 .99 .98 .96 Team dynamic 1 .98 .91 .85 As shown in Table 3 the Friction Factors (FR) with a range of values. Each factor has been adjusted according to their risk level (stable, volatile, highly volatile, and very highly volatile). The dynamic forces (DF) refers to the factors that could lead to a loss of velocity. These factors are unexpected or non-predictable. The dynamic forces (DF) include some of the factors - team changes, new tools, vendor defects, responsibilities out of the project, personal issues, stakeholders, unclear requirements, changing requirements, and reallocation. as shown in Table 4, Those factors are ranked from (Normal, high, very high, and extra high). [12] Table 4: Dynamic Forces (DF) variables Variable Factors Normal High Very High Extra- High Expected to team change 1 .98 .95 .91 Introduction to a new tool 1 .99 .97 .96 Vendor’s Defect 1 .98 .94 .90 Responsibilities out of the project 1 .99 .98 .98 Personal Issues 1 .99 .99 .98 Expected Delay in Stakeholder response 1 .99 .98 .96 Expected Ambiguity in Details 1 .98 .97 .95 Expected Changes in environment 1 .99 .98 .97 Expected Relocation 1 .99 .99 .98 when the project is complete, the effort will be the sum of membership degree of Story Point (SP), Implementation Life Factors (ILF), and population of all individual user stories. The Eq. (2) shows the fuzzy story size (FSS) by using the triangle membership function μ. 3.1 Performance Criteria There are some of the performance measures criteria existing in the some of literature. The performance of different models can be evaluated by using the main criteria as the following: 1) Mean size of relative error- It is used to calculate the percentage of the difference between the actual and estimated effort and finally assess the relative error averaged over a large number of values for a set of the effort. [13] actual i, is the actual effort required of i the data test, predicted i, is the estimated effort from the prediction of i data test. N represents the total count of variables in the dataset. [14] 2) Mean squared error is used to calculate the square of mean relative error by finding the difference between estimated effort, actual and dividing by the total number of datasets[15] 3) The third performance measure metric is the percentage of prediction that represented as PRED(x), given by 4) when complete the project, the effort will be the sum of membership degree of SP, ILF, and Com for all individual user stories. The below Equation shows the fuzzy story size (FSS) by using the triangle membership function μ. [16] 5) Fuzzy FR (FFR) is calculated as the product of all four components of FR and the membership degree. The below equation Shows the FFR calculation by using the triangle membership function μ: [17] International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 4 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 5. 4. Proposed Algorithm The proposed design to is calculating the effort estimation in agile software development by creating a Multi-Population of Genetic Algorithm as showing in Fig 4. the effort estimation is calculated as offspring generated by inbreeding and crossbreeding in each phase from software project implementation phases, and the candidate for each population of the next generation, each population include two chromosomes. [18] [19] The Proposed algorithm is described as follows: 1) Start- Initializing Population, by creating a two population of potential solutions consisting of n individuals. Population (A) - include two chromosomes, the first one called (Story Point) SP Chromosome as shown in Table 5, which contains some of the gens. each gene is representing a wight of Story Point factors, and the second chromosome called Implementation Life Factors (ILF), which also contains some of the gens. each gene is representing a scale of ILF scales. Population (B) - include two chromosomes, the first one called Friction Factor (FR) Chromosome, That Contains some of the gens. each gene is representing a risk factor of FR scales. and the second chromosome called Dynamic Forces (DF), which also contains some of the gens. each gene is representing a variable of DF factors. [20] Fig 3: Multi Population of Genetic Algorithm 2) Fitness - Evaluate the fitness value f(x) of each individual, x, in the population (A), then Evaluate the fitness value in the population (B) Story Point (SP) Chromosome: Table 5 shows SP Chromosome which can have many iterations depending upon the system requirements. The weights assigned for each user stories are predicted. Table 5:Story Point (SP) Chromosome 0001 0010 0011 0101 1000 1 2 3 5 8 VSS SS MS LS VLS Very Small Story Small Story Medium Story Large Story Very Large Story Implementation life factors (ILF) Chromosome Table 6 shows (ILF) Chromosome scaling factor for implementation level which represents the level of understanding each user story, that include terms Off the Shelf (OS), Full Experience Components (FEC), Partial Experience Components (PEC), and New Components (NC). Table 6:(ILF) Chromosome 0001 0010 0011 0100 1 2 3 4 OS FEC PEC NC Off the Shelf Full Experience Components Partial Experience Components New Components Friction Factors (FR) Chromosome Table 7 shows the (FR) Chromosome, with a range of values. Each factor has been adjusted according to their risk level (stable, volatile, highly volatile, and very highly volatile). Table 7:Friction Factor (FR) Chromosome Stable Volatile Highly volatile Very highly volatile 4 3 2 1 Team composition 0100 0011 0010 0001 Process 0100 0011 0010 0001 Environmental factors 0100 0011 0010 0001 Team dynamic 0100 0011 0010 0001 Team composition 0100 0011 0010 0001 Friction Factors (FR) Chromosome Table 8 shows the (DF) Chromosomes refers to the factors that could lead to loss of velocity. These factors are unpredictable and unexpected. Table 8:Dynamic Forces (DF) Chromosome Normal High Very High Extra- High Expected to team change 0001 0010 0011 0100 Introduction to a new tool 0001 0010 0011 0100 Vendor’s Defect 0001 0010 0011 0100 Responsibilities out of the project 0001 0010 0011 0100 Personal Issues 0001 0010 0011 0100 Expected Ambiguity in Details 0001 0010 0011 0100 Expected Changes in the environment 0001 0010 0011 0100 Expected Relocation 0001 0010 0011 0100 International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 5 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 6. After the change, all estimation effort techniques (SP, ILF, FR, DF) to genes in chromosomes will perform some operations of genetic algorithm (Selection, Crossover, Mutation) Severally for each population. Assuming we have an agile software, project divided into sub-projects and we put random values of a story point in the population (A) shows Table 9- as the following: Table 9:Population A SP1 SP2 SP3 SP4 SP5 SP6 Project 1 2.4 0.7 8 -2 5 1.1 Project 2 -0.4 2.7 5 -0.1 7 0.1 Project 2 -0.1 2 2 -3 2 0.9 Project 3 4 7 12 6.1 1.4 -4 Project 4 3.1 4 0 2.4 4.8 0 Project 5 -2 3 -7 6 3 3 As showing in Table 10 – the 6 stories point (SP) with total estimation effort (44.1%) in the first project. that can enhance the result for estimation effort and each story point (SP) will represent a gen in the genetic algorithm chromosome. Table 10:project 1 Chromosome Gen0 Gen1 Gen2 Gen3 Gen4 Gen5 Chromosome 1 SP1 SP2 SP3 SP4 SP5 SP6 SP Project 1 2.4 0.7 8 -2 5 1.1 44.1 SS SS VLS SS VLS SS The SP = SP1 Gen0 + SP2 Gen1 + SP3 Gen2 + SP4 Gen3 + SP5 Gen4 + SP6 Gen5 The goal is to find the set of parameters (SP1:SP6) that map the following input to its output SP’ = 4 SP1 + 2 SP2 + 7 SP3 + 5 SP4 + 11 SP5 + SP6 To calculate the fitness function using the following equation in the regression model: SP’ = 4 SP1 + 2 SP2 + 7 SP3 + 5 SP4 + 11 SP5 + SP6 SP’ = 4 x 2.4 – 2 x 0.7 + 7 x 8 + 5 x -2 +11 x 5 + 1.1 SP’ = 110.3 Then calculate the fitness function for all chromosomes in the population (A) with the same previous steps as shown in Table 11. Table 11:Fitness Function for all Chromosomes Story Points (SP Chromosomes) – Population A SP’ F(C) 2.4 0.7 8 -2 5 1.1 110.3 0.015 -0.4 2.7 5 -0.1 7 0.1 100.1 0.018 -0.1 2 2 -3 2 0.9 13.9 0.033 4 7 12 6.1 1.4 -4 127.9 0.012 3.1 4 0 2.4 4.8 0 69.2 0.04 -2 3 -7 6 3 3 3 0.024 3) Selection – The individuals in this type are selected according to their rank, but first we need to sort the chromosomes based on their fitness value. this process will be choosing the best parents or the best chromosomes from table 12 Which carries the best fitness function. As shown in Table 12 the best parents from population A Table 12:Best Chromosomes Story Points (SP Chromosomes) – Population A SP’ F(C) P1 -0.1 2 2 -3 2 0.9 13.9 0.033 P2 3.1 4 0 2.4 4.8 0 69.2 0.04 P3 -2 3 -7 6 3 3 3 0.024 4) Crossover - in this operation will take two parents (chromosomes) to generate a new offspring by switching segments of the parent genes. It is more likely that the new offspring (children) as shown in fig 4 will contain a good part of their parents, and consequently perform better as compared to their ancestors. Fig 4: Crossover operation The first crossover between two parents (P1, P2) as showing in fig 5 to generate new offspring. Fig 5: New Generate of Offspring Then makes a crossover between other parents (P1, P2) with the same previous steps. 5) Mutation – The mutation is one of the most important phases of the genetic algorithm, by using random of values of the story point factors (VSS, SS, MS, LS, VLS), where it is changed or is switched between specific genes within a single chromosome to create chromosomes, that provide new enhancement solutions for the generation of estimation effort. Fig 6: New Generate of Offspring As shown in Fig 6 the describe the mutation of the chromosome by replacing the gene (4.8) with the gene (2.4) as a random value from story point factors. Then makes the mutation for all chromosomes that generated form the crossover phase, with the same previous steps. International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 6 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 7. After complete, the mutation phase will become the first generation of the Population (A) as show the generation 1 in Table 13. Table 13: Generation 1 from Population A Generation 0 – Population A P1 -0.1 2 2 -3 2 0.9 P2 3.1 4 0 2.4 4.8 0 P3 -2 3 -7 6 3 3 Generation 1 – Population A P1 -0.1 2 2 2.4 4.8 0 P2 3.1 4 0 6 3 3 P3 -2 3 -7 -3 2 0.9 When the new generation generated from the population (A), all the phases of the genetic algorithm will be re-applied on this generation (Fitness value, Selection, Crossover, Mutation). The algorithm will be stopped when achieves the goal, after completing the mating pool of all chromosomes and completing the mutation phase for all genes in the population, that use random values of the story points factors, To ensure that all point stories are addressed to extract effort estimation for only story points Technique. can change the value of the gene of story point (SP) chromosomes to binary sting if the gene contains a set of attributes. In implementation Life Factors (ILF) technique, that the second chromosomes of the population (A) and the Population (B), that include two chromosomes (Friction Factor FR, Dynamic Forces DF), will be appley the proposed genetic algorithm phases (Fitness value, Selection, Crossover, Mutation), with the same previous steps in all phases. The purpose of using the Multi-Genetic Algorithm to accelerate the algorithm, by dividing each of the two chromosomes into one population. 5. Results The Genetic Algorithm parameters that were selected in the first test of the population (A), Which underwent a set of proposed algorithm operations showed the following results for effort estimation for story points chromosomes: Fig 7: Effort Estimation of SP as shown in Fig 7 the proposed algorithm producing an accurate estimation of effort for story point. In implementation Life Factors (ILF) Chromosomes, the proposed genetic algorithm extracted accurate results, which represents the level of understanding each user story. Fig 8: Effort Estimation of ILF Fig 9 shows the proposed genetic algorithm extract the effort estimation for dynamic forces assigned values, which refers to the factors that could lead to loss of velocity. The factors are ranked from (Normal, high, very high, and extra high) Fig 9: Effort Estimation of Dynamic Forces Fig 10 shows the Effort Estimation for friction factor FR with a range of values, also put each factor according to their risk level (stable, volatile, highly volatile, and very highly volatile). Fig 10: Effort Estimation - Friction Factor International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 7 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 8. 6. Conclusion This paper aimed to propose to improve the effort estimation in agile software development methodology by using Multi - genetic algorithm. the proposed model has been put a population of candidate solutions for (Story Points, Implementation Life Factors, Fraction Factors, and Dynamic forces) to optimization the effort estimation in agile software development methodology. Each candidate solution has a set of properties (Parents, chromosomes) which can be mutated and altered; traditionally, solutions fit represented in decimal or binary as strings of 0s and 1s, and other encodings are also possible. References [1] Srivastava, P. R., & Kim, T. H¸ Application of genetic algorithm in software testing. International Journal of software Engineering and its Applications, 2009, 3 (4), 87-96. [2] Raja, P. V., & Bhaskaran, V. M, Improving the Performance of Genetic Algorithm by reducing the population size, International Journal of Emerging Technology and Advanced Engineering ,2013, 86-91. [3] Nagy Ramadan Darwish, “Improving the Quality of Applying eXtreme Programming (XP) Approach", International Journal of Computer Science and Information Security (IJCSIS), November 2011, ISSN 1947-5500, Vol. 9 No. 11. [4] Patil, S., & Bhende, M, Comparison and Analysis of Different Mutation Strategies to improve the Performance of Genetic Algorithm, (IJCSIT) International Journal of Computer Science and Information Technologies,2014,5 (3), 4669-4673. [5] Paulinas, M, & Ušinskas A, A survey of genetic algorithms applications for image enhancement and segmentation, Information Technology and control,2015,36. [6] Sharma, P., & Wadhwa, A, Analysis of Selection Schemes for Solving an Optimization Problem in Genetic Algorithm. International Journal of Computer Applications, 2014, 93 (11). [7] Kumar, A, Encoding schemes in genetic algorithm, International Journal of Advanced Research in IT and Engineering, 2013, 2 (3), 1-7. [8] Soni, N., & Kumar, T, Study of Various Mutation Operators in Genetic, (IJCSIT) International Journal of Computer Science and Information Technologies , 2014. 5 (3), 4519-4521. [9] Dong, M., & Wu, Y., Dynamic Crossover and Mutation Genetic Algorithm Based on Expansion Sampling. Artificial Intelligence and Computational Intelligence, 2009, 141-149. [10] Ziauddin Zia,Shahid Kamal Tipu, and Shahrukh Zia “An Effort Estimation Model for Agile Software Development”, Advances in Computer Science and its Applications (ACSA), Vol.2, 2012. [11] Eldos, T. ,A New Migration Model For Distributed Genetic Algorithms, Proceedings of the International Conference on Scientific Computing ,2006, (CSC06), (pp. 128-134). [12] Korejo, I., Yang, S., Brohi, K., & Khuhro, Z. U, Multi- Population Methods with Adaptive Mutation for Multi- Modal Optimization Problems. International Journal on Soft Computing, Artificial Intelligence and Applications (IJSCAI), 2013 ,2 (2). [13] Sandeep Kad, Vinay Chopra, Fuzzy Logic based framework for Software Development Effort Estimation, An International Journal of Engineering Sciences, 2011, Vol. 1. [14] Lee, W. C., Wang, J. Y., & Lee, L. Y, A hybrid genetic algorithm for an identical parallel-machine problem with maintenance activity, Journal of the Operational Research Society, 2015. [15] Evita Coelho,Anirban Basu, “Effort Estimation in Agile Software Development using Story Points,” International Journal of Applied Information Systems (IJAIS),Volume 3– No.7, August 2012. [16] Sandeep Kad, Vinay Chopra, “Fuzzy Logic based framework for Software Development Effort Estimation”, An International Journal of Engineering Sciences (IJES), Vol. 1, 2011. [17] Vishal Sharma and Harsh Kumar Verma, “Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development”, International Journal of Computer Science Issues (IJCSI), Vol. 7, Issue 2, No 2, 2010. [18] Osaba, E., Onieva, E., Carballedo, R., Diaz, F., & Perallos, A, An adaptive multi-crossover population algorithm for solving routing problems. In Nature Inspired Cooperative Strategies for Optimization, .2014, (NICSO 2013) (pp. 113-124). Springer International Publishing. [19] H. Pourvaziri and B. Naderi, “A hybrid multi- population genetic algorithm for the dynamic facility layout problem,” Applied Soft Computing Journal, 2014, vol. 24, pp. 457–469. [20] Patil, S., & Bhende, M, Comparison and Analysis of Different Mutation Strategies to improve the Performance of Genetic Algorithm. (IJCSIT) International Journal of Computer Science and Information Technologies, 2014 5 (3), 4669-4673. Hossam Al-Ansary: Doctor degree for computer science in Cairo University, Computer and Information Technology Dept. International Journal of Computer Science and Information Security (IJCSIS), Vol. 22, No. 4, July-August 2024 https://google.academia.edu/JournalofComputerScience https://zenodo.org/doi/10.5281/zenodo.12577978 8 https://sites.google.com/site/ijcsis/ ISSN 1947-5500