Sie sind auf Seite 1von 5

Volume 2 No.

7, JULY 2011

ISSN 2079-8407

Journal of Emerging Trends in Computing and Information Sciences


2010-11 CIS Journal. All rights reserved. http://www.cisjournal.org

Software Efforts and Cost Estimation with a Systematic Approach


1
1

Chetan Nagar, 2Anurag Dixit

Ph.D Student, Mewar University (Gangrar) Chittodgarh Rajasthan India 2 Dean-Professor(CS/IT) BRCM CET,Bahal Bhiwani 1 callchetan_nagar@yahoo.com,2 anuradixit@gmail.com

ABSTRACT
According to Roger S Pressman Software efforts estimation is not an exact science. Day per day competition in the software industries is increasing; in such scenario accurate efforts estimation is become an important task. Efforts estimation is one of essential activity of software development which is providing basis for other software activities like scheduling, planning .Software cost and efforts estimation is become a challenge for IT industries. There are lot of methods are existing for efforts and cost estimation, but people do not know how to use these methods. Industries only concentrating on KLOC for efforts estimation, but there is a lot of other parameter like efforts of reuse must be include in efforts estimation. IT industries are making two types of project. First, which has a specific customer; all requirements are given by this customer. Second, in which requirement are gather by using some survey In case of second type of project efforts estimation become much difficult because we do not have a specific customer and we have to estimate efforts accurately and complete the project within time limit ,because we have a no of competitors . So a systematic approach is required for efforts estimation .This paper is suggesting a systematic way of efforts estimation, which will cover all phases of software development and it is trying to involve all those parameter that may affect the efforts of a software project.
Keywords KLOC (Kilo Line of Code),.UCP (Use Case Point), FP (Function Point), these are all unit of software size. Software Efforts estimation, Person-month, Person-Hours these are units of efforts.

I. INTRODUCTION
Software efforts estimation is one of important activity of software development. Software cost estimation plays an important role in software engineering practice, often determining the success or failure of contract negotiation and project execution. Cost estimations deliverables such as effort, schedule, and staff requirements are valuable information for project formation and execution. They are used as key inputs for: Project bidding and proposal Budget and staff allocation Project planning, progress monitoring and control Investment decision Tradeoff and risk analysis Stakeholder negotiation and expectations management

software estimating are driven by the nature of software as a product. Other problems are created by the nature of the estimating methodologies. Software cost estimation is a continuing activity which starts at the proposal stage and continues through the lift time of a project. Continual cost estimation is to ensure that the spending is in line with the budget.

II. METHODS FOR ESTIMATION


There are lot of methods which can be use for efforts estimation, but an industry wants a simple and accurate way of efforts estimation. This paper is recommending that we must use more calculative method as compare than more predictive approach. COCOMO and Use Case Point are more calculative approach which is covering many factors that may affect the cost. But Expert judgment is more predictive approach, in which much experience is required. A rich set of old data is required for better estimation.

When we complete efforts estimation, we got the person - month or Person- hours required to build that project. Now we have to make a plan that will shows that which activity will be complete on what time and how much effort will be required to complete it According to Roger S pressman Softwares are developed not manufactured. Manufactured word used for physical component. Efforts estimation for a physical component is simple and easy. Efforts estimation for a software component is difficult process. There are, however, aspects of the process that are peculiar to software estimating. Some of the unique aspects of

A. KLOC based estimation with COCOMO Model


It is one of the popular and old methods of efforts estimation. In this method we have to estimate the line of code. Counting of line of code is one of the difficult tasks when project is complex and new to us. In such situation our paper is suggesting that we have to divide that project in module and divide that module into sub module to make problem less complex. Most senior person of your team should take responsibility to count KLOC, because we need to estimate KLOC before writing it. We can use old

312

Volume 2 No.7, JULY 2011

ISSN 2079-8407

Journal of Emerging Trends in Computing and Information Sciences


2010-11 CIS Journal. All rights reserved. http://www.cisjournal.org

