Uploaded by Abdelfattah Habib

EffortEstimationinAgileSoftwareProjectsusingFuzzyLogicandStoryPoints

advertisement
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/288839279
Effort Estimation in Agile Software Projects using Fuzzy Logic and Story
Points
Conference Paper · December 2015
CITATION
READS
1
1,623
3 authors:
Atef T. Nour El-Din Raslan
6 PUBLICATIONS 52 CITATIONS
Nagy Ramadan
Cairo University
97 PUBLICATIONS 324 CITATIONS
SEE PROFILE
SEE PROFILE
Hesham A. Hefny
Faculty of Graduate Studies for Statistical Research (FGSSR)
300 PUBLICATIONS 2,195 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Enhancing Security on Cloud Computing Based on Cryptography View project
Mining efficient association rules using fuzzy formal concept analysis View project
All content following this page was uploaded by Atef T. Nour El-Din Raslan on 01 January 2016.
The user has requested enhancement of the downloaded file.
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
Effort Estimation in Agile Software Projects using
Fuzzy Logic and Story Points
Atef Tayh Raslan 1
Nagy Ramadan Darwish 2
Hesham Ahmed Hefny 3
Abstract: Software estimation models focuses on estimate the size, time, and cost
required to complete the project. The Agile methodologies are more different compared with
traditional methods. Thus by the use of traditional effort estimation models can be lead to
inaccurate effort estimation. This paper aims to improve the effort estimation accuracy in
software project development by applying the fuzzy logic and Story Points Estimation Model
(SPEM) on agile software development. This paper introduces a model based of a fuzzy logic
to improving the accuracy of estimation in agile projects. The model accepts five inputs and
produces the project effort estimation. The inputs of the proposed model include FRiction
factors (FR), and Dynamic Forces (DF), Story Points (SP), Implementation Level Factor
(ILF), and Complexity (Com). The proposed model can be used to enhance the process of
effort estimation in agile projects.
Keywords: Agile Software Development, Effort Estimation, Story point, Fuzzy logic
1. Introduction and Problem Definition
Effort Estimation is very important stage in software development which includes the
predicting the amounts effort that required to complete the project. The effort estimation
process includes estimating the volume of the project in term of person/month, project
scheduling, and estimating overall the project budget. The software estimation metrics uses
to handle the project size, which include three common methods are Line of Code (LOC),
Function Point (FP), and use case point (UCP)[11]. The LOC focuses on the number of
instructions and data definitions eliminating instructions like notes, blanks, and also
continuation lines. FP measure the functionality of a project by determining the indicators of
user inputs, user outputs, logical files, inquiries and interfaces. UCP estimates the number of
use cases and actors, technical complexity and environmental complexity.
The success of software projects mainly depends on accurate estimation in planning phase.
The agile methodologies natural are different compared with the traditional methods, so the
traditional effort estimation techniques can give us inaccurate estimation [20]. Agile software
development needs to a new effort estimation technique to make accurate estimation [22, 23].
Most of the existing effort estimation techniques are suitable for traditional sequential
projects. It will be useful to overcome these problems by introducing a proposed model
based on fuzzy logic and SPEM model.
2. Theoretical Background
In this section, the authors will introduce the basic concepts that are important in the domains
of: fuzzy logic, agile software development, software estimation techniques, and story point
estimation model.
1
Information Sciences, Institute of Statistical Studies and Research, Atef_rslan2004@yahoo.com
Information Sciences, Institute of Statistical Studies and Research, drnagyd@yahoo.com
3
Information Sciences, Institute of Statistical Studies and Research, Hehefny@ieee.org
2
1
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
2.1. Fuzzy Logic System
A fuzzy logic System (FLS) approach introduced by Lotfy Zadeh to handling the vagueness
and uncertainty data [11]. FLS is the field in computer science that deals with imprecision,
uncertainty, and approximation to achieve practicability, robustness and low cost solutions.
FLS is a nonlinear mapping of an input data set to a scalar output data based on the
membership degree. FLS system includes Fuzzifier, Fuzzy Rule Base, Fuzzy Inference
Engine, and Defuzzification. The fuzzifier converts the crisp input into a fuzzy set that is a
non-traditional type of sets which allows an element to have a partial degree of membership.
The membership refers to the degree of inclusion to specific set. A fuzzy inference engine is
a collection of IF -THEN rules stored in fuzzy rule base is known as inference engine.
Defuzzification is the process which refers to the transform of fuzzy output into crisp output.
2.2. Agile Software Development
The Agile Software Development (ASD) methodology has recently become one of the most
commonly used software development techniques. ASD is “an iterative and incremental
approach that is performed in a highly collaborative manner to produce high quality software
that meets the changing needs of its stakeholders” [19]. It’s focusing on the software quality
during a short time and meeting the customer requirements [20, 14]. The natural of the ASD
processes is and self-organizing [17].The characteristics of ASD include modularity,
iterative, time-bounded, people oriented, adaptive, decentralized method, simplicity,
collaborative, communicative, and small self-organizing teams. The ASD methodologies are
based on the agile manifesto that was created in 2001. The agile manifesto includes twelve
principles on ASD [7]. The ASD methodologies include Dynamic Systems Development
Method (DSDM), eXtreme Programming (XP), Feature Driven Development (FDD) and
SCRUM [14, 9, 10, 12, 15, and 18].
2.3. Software Estimation Techniques
There are many estimation techniques in the domain of software development. Figure (1)
shows the most common software estimation models which classified into algorithmic and
non-algorithmic models. The algorithmic models include linear/none-linear model, descried
model, multiplicative model, and power function model. The algorithmic model focuses on
the statistical analysis of the project historical data. It needs to accurate input of specific
parameter such LOC, FP, number of user screens, and Graphical user interface (GUI)
complexity. There are many model based classified into algorithmic model such as
Constructive Cost Model (COCOMO), FP model, and UCP, and Software Life Cycle
Management (SLIM) model. Recently most of researches focused on the non-algorithmic
through introducing the soft computing science in estimation models. There many models
considered a non-algorithmic model such as expert judgment, thumb rule decision, Delphi
technique, Software Productivity Research SPR, wide band Delphi technique, probe software
process PSP , and team software process technique TSP. The recent models introduces based
on the soft computing techniques such as a Fuzzy Logic (FL), Artificial Neural Network
(ANN), and genetic algorithms to increase the accuracy of the project estimation [25].
2
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
Figure (1): Software Estimation Models
2.4. Story Points Estimation Model
The story points estimation model proposed by Ziauddin et al, in 2012. Figure (2) shows the
story points model which consists of three phases the story size estimation, velocity
optimization, and effort estimation [26]. In first phase, the size of story estimates via story
points which use a Fibonacci series to estimate each story. The project teamwork makes
several meeting to discuss the appropriate method to calculating the required effort for each
story and comparing it with previous stories. In the middle phase, the velocity is calculated
and optimized by two factors velocity estimation and complexity (Com). The velocity helps
the project team to determining the amount of product backlog effort can be handling in one
sprint. The Com focuses on the uncertainty in the user requirements by studying the story and
technical characteristics. The Com scales ranked using a Fibonacci sequence according to
their characteristics. The velocity optimization phase refers to studying the velocity stability
and improving it. There are two parameters used in the velocity optimization the FRiction
factors (FR) and Dynamic Force factors (DF). The friction includes a group of attributes that
could affect on the team velocity as environmental factors, team composition, team dynamic,
and process. The FR represents a range of values (stable, volatile, highly volatile, and very
highly volatile). The DF uses to studying the factors that could lead to destroying the velocity
which includes a 9 factors ranked from (Normal, high, very high, and extra high) team
changes, providing a new tools , user defects, project responsibilities , personal issues,
owners, vagueness in requirements, frequently changes in requirements, and reallocation. The
final phase calculating the project effort by using formula (1), (2) and the project velocity by
formula (3):
π‘ˆπ‘ π‘’π‘Ÿ π‘†π‘‘π‘œπ‘Ÿπ‘¦ πΈπ‘“π‘“π‘œπ‘Ÿπ‘‘ = ∑N
𝐼=1 πΆπ‘œπ‘š × π‘ π‘‘π‘œπ‘Ÿπ‘¦ 𝑠𝑖𝑧𝑒
(1)
Where N: Total number of user story
3
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
π‘ˆπ‘ π‘’π‘Ÿ π‘ π‘‘π‘œπ‘Ÿπ‘¦ πΈπ‘“π‘“π‘œπ‘Ÿπ‘‘
π‘‡β„Žπ‘’ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘‡π‘–π‘šπ‘’ = π‘ƒπ‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘‰π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ × π‘Šπ‘œπ‘Ÿπ‘˜π‘’π‘‘ π‘‘π‘Žπ‘¦π‘ /π‘šπ‘œπ‘›π‘‘β„Ž
π‘‡β„Žπ‘’ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘£π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ = πΌπ‘›π‘‘π‘–π‘Žπ‘™ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘£π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ (𝐷𝐹×𝐹𝑅)
(2)
(3)
Figure (2): Story Points Estimation Model (SPEM)
3. Related Works
There are many researches in effort estimation and agile software development. Some
of these researches provide good ideas in our work. The following are some examples of
these literatures:
 Carl Friedrich Kreb,et al, introduced an estimation model based a parametric cost
model for agile projects. The proposed model idea is combining the story points with
COCOMO II in order to create enhanced estimation model suitable for a large agile
projects [8].
 Sathish Kumar C., et al, introduced guide based harmony search algorithm to
optimize the effort estimation on agile software development. The results show the
proposed plan gives an effecting estimation compared with other estimation methods
[23].
 Sun-Jen H. And Nan-Hsing C., Introduced a COCOMO model based on a fuzzy
neural network. The research contributed to uses of FNN gives a smaller mean
magnitude of relative error, and subsequently increasing the accuracy of software
effort estimation [24].
 Jitender C. and Ugrasen S. proposed a model called by software Maintenance Effort
Estimation (SMEEM). This model focused on Xtreme Programming XP method by
uses the story points to calculate the volume of maintenance in the project. The results
show the proposed model gives an accurate estimation for maintenance in case of
using the XP method [13].
 Ziauddin A., et al, introduced a model based on a fuzzy logic for software effort
estimation. This model uses a COCOMO II model and triangular membership
function to improve the accuracy of software estimation. The final result showed the
uses of a fuzzy model give accurate results [27].
4
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015





Andreas S., et al, introduced a research that focused on the agile characteristics to
estimates the effort in agile projects. The research result showed the maintenance cost
affect on the project estimation [5].
Masateru T., et al, introduced a research that focused on the revisiting software
development effort estimation based on early phase development activities. It’s
contributed to increase the effort accuracy by collaborate the software size and uses
the requirement analysis tools during the exploratory phase [16].
Abeer H. introduced model that aims to increasing the sensitivity of COCOMO cost
model. This model uses a fuzzy model to enhances the accuracy and sensitivity of
COCOMO 81 intermediate by using a fuzzifying the cost drivers. The researcher
contributed to the increasing the sensitivity of COCOMO81 cost model [2].
Abeer H. Introduced model enhanced estimation model based a genetic fuzzy system.
This model uses a genetic algorithm with COCOMO81 intermediate. The results
showed that the accuracy was increased compared with traditional COCOMO model
[1].
Ratnesh L. and Abhay K., Proposed a model that aim to estimates the agile web
based. This research included numerous issues related with agile websites. The
researcher suggested suitable tools of effort estimation for agile websites [22].
4. The Proposed Model
Fuzzy-SPEM model consists of three layers input layer, process layer, and output layer, as
showing in figure (3). The input layer accepts the velocity factors and story size factors, and
then the process layer converts those inputs into fuzzy sets through a triangular membership
function µ (a) that based on two scalar parameters lower and higher limits [11, 6]. ILF
includes all factors that reflect the level of understanding the project components by the team
members. Table (1) shows the ILF values assigned by a Fibonacci points.
Table 1: Implementation Level Factors
Term
Scaling
0% - 25%
26% - 50%
51% - 75%
76% - 100%
Off the Shelf
Full Experience Components
Partial Experience Components
New Components
Fibonacci Point
1
2
3
5
The FR affect on the team velocity which includes team composition, process, environmental
factors, and team dynamic. Table (2) shows the Friction factors values, each factor in FR
classified to appropriate risk level (stable, volatile, highly volatile, and very highly volatile).
Table 2: Friction Factors
Friction factors
Stable (S) Volatile Highly volatile Very highly volatile
(V)
(HV)
(VHV)
Team Cmposition (TC)
1
.98
.95
.91
Process (P)
1
.98
.94
.89
Environmental Factors(EF)
1
.99
.98
.96
Team Dynamic (TD)
1
.98
.91
.85
5
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
Figure (3): The proposed Model
The DF includes all factors that could lead to destroying the velocity during the development
process. Table (3) shows the DF which ranked all factors as (normal, high, very high, extra
high).
Table 3: Dynamic Factors
Dynamic Factors
Expected to team change
Introduction to a new tools
Vendor’s Defect
Team member’s responsibilities outside the project
Personal Issues
Expected Delay in Stakeholder response
Expected Ambiguity in Details
Expected Changes in environment
Expected Relocation
Normal
1
1
1
1
1
1
1
1
1
High
.98
.99
.98
.99
.99
.99
.98
.99
.99
Very High
.95
.97
.94
.98
.99
.98
.97
.98
.99
Extra High
.91
.96
.90
.98
.98
.96
.95
.97
.98
The Com factors reflects the project complexity level that determined by the project team
work. Table (4) shows the Com level values assigned by Fibonacci point.
6
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
Table 4: Com Factors
Term
Extremely complex
Very complex
Moderately complex
Straightforward
Very straightforward
Scaling
0% - 20%
21% - 40%
41% - 60%
61% - 80%
81% - 100%
Fibonacci Point
1
2
3
5
8
The SPEM calculation uses a precise value from ILF, FF, DF, and Com factors. Table (5)
shows the values of TD factor that categorized by the range of attributes. The imprecision
problem appears when we selecting a specific range between two ranges.
Table 5: TD Factor Range
Attributes
Ranges
25%
TD Factor
1.00
Volatile
High Volatile
50%
75%
0.98
0.91
Very High Volatile
100%
0.85
Stable
Considering the FR factors to shows the Fuzzy-SPEM model process. The linguistic
values for FR can be represented as stable level ranged (0-25%), volatile level ranged (26%50%), highly volatile level ranged (51%-75%), and very highly volatile level ranged (76%100%). Figure (4) shows the antecedent part which derived using the definition of FR in
Table 1. Figure (5) shows the consequent part that derived using the definition of FR with
predefined linguistic values.
Figure (4): Antecedents fuzzy sets of Friction Factors
7
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
Figure (5): Consequent fuzzy sets of Friction Factors
The output layer converts from fuzzy set form to a crisp set form. There are many methods
used for defuzzifying the fuzzy output functions, they are: Max-membership principle,
centroid method, weighted average method, mean–max membership, centre of sums, centre of
largest area, and first of maxima or last of maxima. The output layer uses the centroid method,
as showing in formula (4) [11].
𝑋∗ =
∑ πœ‡(𝑋�).𝑋�
∑ πœ‡(𝑋�)
(4)
The X* is the crisp output which uses to calculate the Storysize*, StoryCom*, FR*, DF*, and
ILF* . The final effort estimation equations based on a fuzzy set shown in formula (5),
formula (6), and formula (7).
∗
∗
π‘ˆπ‘ π‘’π‘Ÿ π‘†π‘‘π‘œπ‘Ÿπ‘¦ πΈπ‘“π‘“π‘œπ‘Ÿπ‘‘ ∗ = ∑N
𝐼=1 πΆπ‘œπ‘š × π‘†π‘‘π‘œπ‘Ÿπ‘¦π‘ π‘–π‘§π‘’
(5)
Where N: Total number of user story
π‘‡β„Žπ‘’ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘£π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ ∗ = πΌπ‘›π‘‘π‘–π‘Žπ‘™ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘£π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ (𝐷𝐹
π‘‡β„Žπ‘’ π‘π‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘‡π‘–π‘šπ‘’ =
∗
∗ ×𝐹𝑅 ∗ )
π‘ˆπ‘ π‘’π‘Ÿ π‘†π‘‘π‘œπ‘Ÿπ‘¦ πΈπ‘“π‘“π‘œπ‘Ÿπ‘‘
∗
π‘ƒπ‘Ÿπ‘œπ‘—π‘’π‘π‘‘ π‘‰π‘’π‘™π‘œπ‘π‘–π‘‘π‘¦ × π‘Šπ‘œπ‘Ÿπ‘˜π‘’π‘‘ π‘‘π‘Žπ‘¦π‘ /π‘šπ‘œπ‘›π‘‘β„Ž
8
(7)
(6)
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
5. Conclusion and Future work
This paper aimed to propose a fuzzy-SPEM model for agile software development. The
proposed model based a fuzzy logic to improve the accuracy of effort estimation in agile
projects. The proposed model divide into three layers input layer, process layer, and output
layer. The Fuzzy-SPEM starts with input layer that includes the velocity and story size factors.
The process layer converts the velocity and story size factors to fuzzy set by uses a triangular
membership function. The rule base includes all rules that define the story size and project
velocity. The output layer uses the fuzzy inference to make conclusion and produce a crisp
value for the project velocity, volume of the story. Finally, the project effort estimation
calculates using the project velocity and size of the story.
The researcher planned in the future to implements Fuzzy-SPEM on real agile projects
evaluating the results to makes improvements in the proposed model.
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Abeer H.”Genetic Fuzzy System for Enhancing Software Estimation Models” ,
International Journal of Modeling and Optimization, Vol. 4, No. 3, June 2014.
Abeer Hamdy,”Fuzzy Logic for Enhancing the Sensitivity of COCOMO Cost Model”,
Journal of Emerging Trends in Computing and Information Sciences, Vol.3, No.9, 2012.
Amid Khatibi Bardsiri and Seyyed Mohsen Hashemi ,” Software Effort Estimation: A
Survey of Well-known Approaches” , International Journal of Computer Science
Engineering (IJCSE), ISSN : 2319-7323, Vol. 3 No.01 Jan 2014.
Amrita Raj Mukker, Anil Kumar Mishra,and Latika Singh, "Enhancing Quality in Scrum
Software Projects",International Journal of Science and Research (IJSR), Vol. 3, Issue 4,
2014.
Andreas Schmietendorf, Martin Kunz,and Reiner Dumke, “Effort estimation for Agile
Software Development Projects”, 5th Software Measurement European Forum, 2008.
Atef Tayh Raslan, Nagy Ramadan Darwish, and Hesham Ahmed Hefny, “Towards a
Fuzzy based Framework for Effort Estimation in Agile Software Development”,
International Journal of Computer Science and Information Security, (IJCSIS) 01/2015;
13(1):37-45.
Beck et al., “http://agilemanifesto.org/iso/en/manifesto.html,” last visited in November
2015. Ann L.
Carl Friedrich Kreb, Oliver Hummel, and Mahmudul Huq, “ Scaling Agile Estimation
Methods with a Parametric Cost Model”, The 9th International Conference on Software
Engineering Advance(ICSEA), 2014.
David Cohen, Mikael Lindvall, Patricia Costa, “An Introduction to Agile Methods,”
Advances in computers, Elsevier, V. 62, pp. 20-22, 2004.
Fruhling and Alvin E. Tarrell, “Best Practices for Implementing Agile Methods”, IBM,
2008.
Ganesh M. , “Introduction to Fuzzy Sets and Fuzzy Logic”, Prentice-Hall , 9788120328617, 2006.
Ioannis G. Stamelos, and Panagiotis Sfetsos, “Agile software development quality
assurance”, Idea Group, ISBN 978-1-59904-216-9, 2007.
Jitender Choudharia and Ugrasen Suman, “Story Points Based Effort Estimation Model
for Software Maintenance”, Elsevier, Procedia Technology, Volume 4, 2012.
John Hunt, “Agile software construction,” Springer, ISBN-10: 1-85233-944-6, 2006.
9
The 50thAnnual Conference on statistics, computer sciences, and operation research, 27-30 Dec 2015
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Kevin Vlaanderen, Sjaak Brinkkemper, Slinger Jansen, Erik Jaspers, “Applying SCRUM
Principles to Software Product Management,” Information and Software Technology, V.
53, Issue 1, pp. 58-70, 2011.
Masateru Tsunoda, Koji Toda, and Kyohei Fushida, Yasutaka Kamei, Meiyappan
Nagappan, and Naoyasu Ubayashi, “Revisiting Software Development Effort Estimation
Based on Early Phase Development Activities”,10th conference on mining software
repositories (MSR), IEEE, 2013.
Mike Cohn, “Software Development Using Scrum,” Addison-Wesley, ISBN: 9780321579362, 2009.
Mike Cohn, “Software Development Using Scrum,” Addison-Wesley, ISBN: 9780321579362, 2009.
Nagy Ramadan Darwish, “Improving the Quality of Applying eXtreme Programming
(XP) Approach", International Journal of Computer Science and Information Security
(IJCSIS) – ISSN 1947-5500, Vol. 9 No. 11, November 2011.
Nagy Ramadan Darwish,” Enhancements In Scum Framework Using Extreme
Programming Practices”, International Journal of Computer Science and Information
Security (IJICIS), Vol.14, No. 2 April 2014.
Rashmi Popli and Naresh Chauhan ” An Agile Software Estimation Technique based on
Regression Testing Efforts”, 13th Annual International Software Testing Conference,
India ,2008.
Ratnesh Litoriya and Abhay Kothari “An Efficient Approach for Agile Web Based
Project Estimation: AgileMOW”, Journal of Software Engineering and Applications,
VOL.6, 2013.
Sathish Kumar C. , Anitha Kumari A., and Srinivasa Perumal R., “An Optimized Agile
Estimation Plan Using Harmony Search Algorithm, ” International Journal of
Engineering and Technology (IJET), Vol 6 No 5, 2014.
Sun-Jen Huang and Nan-Hsing Chiu,”Applying fuzzy neural network to estimate
software development effort”, Springer Science, 2007.
Vahid Khatibi and Dayang N. A. Jawawi, “Software Cost Estimation Methods: A
Review”, Journal of Emerging Trends in Computing and Information Sciences, Vol.2,
2010.
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.
Ziauddin, Shahid Kamal, Shafiullah khan and Jamal Abdul Nasir, “ A Fuzzy Logic Based
Software Cost Estimation Model”, International Journal of Software Engineering and Its
Applications (IJSEIA), Vol. 7, Issue 2, 2013.
10
View publication stats
Download