An Article On Software Cost Estimation

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

A article on Software Cost Estimation: A necessary but impossible task.

Abstract:

Many software cost estimations methods are came into existence over the last 30 years. First of all overview of common size metrics is provided as these are relying on software size. Then proposed software cost estimation models are presented and their usability is depending according to criteria of requirements. This article will represents performance of these methods in the context of several newer approaches to cost estimation. After many years research there are many methods and techniques available but no method is necessarily better or worse than the other, in fact, their strengths and weaknesses are often complimentary to each other. To understand their strengths and weaknesses is very important when you want to estimate your projects.[9]

Introduction:

The software cost estimations are techniques and procedures used for the measurement of projects cost. It is related to judgement of costs for a given project, usually estimates are made to discover the cost. Past experience or history gives better judgement for estimations. Software cost estimation process depends on the variation of environment. We cannot judge exact results because it consists of different variables like management cost, development cost, training cost, quality assurance, human, technical and political aspects. There can be many techniques that can be followed for accurate measurements e.g. pricing to win, Parkinson’s Law, top-down estimation, bottom-up estimation. [9][10]

The estimations are based on several methods, if these methods do not return approximate result; it means there is insufficient information. It has been surveyed that nearly one third projects overrun their budget and late delivered and two third of major projects substantially overrun their original estimates. It is recommended that before using a cost estimation model in your organization it should be validated and if possible, calibrated to your environment. Size of the software system is known accurately when it is complete finally but there are several factors that influence the final size e.g. programming language, distribution of system. The accurate prediction of software development cost is a critical issue to make a good management decision and accurately determining how much time and effort a project required for project mangers as well as system analysts and developers.[9][7][10]

Explanation:

Accurate software cost estimation is very important for both customers and software developers because it is involved in number of related processes such as generating requests for proposals, scheduling, contract negotiation, monitoring and control. The accurate cost estimation process contains seven steps:

At the start cost-estimating objectives should generate.

Establishment of a project plan with required data and resources

Software requirements should be noted.

Gathering much detail about the software system by involving hard work in this context.

Use various cost estimating techniques and do analysis on the base of their combined strengths.

Iterate the estimation process by comparing different estimates.

From the start of the project focus should be on monitoring its actual cost and progress, and provides outcomes to project management.

For getting best result based on selection of any model, user should be focused on the following:

Coverage of the estimates based on the model selected.

Assumptions and calibration of the model.

Sensitivity of the estimates by focusing on the different model parameters

Modulate of the estimate with respect to actual cost.[10]

Software sizing/complexity:-

The software size is the most important factor for estimating the software cost. These include tools and methods for estimating and measuring software cost. The line of code and function point are the most important metrics.

Line of Code:-

Line of code (LOC) is used to represents number of lines of the delivered source code of the software by excluding comments and blank lines. Most cost estimation models relate LOC as a measurement of the software cost. The exact value of LOC is obtained after the completion of process. However PERT technique is used to estimating code size together with expert judgement. It contains expert judgement of three code sizes. SI is the judgment of lowest possible size of estimation, Sh is highest size, and Sm is considered most likey considerable size. After that estimations code size is achieved by the formula:

S= SI+Sh+4 Sm /6. PERT is also used to compute the estimation size of individual components; however by summing up individual components the size of the whole software system could be achieved. This model assumes that there exists a linear relationship between system size and volume of documentation.

Function Points:-

Albrecht introduced the function points that are based on the functionality of program. Functional points are very subjective and they depend on the estimator. The total number of functions depends on the processing logic. The processing logic or format in terms of handling 5 classes that are described below:

External Inputs

External Outputs

Logical Internal Files

External Interface Files

External Inquires

The Total Function point is computed based upon the

The value of counts for each of these items

The usage of weighting factors and adjustment factors that are used in this methodology.[10]

Non-Algorithmic and Algorithmic Methods:

Top down Method:

It concentrates on things such as integration, documentation and management etc, many of them were rejected in other estimating methods and it will not avoid the cost of system level functions. It needs less project detail; it is faster and easier to be used.

It is also called Macro model. Using this method an over all cost estimation for the project is derived from the global properties of the software project and then the project is divided into many low level components. The method using this approach is Putnam model. This tool is more to early cost estimation if global properties are provided.

It often does not identify difficult low level problems that are likely to raise costs and sometimes tend to overlook low level components.

For justifying decisions and estimates does not give details.

It provides a global view of the software project; it covers some effective points such as cost–time trade off ability that is in Putnam model. . [1][2][3]

Bottom Up estimating Method:

It allows the software group to handle an estimate in an almost traditional way and to handle estimate components for which the group is focusing .This is consistent and stable because the estimation errors in the various components can be balanced.

This is time consuming. It may not be viable when either time or personnel are limited. The cost of all software component is estimated and then combines the results to get final project cost. The leading method using this approach is COCOMO’s model. .[1][5][8]

Estimating by Analogy:

To identify the similarity and how much confidence is there in analogies. Few analogies lead to projects being used; many lead to strength/intensity of the effect of the analogies that are close.

To compare the proposed project to the similar previously proposed project is done in it.

Estimating by analogy is a plain way. In some ways, it is a systematic form of expert judgement; experts often search for analogous situations to give their opinion.

It is done by focusing the proposed project. Selecting the most similar completed projects whose characteristics have been stored in the database. To derive the estimate for the proposed project from the most similar completed projects by analogy.

The estimation are based on actual project characteristic data

For this, first it is found how best to describe projects. The choice of variables must be restricted to information that is available at the point that the prediction needed.

Possibilities include the type of application domain, the number of inputs, the number of distinct entities referenced, the number of screens .

It is estimated that estimating by analogy is best technique to estimation by algorithmic model. It is a more discerning method and it is easier to understand the reasoning behind.

The past knowledge and experience can be used which is not easy to be quantified. The differences between the completed and the proposed project can be identified and results predicted.

.[1][2][4]

Algorithmic Model:

This is one of the most widely used algorithmic software cost model. The basic COCOMO model has very simple form.

It provide mathematical equation. This model has been largely researched and a lot of models have been developed like COCOMO models and Putnam model.

It gives repeatable estimations, is easy to modify input data, refine and customize formulas.

But its disadvantage is that it is unable to deal with unexpected or real conditions such as l personnel in any software cost estimation exercises, exceptional teamwork and exceptional match between skill level and tasks. Poor sizing input and in accurate cost driver rating will result in inaccurate estimation. There are also some experiences and factors that cannot be quantified.

Is efficient and able and can also support estimations or a sensitivity analysis and is independently calibrated to previous experience

[1][6][8]

COCOMO Model:

This model is a regression model and it comes from analysis of 63 selected projects. Problems are in early phase of system life cycle .The size is estimated using uncertainty value.

The equation is derived from the analysis of 63 projects .It has problems outside the environment. So the re calibration should be done.

We can make estimates by from basic COCOMO model accurately by taking into account factors concerning the required characteristics of the software to be developed, the qualification and experience of the development team and software development environment. It assumes that the system and software needs have already been defined and that these requirements are stable. This is often not the case. This is one of the most widely used algorithmic software cost model Constructive Cost Model (COCOMO). The basic COCOMO model has very simple form.

This model is experiencing increasing difficulties in estimating the cost of software developed to new life cycle processes and capabilities including rapid development process model, reuse driven approaches, object oriented approaches and software process maturity initiative. To overcome these problems newest version COCOMO 2.0 was developed.[7][1]

Putnam model:-

The drawback in this tool is that it is based on knowing or being able to estimate accurately, the size (in line of code) of the software to be developed. This is often great uncertainty in the software size. This model is popular method in software cost estimation.

To continually re-estimate cost and to compare targets against actual expenses at each major milestone. Iteration is an important tool to improve estimation quality at every estimation point.

Expert judgement method or analogy method should be used for known projects and projects parts if the similarities of them can be got, since it is fast, and under these circumstances, reliable. Algorithmic model should be used for large, lesser known projects.

[8][6]

Expert Judgement Method:

In this method there are group of experts for software cost estimation and their experience and understanding of the proposed project to arrive at an estimate of its cost.

One of the useful Delphi techniques is the best way to be used. The strengths and weaknesses are complementary to the strengths and weaknesses of algorithmic method.

It has following benefits:

The experts can make differences between past project experience and requirements of the proposed project. The experts can count in project results occurred by new technologies, architectures and languages in the coming project and can also influence in exceptional personnel characteristics and relations..The disadvantages include. This method cannot be quantified.

It is not easy to document the factor used by the experts or experts group.

Experts can be biased, optimistic, and pessimistic, even though they have been decreased by the group consent.

The expert judgement method always gives tribute to the others cost estimating methods like algorithmic method. [1]

It consists of

Coordinator gives each expert with specification and estimation form.

Coordinator held group meeting and discuss estimation issues with the coordinator.

Experts fill out forms anonymously.

Coordinator prepares and distributes a summary of the estimation on an iteration form.

Coordinator calls a group meeting, specially focusing on having the experts discuss points where their estimates varied widely.

Experts have to fill forms anonymously again, step 4 and 6 are repeated for as many times as possible.

Analyze the Requirements:-

In these days a common estimating activity is by analysing the software requirements and creates function points based on these requirements. The results of this method appeared in the form of basic size data that is used for formal cost estimation. By involving larger system the requirements are not fully defined at the start of project. It is necessary to explore and understand the user requirements before taking estimating initiative. The current level of estimation technology demand human intervention in order to do work affectively. This fact is followed in the number of methods e.g. Agile method, Scrum, extreme programming etc. This fact is also embedded in algorithms and that are being used in software tools in order to provide effective result. After understanding of initial requirements, the average rate of growth of new requirements is about 2 percent per calendar month. This growth results are considered part of plan and included in the estimate.[9]

Summary

We do not any perfect method that judges the estimation of cost accurately. This situation is created because of number of situations have to be faced in this process.

There is a need to improve understanding of project attributes and their relationships, need to model impact of evolving environment, measuring software complexity in an organized and effective way to better the estimation. At the initial stage there is huge uncertainty about project attributes and judgment on these stage product inaccurate results. As project grows towards forward stages uncertainty is reduce and more accurate results can be achieved. Most models provide exact result by producing a range of estimates and their possibilities without regard to this uncertainty. The collection of data on a wider scale is a need for algorithmic models. The ISBSG established a repository of 790 projects, which is a valuable source for builders of cost estimation model. We should not depend on a single cost and schedule estimate and use several estimating techniques or cost models, compare the results and determine the reasons for any large variations. Document the assumptions made when making the estimates, monitor the project, improve software process and maintain historical database.[9][8]

The measurements are not taken so important so complexity occurs in the system. There are large numbers of interrelated factors that influence software development process and large number of project attributes. Continuously evolving development environment.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now