data to predict KLOC, but no project will completely same with previous project, so some intelligence and experience will be required for a better estimation. Here we will use advance COCOMO for estimation.

TABLE III EFFORTS ADJUSTMENT FACTORS USED IN ADVANCE COCOMO OTHER THAN INTERMEDIATE COCOMO
Scale Factor PREC Sample Value nominal CMM Level (upper) nominal nominal I Project Description Precedence. Process maturity. Team cohesion. Development flexibility. Architecture and risk resolution.

Efforts= a*(KLOC) b *EAF


Here a and b are complexity factor.

TABLE I COMPLEXITY FACTOR


Model Organic (simple in terms of size and complexity Semi-ditched ( average in terms of size and complexity Embedded ( Complex) 2.8 1.20 RESL In Intermediate COCOMO only 17 EAF are used, but in advance COCOMO we are using 22 EAF. Typical values for EAF range from 0.9 to 1.4. little (20%) A 3.2 3.0 B 1.05 1.12 FLEX PMAT TEAM

B. Use Case Point based Estimation [1] [6]


It is another popular and efficient method of efforts estimation. Here we will calculate use case and actors UUCP=Use case + Actors

TABLE II EFFORTS ADJUSMENT FACTOR USED IN INTERMEDIATE COCOMO


Cost Sample Driver Project Value DATA CPLX TIME STOR RUSE DOCU PVOL SCED RELY TOOL APEX ACAP PCAP PLEX LTEX PCON SITE Description Database size. Product complexity. Execution time constraint. Main storage constraint. Required reusability. Documentation match to life-cycle needs. Platform volatility. Scheduling factor. Required reliability. Use of software tools. Application experience. Analyst capability. Programmer capability. Platform experience. Language and tools experience. Personnel continuity. Multisite development.

Using the following table1 we can calculate Use Case used in a project

TABLE IV USE CASE CALCULATION


Use case type Simple Average Complex Description Quantity Weight Factor 1 5 10 Sub total

3 or fewer transaction 5 to 7 transaction Greater than 7 transaction TOTAL

By using the following table2, we can estimate actors used in a project

TABLE V ACTOR CALCULATION


Use case type Simple Average Complex Description 3 or fewer transaction 5 to 7 transaction Greater Quantity Weight Factor 1 2 3 Sub total

313

Volume 2 No.7, JULY 2011

ISSN 2079-8407

Journal of Emerging Trends in Computing and Information Sciences


2010-11 CIS Journal. All rights reserved. http://www.cisjournal.org

than 7 transaction TOTAL

i. ii.

UCP=UUCP*TCF*EF TCF is Technical Complexity Factor, which is sum of 13 complexity parameters.[6] EF is Experience Factor, which is sum of 08 complexity parameters.[6] Effort= UCP *ER (Efforts will be in man hours) ER is efforts rate. ER is the no of man hours will required to write a UCP.

iii.

iv.

The coordinator gives an estimation form to each expert. Each expert presents his own estimation (without discussing with others) The coordinator gathers all forms and sums up them (including mean or median) on a form and ask experts to start another iteration. Steps (ii-iii) are repeated until an approval is gained.

Figure 1 shows an example of using Delphi technique in which eight experts contributed and final convergence was determined after passing four stages (Mahmud S et al. ,2008).

C. Estimation by analogy [3] [4]


In this method, several similar completed software projects are noticed and estimation of effort and cost are done according to their actual cost and effort. Estimation based on analogy is accomplished at the total system levels and subsystem levels. By assessing the results of previous actual projects, we can estimate the cost and effort of a similar project. The steps of this method are considered as: i. ii. iii. iv. Choosing of analogy Investigating similarities and differences Examining of analogy quality Providing the estimation

Figure1. An example of using Delphi

In the given graph when both the line will cross to each other, that point will be final point, which shows efforts estimated.

In this method a similarity function is defined which compares features of two projects. There are two popular similarity function namely Euclidean similarity (ES) and Manhattan similarity (MS) (Shepperd, M, Schofield, C, 1997, Chiu, N, Huang, S.J, 2007). p and p' are projects w is the weight is assigned to each feature and varies between 0 and 1. Fi and f ' display the ith feature of each project and n demonstrates the number of features. is used for obtaining the none zero results. The MS formula is very similar to ES but it computes the absolute difference between features.
i i

III. SYSTEMATIC APPROACH OF ESTIMATION


When we perform efforts estimation we calculate only the efforts of coding by calculating KLOC, FP or Use Case Point. Some percentage of efforts will be required to complete that phase. Distribution of efforts may as follows:

TABLE VI PROCESS WISE EFFORTS DISTRIBUTION


Activity Analysis Design Coding Testing Installation %efforts 10-20% 20-25% 30-35% 20-30% 05-10%

D. Expert judgment [4]


Estimation based on Expert judgment is done by getting advices from experts who have extensive experiences in similar projects. This method is usually used when there is limitation in finding data and gathering requirements. Consultation is the basic issue in this method. One of the most common methods which works according to this technique, is Delphi. Delphi arranges an especial meeting among the project experts and tries to achieve the true information about the project from their debates. Delphi includes some steps:

Above specified range of percentage is not fixed for every project and every company, it project by project and may very company by company. We are suggesting a formula that will cover all the phases of software development.

314

Volume 2 No.7, JULY 2011

ISSN 2079-8407

Journal of Emerging Trends in Computing and Information Sciences


2010-11 CIS Journal. All rights reserved. http://www.cisjournal.org

Following steps must be followed for the efforts estimation A. Calculate efforts of requirement analysis (Ea). It is the first phase of software development, in which we try to gather the complete requirement of the project. We can use 4GT if required. In the analysis phase we perform requirement analysis, feasibility analysis , SRS making , Planing and scheduling B. When we completely understand the problem then we have to estimate % of reuse (Components are previously build up and present in library). So we need to estimate the efforts required Er to establish a interface with other components C. Now find % of reuse with change(Component can be reuse but some change will required ) So we need to estimate the efforts required Erc to make desired change and establish a interface with other components D. Now we have to follow one method for efforts estimation which is specified in previous section and calculate required for development Ed. It is always recommended that we must use more than one method for estimation. If we are getting a large difference between efforts estimated by these methods than we have to re estimate and check where mistake was take place. Ed= (E1+E2+E3..En)/N E1, E2, E3..En is the efforts estimated by different methods and N is the no of methods. E. Now we have to estimate efforts for testing Et F. Estimate efforts for documentation Edc

Software development completed after a set of activity like analysis, design, coding and testing Fig 2 showing the steps of software development and corresponding efforts required to complete that steps

Analysis

Ea Er

Component Reuse Erc Design

Coding E= E+ %of Error Testing

Ed

Et

Documentation

Edc

Installation and Training

Eit

Figure2. Development step and their corresponding efforts

Here paper is suggesting another parameter %of Error. We know that actual efforts always deviate from efforts estimated by using some formula. So we are adding a % of Error to the efforts estimated. Now the question is that how to estimate % of error, for that we have to collect old data and calculate the deviation, from these we have to find %of Error.% of Error will not same for all kind of projects ,we have to categories the old projects and calculate the difference between efforts estimated and actual efforts. We can use following formula for calculating % of Error: % of Error= SUM of deviation of N old projects / N

G. Estimate efforts for implementation and taring for end user Eit. H. If we are using incremental approach than we will deliver first increment and ask customer for change (if any). That change must be incorporate when we will deliver re of first increment with changes and second increment. So we also need to estimate efforts required for such changes .Ei So the actual efforts required development is: for the complete

Now estimated efforts will be E=E+ % of Error For every next project we have to see that was the % of error that we have added in previous estimation. If still we are finding much difference between actual efforts and efforts estimated. Than have to check following things: A. Process/ methods of estimation: - We are not following the proper method of estimation for such kind of project.

E=Ea+Er+Erc+Ed+Et+EdcEit+Ei

315

Volume 2 No.7, JULY 2011

ISSN 2079-8407

Journal of Emerging Trends in Computing and Information Sciences


2010-11 CIS Journal. All rights reserved. http://www.cisjournal.org

B. Prediction of parameters(Cost Drivers):Prediction of cost driver is not correct C. Calculation of % error: - Formula we are using to find % of error need to revise.

[5]

Roger E Masse An Analysis of the Evolution of COCOMO and Function Point July 8 1997. http://www.rogermasse.com/papers/softwaremetrics/ Edward R Carroll Estimating Software Based on Use Case Point October 2005 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. Boehm, B.W., et al.: Software Cost Estimation with COCOMO II. Prentice Hall, NY(2000) Boehm, B. and C. Abts, Software Development CostEstimation Approaches-A Survey. Annals of Software Engineering, 2000. 10(1-4): p. 177-205. Boehm, B. W., & Valerdi, R. Achievements and challenges in cocomo-based software resource estimation, IEEE Software, 25(5),7483.doi:10.1109/MS ,2008. Yinhuan, Z., W. Beizhan, et al. "Estimation of software projects effort based on function point". Computer Science & Education. ICCSE. 4th International Conference on,2009 Galorath, D. D., & Evans, M. W. Software sizing, estimation, and risk management: When performance is measured performance improves. Boca Raton, FL: Auerbach, 2006. Matson, J., Barrett B., Mellichamp J., SoftwareDevelopment Cost Estimation Using Function Points, IEEE Transactions on Software Engineering, vol. 20,no.4, April 1994, pp. 275287. Symons C., Function Point Analysis: Difficulties and Improvements, IEEE Transactions on Software Engineering, Vol. 14, No. 1, January, 1988. Lvesque G., Bevo V., Measuring Size for the Development of a Cost Model: A Comparison of Results Based on COSMIC FFP and Slim BackFiring Function Points, Proceedings of the 11th International Workshop on Software Measurement, Montreal, Canada 2001, IWSM 2001. Pressman R.S., Software Engineering: A Practitioners Approach, fourth edition, The McGraw- Hill Companies, Inc., 1997.

IV. CONCLUSION
There are many methods available for efforts estimation, but industries not using those methods because they are very complex and not easy to understand. In this paper we have try to provide a systematic approach for efforts estimation. That approach much simple and easy to understand. Here we have calculated efforts by relating the software development activities. This approach is also useful for bingers who recently entered in software development. Strong monitoring policies will be required to make software efforts estimation successful. Following points we must be consider for accurate efforts estimation: I. Estimation team must contain most experience person of your software development team, because value of most of parameter is depend on the prediction and a experience person can predict more accurately. J. Do not use a single method for estimation. If we are using one method for estimation and some mistake will take than no way to check it. K. We must maintain a database for reference to next projects. L. We have to make a work break down structure and follow it strictly. M. Estimate efforts for all phases of software development, same that we done in this paper.

[6]

[7]

[8]

[9]

[10]

[11]

[12]

REFERENCES
[1] Vahid Khatibi, Dayang N. A. Jawawi Software Cost Estimation Methods: Review, Journal of Emerging Trends in Computing and Information Sciences Volume 2 No. 1 January 2011. Boehm, Software Engineering Economics, Prentice Hall, 1981. Chiu , N.H., Huang, S.J., The adjusted analogybased software effort estimation based on similarity distances, Journal of Systems and Software 80 (4), 628640.2007 Cuadrado-Gallego, J. J., Rodri, et al. Analogies and Differences between Machine Learning and Expert Based Software Project Effort Estimation. Software Engineering Artificial Intelligence Networking and Parallel/Distributed Computing (SNPD), 11th ACIS International Conference [15] [13]

[2]

[14]

[3]

[4]

316

Das könnte Ihnen auch gefallen