A Article On Software Cost Estimation Information Technology Essay

Published: 2021-07-29 15:50:07
essay essay

Category: Information Technology

Type of paper: Essay

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Hey! We can write a custom essay for you.

All possible types of assignments. Written by academics

A article on Software Cost Estimation: A necessary but impossible task.
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.
The software cost estimations are techniques and procedures used for the measurement of projects cost. It is related to judgment of costs for a given project, usually estimates are made to discover the cost. Past experience or history gives better judgment 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.[9][10]
The estimations are based on several methods, if these methods do not return approximate result; it means there is insufficient information. 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]
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.[9][7]
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.[9]
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 judgment. It contains expert judgment of three code sizes. SI is the judgment of lowest possible size of estimation, Sh is highest size, and Sm is considered most likely 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.[9]
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.[9][5]
Non-Algorithmic and Algorithmic Methods:
Top down Method:
This model highlights things such as integration, management and documentation etc, many of them becomes rejected in other estimating methods and this model highly dependent on the cost of system level functions. This method needs less project detail as it is faster and easier to be used by system. This approach is most reliable for cost estimations on the earlier stage.
Another name of this method is Macro model. Using this method an overall cost estimation for the required system is obtained from the global properties, then the project is divided into many low level related components, total cost then divided among different components. Putnam model followed this approach. This tool is more reliable for early software cost estimation if global properties are provided in this context.
It often does not identify difficult low level problems that are likely to raise costs and sometimes tend to overlook low level components.
In order to justifying decisions and estimates it does not give detailed basis.
It provides and represents global view of the software project; it contains some effective points such as cost–time trade off ability that is usually followed in Putnam model. . [1][2][9]
Bottom Up estimating Method:
This approach is followed a procedure in a traditional way by involving estimates components that are concentrated by the software group in order to get software cost estimation. This method is used to predict estimation of different components and then combined result of different components is achieved in order to get cost of overall project. This is reliable and stable because the chance of estimation errors in the various components can be balanced in an organized manner.
This is a time consuming method. It is not suitable in such conditions when either time or workforce is limited. It requires availability of necessary information in the earlier phase that can lead to inaccuracy. The leading method following this approach is COCOMO’s detailed model. .[1][5][8]
Estimating by Analogy:
Estimation by analogy represents the proposed projects with the previously completed projects in order to get accurate estimate because actual data of complete projects is viable.
It is used to represents the similarity and obtaining amount of confidence in the context of analogies. In response some analogies lead to projects being used; some may lead to strength/intensity of the effect of the analogies that are closed.
Estimating by using analogy is a straightforward way. In some situations, it works as a systematic form of expert judgement because experts often exploring ways for analogous situations to give their opinion in some conditions.
The goal of it is focusing the proposed project. The focus is on selecting the most appropriate completed reliable projects, whose properties have been stored in the database. So it is used derive the estimate for the proposed project from the most similar completed projects by involving analogy.
The estimation is dependent on actual project characteristic data
For this, first it is obtained how best to describe projects. The choice of variables must be limited to information that is available at the point that the prediction needed on certain situations.
Possibilities contain the kind of application domain, the amount of inputs, amount of distinct entities that are referenced, the amount of screens.
By involving this method 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 a result predicted and comes in the shape of estimation.[1][8]
Expert Judgement Method:
In this method a group of experts is compulsory for software cost estimation and their experience and understanding of the proposed project comes in the shape of an estimate of its cost. One of the useful Delphi techniques are the best way to be used that resolve inconsistency in the estimates.
The experts can make differences by analyzing past project experience and requirements of the proposed project. The experts are able to count in project results handled by new technologies, architectures and languages in the coming project and can also influence in exceptional personnel properties and relations.
The disadvantages are:
This method cannot be quantified in all aspects.
The factor used by experts or experts group are not easy to document.
Experts can be biased, optimistic, and pessimistic, even though they have been decreased by the group consent. [1]
This method contains some steps that are given as:
Coordinator should present each expert with a specification and an estimation form.
Coordinator should call a group meeting in which the experts discuss estimation problems with the coordinator and each other for getting appropriate solution.
Experts fill out forms in order to get expert estimation judgement.
Coordinator should make and distributes a detailed summary of the estimation on an iteration form in this context.
Coordinator should calls a group meeting, focusing on having the experts discuss points and tries to handle estimation variation.
Iteration should be involved in the form of again experts fill out forms, again anonymously, and steps 4 and 6 are iterated for as many rounds as in order to get reliable results.[1]
Algorithmic Model:
This is the most widely used algorithmic software cost model. The basic COCOMO model is in the form of simplicity.
It is dependent upon mathematical equation. This model has been researched on a high level and a lot of models have been derived from it like COCOMO models and Putnam model.
It provides repeatable estimations, providing facility to modify input data, refinement and customization of formulas.
But some of its disadvantages are that it is not being able to deal with unexpected or real conditions such as exceptional personnel in any software cost estimation process exercises, exceptional teamwork and exceptional comparison between skill level and tasks. Deprived sizing input and not corrected cost driver rating will generate result in inaccurate estimation. Besides there are also some experiences and factors that cannot be quantified in this context.[1][6][8]
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 so cannot give accurate cost estimations. It has problems outside the environment. So the recalibration should be done.
We can make estimates by basic COCOMO model with certainty by taking into account that factors concern the required properties of the software to be developed, the qualification, experience of the development team and environment of the software development. It assumes that the need of system and software have already been defined and these requirements are stable and in organized manner. This is often not the accurate case.
There are also some disadvantages that needs to be focused, this model is suffer from various difficulties in estimating the cost of software developed in contrast with new life cycle processes and capabilities, including reuse driven approaches, rapid development process model, object oriented approaches and software process maturity initiative.[7][1]
Putnam model:-
This model is popular method in software cost estimation process. The drawback in this tool is that it is based on knowing some value, the size in terms of line of code of the software to be developed. But there could be great uncertainty in the software size that should not be ignored.
In each major milestone should do continually re-estimate cost and to compare targets against actual expenses for getting required result. Iteration tool is used to improve estimation of quality at every estimation point.
In case of expert judgement method or analogy method these should be used for known projects and projects parts if the similarities of them through comparison can be obtained, since it is fast, and under these circumstances are reliable. The use of algorithmic model is suitable for large and lesser known projects. [8][6]
Analyze the Requirements:-
In these days a common estimating activity is by analyzing 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. 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][4]
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 modelss. 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. There are large numbers of interrelated factors that influence software development process and large number of project attributes. Continuously evolving development environment.[1][9]
Don’t depend on a single cost or schedule estimate because there are various factors that are not dependable.
Needs to focus on various estimation techniques, compare the resultant value and tries to find out reasons behind large variation for getting better solution.
Assumptions have to be properly documented when making the estimates.
Suitable and effective software should be used that provide will provide results in the form of increased accuracy.
A historical database should be maintained. [1]

Warning! This essay is not original. Get 100% unique essay within 45 seconds!


We can write your paper just for 11.99$

i want to copy...

This essay has been submitted by a student and contain not unique content

People also read