COMPARATIVE ANALYSIS OF SOFTWARE COST- EFFORT ESTIMATION AND AGILE IN PERSPECTIVE OF SOFTWARE DEVELOPMENT

: Projects are facing lot of problems in area of software development like too expensive, late delivery, un-fulfilment of user requirement, compatibility and developing software according to budget are important task. In the perspective of software development allocating resources, controlling cost and efforts issues are crucial. Some software projects facing common problems like over budget, late delivery and lack of fulfilling customer expectations. Agile development is an option for traditionalsoftware development where goal is to empowering people to collaborate and make team decisions with continuous planning, testing and integration. [1] Agile methods based on the concepts of adaptability and flexibility, are currently play as a way to alleviate or reduce these reoccurring problems and find the way for the future of development. The estimation in Agile Software Development methods estimation depends on an expert opinion and previous or historical data. If historical data are not available then analogy and planning poker are not useful. This research work focus on software development cost and effort estimation in Agile. It also focuses the problems in current practices thereby proposed a method for accurate cost and effort estimation.It also focuses the problems in current Agile practices. If we ignore the methodologies it will effect like over budget, delay in delivery, and wrong product with bad quality.The main focus of this paper is to review existing software effort estimation methods and exploring estimation methods suitable for new software development methods. The main inspiration for this research topic came from the inaccurate estimation that has been found to be present in software development. The aim of this research was to provide an overview of what is the current state of the art in effort estimation and propose a new approach.


INTRODUCTION:
Agile techniques are set of software development methodologies based on the concepts of adaptability and flexibility. Agile software methods are volatile and flexible so they are widely used in software development projects. After observing existing estimation methods used in agile are not efficient. An estimation technique has been proposed that estimates the more accurate release date, cost, effort and duration for the software project. This paper is a step towards understanding the causes of inaccurate estimates in agile software development and problems related to estimation in Agile. The software will be successful if they are delivered on time with the expected budget. The analysis indicates the need for future research on: 1) Estimating cost and effort for the software development 2) Analysing and comparing existing technologies and find best cost effort estimation technique. However, demand for new functionalities, quick delivery of software such as mobile applications established a need for new software development methods. Currently other features such software reuse, component based development, distributed systems and iterative development are common features in software engineering industry. Evolution in software engineering industry provided a challenge to software estimations researcher to come up with methods that will estimate more accurately.For accurate measurement of the effort and cost for different software projects based on different development models having new and innovative phases of software development, is a crucial task to be done. An accurate prediction always leads to a successful software project within the budget with no delay, but any percentage of misconduct in the overall effort and cost estimate may lead to a project failure in terms of delivery time, budget or features. The customer is involved as an active participant in the development using an agile framework. Hence, changes can occur at any phase of development and they can be dynamic in nature. That is why an accurate prediction of effort and cost of such projects is a crucial task to be done as the complexity of overall development structure is increased with the time.

LITERATURE SURVEY:
Various estimation methods introduces in 1950 and after evaluation of effectiveness of these techniques found the most popular traditional cost estimation methods are Expert judgment, Analogy, Wideband Delphi, Source lines of codes, Function points [2] , Object points and Cost constructive model (COCOMO) . Software estimation is a vital component of software project Development. Cost increased from an average of 56% in2004 to 59% in 2012 in sampled software projects while time overruns increased from 71% in 2010 to 74% in 2012 [2-a]. However, when they compared with agile software estimation they are not effective. Estimating agile software is a problem due to varying requirements and incremental development. Planning poker is one of the most agile estimation method. According to literature survey it has been observed that current estimation methods which are used in agile are not efficient because they do not consider any mathematical formula for accurate calculation of effort and cost. In this paper to support flexible and changing nature of Agile, a mathematical estimation technique has been proposed that estimates the more accurate release date, cost, effort and duration for the project. 1) Recent research and practical outcomes of different software developments have proved that prediction of cost and effort estimation with a high rate of accuracy increases the chance of successful quality product. 2) Significant research in software cost and effort estimation began around 1965 where 104 attributes of 169 projects were studied [Nelson 1966] [3] . This research focused to some estimation models in that era of time. Many researchers started working in this field and all of them faced few common problems, i.e. with the increase in functionalities, the corresponding increase in project size of software was not linear. Hence prediction of actual estimate became complex. 3) Then researchers concluded that the process of estimation is a full time process and should be carried out throughout the Software Development Life Cycle (SDLC) for getting tuned with changes. Since then several cost estimation approaches like ANN, Mamdani FIS, Expert Systems, Estimation by Analogy, Use Case Point, etc. have been applied successfully for different kinds of development projects [4,5] . 1. Article of Abrahamsson et al. [6] explains how to collect metrics for measurement of productivity, quality and scheduling of estimation, cost and effort estimation for an Agile Software Development project using XP. The author givingproofs in various situations agile methodologies are moreeffective and suitable. 2. Williams et al. [7] investigated the usage of a subset of XP [8] in IBM. The release of product using XP developed at IBM was found better than older release in prespective of improvement in productivity, schedule, and cost-effort estimation. Evan customers were also satisfied with the products developed using products.  [12] Research Gaps identified in the proposed field of investigation

