Article Preview
TopIntroduction
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.