Size Based Estimation for Legacy Applications Gerald Varghese / Venkatachalam Narayana Iyer
Total Page:16
File Type:pdf, Size:1020Kb
Size Based Estimation For Legacy Applications Gerald Varghese / Venkatachalam Narayana Iyer TABLE OF CONTENTS ABSTRACT .................................................................................................... 2 INTRODUCTION............................................................................................ 3 SOFTWARE ESTIMATION - AN OVERVIEW ............................................................................................... 3 INDUSTRY FOLLOWED ESTIMATION MECHANISMS .................................................................................. 3 Analogy Estimation............................................................................................................................ 3 Parametric Estimation....................................................................................................................... 3 Bottom Up......................................................................................................................................... 4 Expert Judgment................................................................................................................................ 4 PREDICTION MODELS............................................................................................................................. 5 DATA COLLECTION................................................................................................................................5 LEGACY SYSTEMS ................................................................................................................................. 6 ESTIMATION MODELS BASED ON PROJECT CLASSIFICATION ..................................................................... 6 Development Projects........................................................................................................................ 6 Maintenance...................................................................................................................................... 8 Testing Projects................................................................................................................................. 9 SNAPSHOT ON USEFUL TOOLS ............................................................................................................... 10 Microsoft Excel for statistical data analysis and prediction .............................................................. 10 Minitab............................................................................................................................................ 10 CONCLUSION.............................................................................................. 11 REFERENCE ................................................................................................ 11 Page 1 of 11 Abstract This paper is meant to give an overview of the different size based estimation mechanisms, which could be most suited for legacy applications. This paper will touch up on the different industry known estimation mechanisms, with focused details on Analogy and Parametric models of estimation. The project experiences from development, maintenance & bug fixing kind of projects for the legacy applications have been considered while preparing this paper. The estimation practices that gave the best results for legacy applications have been analyzed and implemented. The paper describes the practical methodologies, which have been piloted in the various projects that have been executed in our organization. The paper will talk about the different situations/projects best suited for each of the types of estimation. Statistical methodologies of linear, quadratic and cubic models, which can be used for estimation, will be detailed. Statistical features of Microsoft Excel and other statistical analysis tools like MiniTab will also be discussed. An insight to “predictive management” will also be covered. Predictive management will discuss about predicting the remaining time, mid way through the project execution period. Practicing the modus operandi mentioned in the paper helps in interactions with the different stakeholders in a more professional and robust manner, as the entire communication will be based on quantitative data. The paper shares the estimation experience gained from executing legacy projects and supports the readers with some of the best practices to be adopted for estimation in legacy projects. Keywords: Estimation, Legacy applications, Analogy, Parametric model, Predictive, Statistical Analysis Page 2 of 11 Introduction Software Estimation - An Overview During the initiation of any software project, one of the key challenges faced by project managers is with respect to estimating the effort required for execution of the project. Especially in this highly competitive world of Software market, the ability to come up with an accurate estimate for the project is one of the most desired competencies from any project manager. One of the major inputs for the project manager in deciding the estimated effort is the SIZE of the work product coming out of the project. The accuracy in the project’s effort estimate will depend on how accurately the size of the deliverables is estimated. One of the contributing factors for failure of software projects is that many projects get estimated based on the “personal working methods/experience” of the project managers. There is lot of information available in the knowledge base industry on estimating the projects. A few of the industry standard practices and estimation mechanisms are listed hereby. Industry Followed Estimation Mechanisms During the project planning phase, once the list of activities is identified, the next step is to estimate the duration required for each activity. This paper focuses on this part of project management process. Different project managers follow different methodologies/process for this, which includes • Analogy Estimation • Parametric Estimation o Function Point (FP) Based o Lines Of Code (LOC) Based • Bottom Up • Expert Judgment Analogy Estimation This methodology is based on the “gut feelings” (or unaided intuition) of the person who is doing the estimation process with/without some unclear data from older projects. At the project level, a number is judiciously arrived at and distributed across all the activities involved in the project. The project is compared in complexity with another completed project that may be of the similar type. The basis of estimation is to characterize the project for which the estimate is to be made and then to use this characterization to find other similar projects that have already been completed. The effort estimation is then done based on the known effort values for these completed projects. A previous experience in a similar assignment could be an added advantage and could help contribute towards the accuracy of the estimate, but in a subjective manner. Documented historic data as such, will not be used much while estimating using this mechanism. It is the most commonly used estimation strategy for effort based software development/maintenance estimation. For estimation, one needs to determine how best to characterize the project (define variables that might have to be measured on different scales), determine similarity and relate projects for comparison and finally, how much one should depend on the effort values from analogous projects for the estimation of the new project. Parametric Estimation The key focus in this type of estimation is on identifying the “parameters” that contribute towards the size required for the tasks in the project. Function Point (FP) based: Function point is a measure of the size of the software application measured from a functional or user point of view. It is independent of computer language, but depends on development methodology, technology and capability of the project team used to develop the application. Function point tends to be useful in data oriented application. It is not restricted to estimation of code alone. FP could be used for all class of software, any combination of languages, quality Page 3 of 11 and productivity. It also gives a value added analysis and opportunities for software contracts and discussion with clients. FP required for the project might not be calculated accurately until the requirement analysis is completed. (Software Requirement Specifications are baselined). Estimation method based on function points is derived from different metrics. The approach is to identify the number of unique function types as external inputs, external outputs, queries, external files or interfaces and internal files. Each of these are then individually assessed for complexity and given a weight-age value that might vary from 3 to 15. Unadjusted Function Point (UPF) is calculated as the sum of the product of each function type with its weighting value. Then adjusted FP is calculated as the product of UFP and technical complexity factor (TCF). TCF is the sum of the entire complexity factor based on their degree of influence on the system measured (Environmental Factor). The factor, Function Point being an imaginary unit, would never end up in an all time perfect estimation solution. It always depends on the definition attached to it and hence is hard to automate and difficult to compute. The weight-age given to the function types is subjective and do not fit on real time systems. The International Function Point Users Group (IFPUG) manages, regulates and issues updates to these standards, making function points