Cost estimation in agile development projects by
In recent years researchers introduced various cost and effort estimation techniques to improve on estimation accuracy. According to literature review three main effort estimation methods were found expert estimation, algorithmic models and machine learning. But there is no single best method for estimation. This research framework will be developed and compared with the conventional estimation techniques to find out the gaps and to fulfil the requirements of accurate cost and effort estimation. Also the feasibility study will be conducted.to find out the benefits and consequences in real time situation.The Proposed estimation system designed based on finding best technique among existing various techniques.

AGILE PRINCIPLES:
1) Customer satisfaction by early and continuous delivery of valuable software 2) Welcome changing requirements, even in late development 3) Working software is delivered frequently (weeks rather than months) 4) Close, daily cooperation between business people and developers 5) Projects are built around motivated individuals, who should be trusted 6) Face-to-face conversation is the best form of communication (co-location) 7) Working software is the principal measure of progress 8) Sustainable development, able to maintain a constant pace 9) Continuous attention to technical excellence and good design 10) Simplicity-the art of maximizing the amount of work not done-is essential 11) Best architectures, requirements, and designs emerge from self-organizing teams 12) Regularly, the team reflects on how to become more effective, and adjusts accordingly This paper is a step towards understanding the causes of inaccurate estimates in Agile software development and problems related to estimation in Agile. The projects will be successful if they are delivered on time with the efficient planning.

IMPORTANCE OF PROPOSED RESEARCH INVESTIGATION/ EXPECTED OUTCOME:
Software developers demands more functionality, higher reliability, higher performance and controlled budget. Software developers need to deliver software products on time, within the budget and user expected quality. Most projects fail due to planning issues such as cost, time and requirements specifications. According to article by Standish shows that 43% of projects were challenged and 18% failed due to over budget, late delivery and less than required features or functions in 2012 [14] . This illustrates the necessity for reliable software development method and software cost estimation method. This research provided a comprehensive overview of existing software cost estimation models describing their strengths and limitations. It is important for the software project manager to understand key factors relevant in estimating the cost of software and situations where an estimation method will be appropriate. No existing model can estimate the cost of software development with a high degree of accuracy without limitation, therefore the study of software cost estimation is necessary to improve on estimation accuracy. With the emergence of new software development methods and techniques, future work will be to identify key estimation indicators in new software development methods and devise new cost estimation method. Expected Outcome-1) Estimating cost and effort for the software development 2) Analysing and comparing existing technologies and find best cost effort estimation technique.

SUGGESTIONS:
Training Effort estimation training also help. Team make effort estimation handling decisions if effort estimation methods categories are available with their requirements, characteristics, strengths and drawbacks.Incidentally, one of those principles is training on effort estimation. As training would give better understanding of effort estimation methods as well as training would be explain to everyone about why effort estimation is being done and how the effort estimates are used.

Accurate Information
Existence of requested information in requested time with accuracy is major factor. Where effort estimates are done with incomplete information there lot of unwanted and unexpected situation will arise. According to Agile principles changes are natural but instead of unclear information changing information and makes accurate effort estimation are better. For Team better information make easier and reduce the number of forgotten work feature analysis. For software better information reduce irrelevant and inaccurate data. Improve Testing Improving testing techniques can also be major suggestion. There are lot of technical issues that make testing and by proxy the estimation of testing effort hard. Solving such problems would also probably help with estimating the testing effort as it would make testing easier.

Data Collection
Data gathering is a vital part for any software effort or cost estimation. Benefits are-1. Allow a systematic way to follow how well the effort estimates correspond with the actual effort. 2. This would give definite answers to how accurate the effort estimates are. 3. Gives feedback on estimates. 4. Various range of effort estimation methods in the future.
According Agile work environment one thing we must keep in mind that the Agile Manifesto demotes the importance of processes and tools so that effort data collection should not become a cumbersome process.

CONCLUSION:
In this research a new approach efficiently estimates costeffort and produce cost effective software product. In the future the other factors like time which affect the estimation also can be added thereby software estimation more correct and efficient. The benefit of the proposed estimation technique is that it reduces the cost inproducts by providing realistic techniques ofestimation, but in big organizations agile methodologies are not suitable due to little details for justifying estimates and in life cycle late production of product. the problems in current practices thereby proposed a method for accurate cost and effort estimation. It also focuses the problems in current Agile practices.The mainfactor for the software project manager to understand key components relevant for estimating the cost of software and situations where an estimation method will be appropriate.