The Role of Neural Networks and Metaheuristics in Agile Software Development Effort Estimation

The Role of Neural Networks and Metaheuristics in Agile Software Development Effort Estimation

Anupama Kaushik (Maharaja Surajmal Institute of Technology, Delhi, India; Indira Gandhi Delhi Technical University for Women, Delhi, India), Devendra Kumar Tayal (Indira Gandhi Delhi Technical University for Women, Delhi, India) and Kalpana Yadav (Indira Gandhi Delhi Technical University for Women, Delhi, India)
Copyright: © 2020 |Pages: 22
DOI: 10.4018/IJITPM.2020040104

Abstract

In any software development, accurate estimation of resources is one of the crucial tasks that leads to a successful project development. A lot of work has been done in estimation of effort in traditional software development. But, work on estimation of effort for agile software development is very scant. This paper provides an effort estimation technique for agile software development using artificial neural networks (ANN) and a metaheuristic technique. The artificial neural networks used are radial basis function neural network (RBFN) and functional link artificial neural network (FLANN). The metaheuristic technique used is whale optimization algorithm (WOA), which is a nature-inspired metaheuristic technique. The proposed techniques FLANN-WOA and RBFN-WOA are evaluated on three agile datasets, and it is found that these neural network models performed extremely well with the metaheuristic technique used. This is further empirically validated using non-parametric statistical tests.
Article Preview
Top

Introduction

In software development firms, two development approaches are present, the traditional software development approach and agile software development approach. In traditional software development approach requirements are well understood and there are predefined stages of development. This type of development is driven by process and tool. The requirements once decided is difficult to change and the customer’s involvement is limited in this development. Here, the iterations are longer and the working software is not quickly available.

In agile software development approach customers can do modifications until late in project’s life. They are people and collaboration driven. So, there is a continuous involvement of customers’. This development approach is more user friendly and follows incremental and iterative development. The iterations are shorter here and working software is available quickly. Now-a-days, software development firms are moving towards adopting agile methodologies (Dingsøyr, Nerur, Balijepally, & BredeMoe, 2012; Papadopoulos, 2015).

The success of a software project mainly depends upon the accuracy of estimation of its resources like effort, schedule etc. There are many effort estimation studies for traditional software development present in literature (Nguyen, Boehm &LiGuo, 2019; Venkataiah, Mohanty, Pahariya & Nagaratna, 2017; Kaushik, Verma, Singh & Chabbra, 2017; Kaushik, Tayal, Yadav & Kaur, 2016). These studies are based on algorithmic and non-algorithmic approach. The COCOMO model (Boehm, 1994) commonly used for effort estimation in traditional software development uses algorithmic approach. The non-algorithmic approach uses various soft computing techniques like fuzzy logic, neural network, genetic algorithms etc.

In agile software development approach, not much of work has been done in estimation of resources for the projects but a lot of work is going on for developing agile methodologies (Curiel, Jacobo, Alfaro, Zepeda & Delgado, 2018; Tolfo, Wazlawick, Ferreira & Forcellini, 2018; Perkusich, Gorgônio, Almeida, & Perkusich, 2017).This work is dedicated towards estimation of effort for agile projects using story point approach which finds the effort of a project in terms of story points. In the past, few researchers have applied various machine learning techniques for effort estimation using story point approach (Satapathy, Panda & Rath, 2014; Panda, Satapathy & Rath, 2015; Satapathy & Rath, 2017).

The current work integrates artificial neural networks (ANN) with a metaheuristic technique for effort estimation of projects following agile methodologies. The ANN used are RBFN and FLANN and, the metaheuristic technique used is whale optimization algorithm (WOA).

The ANN models incorporated have no relationship with each other and they are evaluated independently. These models are used as they have their own advantages. The major advantages of FLANN are: it has less computational complexity, faster convergence and handles the non-linear data (Mishra & Dehuri, 2007) ; and the major advantages of RBFN are: its easy design, good generalization, strong tolerance to input noise and has faster online learning ability (Yu, Xie, Paszczyñski & Wilamowski, 2011). These models are also chosen as no earlier study exists based on these models for agile environment.

Complete Article List

Search this Journal:
Reset
Open Access Articles
Volume 12: 4 Issues (2021): Forthcoming, Available for Pre-Order
Volume 11: 4 Issues (2020): 3 Released, 1 Forthcoming
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing