An Efficient Approach for Agile Web Based Project Estimation: AgileMOW ()
1. Introduction
Software projects generally follow the traditional development life cycle models [1]. Unfortunately these models do not result in successful product in terms of technology used and satisfaction of revised requirements at the time of product release. Software development effort estimation deals with the prediction of the probable amount of time and cost required to complete the specific development task. Predicting the estimates obtained at the early stages of development life cycle is inaccurate because of long duration between the signing of the project and its delivery, also not much details of the system is available at that time. The way we develop software is changing. Software is developed from requirements through Agile Web development; professionals join together for building blocks and reusable components using rapid application development process and continuous prototyping [2]. Things take place so quickly that it is tough to get a handle on their status and whether they are making suitable progress [3]. Web based projects are also hard to estimate, especially in agile environment with limited resources, software developers require to better predict the time and effort is essential to pull off such projects successfully. The result motivates industries and developers to adapt more iterative and incremental agile models. Software estimation is mandatory for software developers and their companies because it can provide cost control delivery accuracy and many other benefits. There are three elements under software Web cost estimation, i.e. software metric, web cost estimation model and software cost estimation tool [4]. Presently many quantitative models of software cost estimation have been developed. Most of the software estimation models available are based on some forms of regression technique, these models have a mathematical foundation and are constructed by collecting data on completed software project and developing regression equation relating them.
In this paper we introduce AgileMOW, an adaptation of a software estimation model to a particular context of agile methodology of software development. In the Second section, we briefly discuss about the software cost estimation models. Section 3 presents agile based web development projects and its characteristics, Section 4 highlights about challenges in web cost estimation, Sections 5 and 6 present the Agile software development and their manifestoes along with problem statement. The proposed model for agile web based software effort estimation is given and described in the following section.
2. Software Cost Estimation Models
Software industries and developers always interest to know the time estimation of software projects at the time of inception of software development. Cost models were only based on a single parameter such as program size. These models were not accurate and estimation done by comparing similar projects that have already been developed. Now a day in the light of software crisis all over the world, software estimation is a big challenge due to it allows for financial and strategic planning. Software cost estimation techniques can broadly be classified under algorithmic and non algorithmic models [5] as shown in Figure 1.
Figure 1. Software estimation classification.
Algorithmic models are based on the statistical analysis of historical data such as past projects. Non algorithmic techniques are based on new approach like expert judgment, price to win and machine learning.
2.1. Algorithmic Models
Few very popular algorithmic models includes COCOMO II by Boehm’s, function point by Albert’s and SLIM by Putnam. All these models require inputs accurate estimate of specific attribute such as line of code (LOC), number of user screen, interface complexity etc. which are difficult to predict during the initial stage of software development.
Figure 2 illustrates some very popular algorithmic models. Calculating these models is hard due to inherent complex relationships between the related attributes. Despite attributes and relationships used to predict software development estimates could change over for different software development environment. The limitation of algorithmic models led to the introduction of non algorithmic technique.
2.2. Non Algorithmic Models
Non algorithmic models for software estimation came into the existence in early 90’s. Researchers of their field found some new approaches supported by soft computing;
they are artificial neural network, fuzzy logic and genetic algorithms.
Figure 3 summarize the non algorithmic techniques. Expert Judgment is a non algorithmic technique is carried out based on experience of project manager or a team of expert. Experience proves that model-based estimates do not perform considerably better than estimates exclusively based on expert judgment [6]. In Thumb Rule decision is taken based on personnel interest, it has certain drawbacks. In Delphi technique, no direct interaction is there among the experts, Coordinator look after the whole process. Wide Band Delphi technique introduced by Rand Corporation is a one to one interaction technique is carried out after mutual agreement among experts. Buy vs. Make decision is based on reusable Component based software development. In Parkinson’s Law the project cost is calculated on the basis of resources available in an organization. In pricing to win estimation technique the project cost is determined from the customer’s budget, however the approach is a business like but when detailed information is lacking it may be the appropriate strategy. PSP Probe Method introduced by Watt uses similar project and product work experiences when estimating future efforts. TSP Planning (Team software process) introduces team dynamics for planning, role definition and development phases over PSP trained and operating developers.